// POST /api/forummod public ModerationResult Post(ModerationRequest modReq) { //log.Info("cmd = " + modReq.Cmd); //log.Info("pageId = " + modReq.PageId.ToInvariantString()); //log.Info("moduleId = " + modReq.ModuleId.ToInvariantString()); //log.Info("pageNumber = " + modReq.PageNumber.ToInvariantString()); //log.Info("threadId = " + modReq.ThreadId.ToInvariantString()); //log.Info("postId = " + modReq.PostId.ToInvariantString()); ModerationResult result = new ModerationResult(); result.Msg = "rejected"; if (IsAllowed(modReq)) { switch (modReq.Cmd) { case "sendnotification": bool notifyModeratorOnly = false; ForumNotification.NotifySubscribers( forum, thread, module, postUser, siteSettings, config, SiteUtils.GetNavigationSiteRoot(), modReq.PageId, modReq.PageNumber, SiteUtils.GetDefaultCulture(), ForumConfiguration.GetSmtpSettings(), notifyModeratorOnly ); thread.NotificationSent = true; thread.UpdatePost(); result.Msg = "success"; break; case "marksent": thread.NotificationSent = true; thread.UpdatePost(); //System.Threading.Thread.Sleep(7000); result.Msg = "success"; break; } } return(result); }
// POST /api/forummod public ModerationResult Post(ModerationRequest modReq) { //log.Info("cmd = " + modReq.Cmd); //log.Info("pageId = " + modReq.PageId.ToInvariantString()); //log.Info("moduleId = " + modReq.ModuleId.ToInvariantString()); //log.Info("pageNumber = " + modReq.PageNumber.ToInvariantString()); //log.Info("threadId = " + modReq.ThreadId.ToInvariantString()); //log.Info("postId = " + modReq.PostId.ToInvariantString()); ModerationResult result = new ModerationResult(); result.Msg = "rejected"; if (IsAllowed(modReq)) { switch(modReq.Cmd) { case "sendnotification": bool notifyModeratorOnly = false; ForumNotification.NotifySubscribers( forum, thread, module, postUser, siteSettings, config, SiteUtils.GetNavigationSiteRoot(), modReq.PageId, modReq.PageNumber, SiteUtils.GetDefaultCulture(), ForumConfiguration.GetSmtpSettings(), notifyModeratorOnly ); thread.NotificationSent = true; thread.UpdatePost(); result.Msg = "success"; break; case "marksent": thread.NotificationSent = true; thread.UpdatePost(); //System.Threading.Thread.Sleep(7000); result.Msg = "success"; break; } } return result; }
private bool IsAllowed(ModerationRequest modReq) { siteSettings = CacheHelper.GetCurrentSiteSettings(); if (siteSettings == null) { //log.Info("SiteSettings was null"); return(false); } currentPage = CacheHelper.GetPage(modReq.PageId); if ( (currentPage.PageId != modReq.PageId) || (currentPage.SiteId != siteSettings.SiteId) ) { log.Info("request rejected - pageid did not match"); return(false); } thread = new ForumThread(modReq.ThreadId, modReq.PostId); if (thread.ModuleId != modReq.ModuleId) { log.Info("thread module id did not match"); return(false); } forum = new Forum(thread.ForumId); module = GetModule(currentPage, thread.ModuleId); if (module == null) { log.Info("module not found in page modules"); return(false); } config = new ForumConfiguration(ModuleSettings.GetModuleSettings(module.ModuleId)); if (thread.PostUserId > -1) { postUser = new SiteUser(siteSettings, thread.PostUserId); } return(UserCanModerate(currentPage, module, forum)); }
private bool IsAllowed(ModerationRequest modReq) { siteSettings = CacheHelper.GetCurrentSiteSettings(); if (siteSettings == null) { //log.Info("SiteSettings was null"); return false; } currentPage = CacheHelper.GetPage(modReq.PageId); if ( (currentPage.PageId != modReq.PageId) || (currentPage.SiteId != siteSettings.SiteId) ) { log.Info("request rejected - pageid did not match"); return false; } thread = new ForumThread(modReq.ThreadId, modReq.PostId); if (thread.ModuleId != modReq.ModuleId) { log.Info("thread module id did not match"); return false; } forum = new Forum(thread.ForumId); module = GetModule(currentPage, thread.ModuleId); if (module == null) { log.Info("module not found in page modules"); return false; } config = new ForumConfiguration(ModuleSettings.GetModuleSettings(module.ModuleId)); if (thread.PostUserId > -1) { postUser = new SiteUser(siteSettings, thread.PostUserId); } return UserCanModerate(currentPage, module, forum); }