public loginStatus login(string forumname, string username, string password) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumname); strList.Add(username); strList.Add(password); serverMessage ans = sendMessage("login", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { switch (ans.intContent.ElementAt(0)) { case 1: return(loginStatus.FALSE); case 2: return(loginStatus.TRUE); case 3: return(loginStatus.UPDATE_PASSWORD); } } return(loginStatus.FALSE); } }
public string addSubForum(string forumName, string subForumName, List <Tuple <string, string, int> > moderators, string requestingUser) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(subForumName); strList.Add(requestingUser); foreach (Tuple <string, string, int> t in moderators) { strList.Add(t.Item1); strList.Add(t.Item2); intList.Add(t.Item3); } serverMessage ans = sendMessage("addSubForum", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return("true"); } if (ans.stringContent.Count > 0) { return(ans.stringContent.ElementAt(0)); } return("error, not successful for unknown reason"); } }
public permission getUserPermissionsForForum(string forumName, string username) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(username); serverMessage ans = sendMessage("getUserPermissionsForForum", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { switch (ans.intContent.ElementAt(0)) { case 1: return(permission.INVALID); case 2: return(permission.GUEST); case 3: return(permission.MEMBER); case 5: return(permission.ADMIN); case 6: return(permission.SUPER_ADMIN); } } return(permission.INVALID); } }
public List <Tuple <string, DateTime, int> > getThreads(string forumName, string subForumName, string requestingUser) { List <string> temp = new List <string>(); temp.Add(forumName); temp.Add(requestingUser); serverMessage ans = new serverMessage(3, temp); return(sendMessage(ans).Threads); }
public List <Tuple <string, string, DateTime, string> > getListOfForumModerators(string forumName, string requestingUser) { lock (syncLock) { List <string> temp = new List <string>(); temp.Add(forumName); temp.Add(requestingUser); serverMessage ans = new serverMessage(2, temp); return(sendMessage(ans).ListOfForumModerators); } }
public List <Tuple <string, string, DateTime, int, int, string, DateTime> > getThread(string forumName, string subForumName, int openPostNo, string requestingUser) { List <string> temp = new List <string>(); temp.Add(forumName); temp.Add(subForumName); temp.Add(requestingUser); serverMessage ans = new serverMessage(temp, openPostNo); return(sendMessage(ans).getThread); }
public List <Tuple <string, string, DateTime, int> > getListOfMemberMessages(string forumName, string memberName, string requestingUser) { lock (syncLock) { List <string> temp = new List <string>(); temp.Add(forumName); temp.Add(memberName); temp.Add(requestingUser); serverMessage ans = new serverMessage(1, temp); return(sendMessage(ans).ListOfMemberMessages); } }
public List <string> getForums() { List <string> strList = new List <string>(); List <int> intList = new List <int>(); serverMessage ans = sendMessage("getForums", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return(ans.stringContent); } return(new List <string>()); }
public int numOfForums(string requestingUser) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(requestingUser); serverMessage ans = sendMessage("numOfForums", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return(ans.intContent.ElementAt(0)); } return(-1); } }
public List <string> ForumsByUser(string req_user, string target_user) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); serverMessage ans = sendMessage("ForumsByUser", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return(ans.stringContent); } return(new List <string>()); } }
public string checkForumPolicy(string forumName, ForumPolicy policy) { lock (syncLock) { serverMessage ans = sendMessage(forumName, policy); if (ans._messageType.Equals(serverMessage.messageType.success)) { return("true"); } if (ans.stringContent.Count > 0) { return(ans.stringContent.ElementAt(0)); } return("error, not successful for unknown reason"); } }
public List <string> getSubForums(string forumName, string requestingUser) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(requestingUser); serverMessage ans = sendMessage("getSubForums", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return(ans.stringContent); } return(new List <string>()); }
public int getNumOfPostsInSubForum(string forumName, string subForumName, string requestingUser) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(subForumName); strList.Add(requestingUser); serverMessage ans = sendMessage("getNumOfPostsInSubForum", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return(ans.intContent.ElementAt(0)); } return(-1); } }
private serverMessage sendMessage(serverMessage message) { int amount_bytes_read = 0; byte[] ba = asen.GetBytes(serializer.Serialize(message)); try { outputStream.Write(ba, 0, ba.Length); } catch (Exception) { return(new serverMessage("error")); } while (true) { try { amount_bytes_read = outputStream.Read(input_buffer, 0, input_buffer.Length); } catch (IOException) { return(new serverMessage("error")); } if (amount_bytes_read != 0) { string str = ""; for (int i = 0; i < amount_bytes_read; i++) { str = str + Convert.ToChar(input_buffer[i]); } serverMessage temp = serializer.Deserialize <serverMessage>(str); return(temp); } else { Console.WriteLine("no message"); } } }
public string addForum(string forumName, string requestingUser) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(requestingUser); serverMessage ans = sendMessage("addForum", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return("true"); } if (ans.stringContent.Count > 0) { return(ans.stringContent.ElementAt(0)); } return("error, not successful for unknown reason"); } }
public string setForumPostDeletionPermissions(string forumName, postDeletionPermission permission, string requestingUser) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(requestingUser); int toAdd = 0; switch (permission) { case postDeletionPermission.WRITER: toAdd = 2; break; case postDeletionPermission.MODERATOR: toAdd = 3; break; case postDeletionPermission.ADMIN: toAdd = 4; break; case postDeletionPermission.SUPER_ADMIN: toAdd = 5; break; } intList.Add(toAdd); serverMessage ans = sendMessage("setForumPostDeletionPermissions", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return("true"); } if (ans.stringContent.Count > 0) { return(ans.stringContent.ElementAt(0)); } return("error, not successful for unknown reason"); } }
public string registerMemberToForum(string forumName, string username, string password, string eMail) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(username); strList.Add(password); strList.Add(eMail); serverMessage ans = sendMessage("registerMemberToForum", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return("true"); } if (ans.stringContent.Count > 0) { return(ans.stringContent.ElementAt(0)); } return("error, not successful for unknown reason"); } }
public string sendPM(string forumName, string from, string to, string msg) { lock (syncLock) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(from); strList.Add(to); strList.Add(msg); serverMessage ans = sendMessage("sendPM", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return("true"); } if (ans.stringContent.Count > 0) { return(ans.stringContent.ElementAt(0)); } return("error, not successful for unknown reason"); } }
public string writePost(string forumName, string subForumName, int parentPostNo, string username, string title, string content) { List <string> strList = new List <string>(); List <int> intList = new List <int>(); strList.Add(forumName); strList.Add(subForumName); strList.Add(username); strList.Add(title); strList.Add(content); intList.Add(parentPostNo); serverMessage ans = sendMessage("writePost", strList, intList, DateTime.Now); if (ans._messageType.Equals(serverMessage.messageType.success)) { return("true"); } if (ans.stringContent.Count > 0) { return(ans.stringContent.ElementAt(0)); } return("error, not successful for unknown reason"); }
public serverMessage sendMessage(string s, List <string> inputStrings, List <int> inputInts, DateTime time) { serverMessage.messageType type = serverMessage.messageType.addForum; switch (s) { case "ForumsByUser": type = serverMessage.messageType.ForumsByUser; break; case "updateLocation": type = serverMessage.messageType.updateLocation; break; case "addForum": type = serverMessage.messageType.addForum; break; case "addSubForum": type = serverMessage.messageType.addSubForum; break; case "registerMemberToForum": type = serverMessage.messageType.registerMemberToForum; break; case "assignAdmin": type = serverMessage.messageType.assignAdmin; break; case "unassignAdmin": type = serverMessage.messageType.unassignAdmin; break; case "assignModerator": type = serverMessage.messageType.assignModerator; break; case "unassignModerator": type = serverMessage.messageType.unassignModerator; break; case "sendPM": type = serverMessage.messageType.sendPM; break; case "setForumMaxAdmins": type = serverMessage.messageType.setForumMaxAdmins; break; case "setForumMinAdmins": type = serverMessage.messageType.setForumMinAdmins; break; case "setForumMaxModerators": type = serverMessage.messageType.setForumMaxModerators; break; case "setForumMinModerators": type = serverMessage.messageType.setForumMinModerators; break; case "setForumPostDeletionPermissions": type = serverMessage.messageType.setForumPostDeletionPermissions; break; case "setForumPasswordLifespan": type = serverMessage.messageType.setForumPasswordLifespan; break; case "setForumModeratorsSeniority": type = serverMessage.messageType.setForumModeratorsSeniority; break; case "setForumModUnassignmentPermissions": type = serverMessage.messageType.setForumModUnassignmentPermissions; break; case "writePost": type = serverMessage.messageType.writePost; break; case "setModeratorTrialTime": type = serverMessage.messageType.setModeratorTrialTime; break; case "deletePost": type = serverMessage.messageType.deletePost; break; case "editPost": type = serverMessage.messageType.editPost; break; case "getNumOfPostsInSubForum": type = serverMessage.messageType.getNumOfPostsInSubForum; break; case "getListOfMemberMessages": type = serverMessage.messageType.getListOfMemberMessages; break; case "numOfForums": type = serverMessage.messageType.numOfForums; break; case "getSubForums": type = serverMessage.messageType.getSubForums; break; case "getThreads": type = serverMessage.messageType.getThreads; break; case "getThread": type = serverMessage.messageType.getThread; break; case "login": type = serverMessage.messageType.login; break; } serverMessage message = new serverMessage(type, inputStrings, inputInts, time); return(sendMessage(message)); }
private serverMessage sendMessage(string forumName, ForumPolicy policy) { serverMessage ans = new serverMessage(serverMessage.messageType.checkForumPolicy, policy, forumName); return(sendMessage(ans)); }