public void sendMoveThreadToTopToAll(ThreadInfo t)
 {
     byte[] message = ServerMessages.MoveToTopThreadMessage(controller, t);
     foreach (User u in controller.usersViewing)
     {
         u.sendBinary(message);
     }
 }
Esempio n. 2
0
        public static byte[] MoveToTopThreadMessage(SectionController controller, ThreadInfo thread)
        {
            var message = new MessageWriter();

            message.AddUint8((byte)Controller.Section);
            message.AddUint8((byte)SectionMsg.MoveThreadToTop);
            message.AddString(controller.name);
            message.AddUint32((uint)thread.id);
            return(message.ToBuffer());
        }
Esempio n. 3
0
        public static byte[] AddThreadMessage(SectionController controller, ThreadInfo thread)
        {
            var message = new MessageWriter();

            message.AddUint8((byte)Controller.Section);
            message.AddUint8((byte)SectionMsg.AddThread);
            message.AddString(controller.name);
            message.AddBinary(thread.toBinary());
            return(message.ToBuffer());
        }
Esempio n. 4
0
        public static byte[] UpdateThreadMessage(SectionController controller, ThreadInfo thread)
        {
            var message = new MessageWriter();

            message.AddUint8((byte)Controller.Section);
            message.AddUint8((byte)SectionMsg.UpdateThread);
            message.AddString(controller.name);
            message.AddUint32((uint)thread.id);
            message.AddString(thread.title);
            message.AddString(thread.description);
            return(message.ToBuffer());
        }
        //Thread actions
        public void addThread(User p, String title, String description)
        {
            ThreadInfo t = new ThreadInfo(p.account.name, threadIDs++, title, description, p.account.avatarURL);

            threads.Add(t);
            controller.messageSender.sendAddThreadToAll(t);

            //Send a message to the All Controller
            //controller.server.allSection.threadController.addThread(controller.name, t.id, t.title, t.comments.length, t.owner);

            moveThreadToTop(t.id);
        }
        public void moveThreadToTop(int id)
        {
            ThreadInfo t = getThreadForID(id);

            if (t != null)
            {
                threads.Remove(t);
                threads.Insert(0, t);
                controller.messageSender.sendMoveThreadToTopToAll(t);
                //Send a message to the All Controller
                //controller.server.allSection.threadController.moveThreadToTop(controller.name, t.id);
            }
        }
Esempio n. 7
0
        public Dictionary <string, object> getDataMap()
        {
            Dictionary <string, object> m = new Dictionary <string, object>();

            m["threadIDs"] = controller.threadController.threadIDs;
            List <Dictionary <string, object> > threads = new List <Dictionary <string, object> >();

            for (int i = 0; i < controller.threadController.threads.Count; i++)
            {
                ThreadInfo t = controller.threadController.threads[i];
                threads.Add(t.toMap());
            }
            m["threads"] = threads;
            return(m);
        }
Esempio n. 8
0
        public static byte[] AllThreadsMessage(SectionController controller)
        {
            var message = new MessageWriter();

            message.AddUint8((byte)Controller.Section);
            message.AddUint8((byte)SectionMsg.AllThreads);
            message.AddString(controller.name);
            message.AddUint32((uint)controller.threadController.threads.Count);
            for (int i = 0; i < controller.threadController.threads.Count; i++)
            {
                ThreadInfo t = controller.threadController.threads[i];
                message.AddBinary(t.toBinary());
            }
            return(message.ToBuffer());
        }
        public void deleteThread(User p, int threadID)
        {
            ThreadInfo t = getThreadForID(threadID);

            if (t != null)
            {
                if (t.owner == p.account.name)
                {
                    threads.Remove(t);
                    controller.messageSender.sendRemoveThreadToAll(t);
                    //Send a message to the All Controller
                    //controller.server.allSection.threadController.deleteThread(controller.name, t.id);
                }
            }
        }
        public void addComment(User u, int threadID, String text)
        {
            ThreadInfo t = getThreadForID(threadID);

            if (t != null)
            {
                CommentInfo c = new CommentInfo(t.id, t.commentIDs++, text, u.account.name, u.account.avatarURL);
                t.comments.Add(c);
                controller.messageSender.sendAddCommentToAll(c);

                //Send a message to the All Controller
                //controller.server.allSection.threadController.updateCommentCount(controller.name, t.id, t.comments.length);

                moveThreadToTop(threadID);
            }
        }
        public void editThread(User p, int id, String title, String description)
        {
            ThreadInfo t = getThreadForID(id);

            if (t != null)
            {
                if (t.owner == p.account.name)
                {
                    t.title       = title;
                    t.description = description;
                    controller.messageSender.sendUpdateThreadToAll(t);
                    //Send a message to the All Controller
                    //controller.server.allSection.threadController.editThread(controller.name, t.id, t.title);
                }
            }
        }
        public void editComment(User p, int threadID, int commentID, String description)
        {
            ThreadInfo t = getThreadForID(threadID);

            if (t != null)
            {
                CommentInfo c = t.getCommentForID(commentID);
                if (c != null)
                {
                    if (p.account.name == c.owner)
                    {
                        c.comment = description;
                        controller.messageSender.sendUpdateCommentToAll(c);
                    }
                }
            }
        }
        public void deleteComment(User p, int threadID, int commentID)
        {
            ThreadInfo t = getThreadForID(threadID);

            if (t != null)
            {
                CommentInfo c = t.getCommentForID(commentID);
                if (c != null)
                {
                    if (p.account.name == c.owner)
                    {
                        t.comments.Remove(c);
                        controller.messageSender.sendDeleteCommentToAll(c);

                        //Send a message to the All Controller
                        //controller.server.allSection.threadController.updateCommentCount(controller.name, t.id, t.comments.length);
                    }
                }
            }
        }