public JsonResponse UpdateItemBlog([FromBody] JsonRequest model) { try { UpdateView up = model?.Data?.ToString().DeserializeObject <UpdateView>(); if (up == null || up.Update == null || string.IsNullOrEmpty(up.Num)) { return(new JsonResponse { Code = 1, Msg = "参数不合法" }); } var opt = new OpertionUser(); var content = up.Update[nameof(Blogcontent.Content)].ToString(); var infodic = AddBaseInfo <Bloginfo>(up.Update, model.Token, false, ref opt); var dicwhere = new Dictionary <string, object>() { { nameof(Bloginfo.BlogNum), up.Num } }; var dicwhere2 = new Dictionary <string, object>() { { nameof(Blogcontent.BloginfoNum), up.Num } }; var res1 = BlogHelper.UpdateByWhere_Bloginfo(infodic, dicwhere, opt); var res2 = BlogHelper.UpdateByWhere_Blogcontent(infodic, dicwhere2, opt); if (!res1.IsSucceed || !res2.IsSucceed) { return(new JsonResponse { Code = 1, Msg = $"编辑失败{res1.SerializeObject()};{res2.SerializeObject()}" }); } Task.Run(() => { CacheHelper.DelCacheItem(ConfigUtil.BlogListCacheKey); CacheHelper.DelCacheItem($"{ConfigUtil.BlogItemCacheKeyPrefix}{up.Num}"); }); return(FastResponse("", model.Token, 0, 0, "编辑成功")); } catch (Exception ex) { LogHelper.WriteLog(ex, "AdminBlogController/UpdateItemBlog"); return(new JsonResponse { Code = 1, Msg = "程序视乎开小差" + ex.Message }); } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { //Do nothing rptPostArchive.StopProcessing = true; } else { rptPostArchive.ControlContext = ControlContext; // Get current page info PageInfo currentPage = CMSContext.CurrentPageInfo; // Select only publish is depend on view mode bool selectOnlyPublished = (PageManager.ViewMode == ViewModeEnum.LiveSite); TreeNode blogNode = null; // Try to get data from cache using (CachedSection <TreeNode> cs = new CachedSection <TreeNode>(ref blogNode, this.CacheMinutes, true, this.CacheItemName, "postarchivenode", currentPage.NodeAliasPath, CMSContext.CurrentSiteName, selectOnlyPublished)) { if (cs.LoadData) { blogNode = BlogHelper.GetParentBlog(currentPage.NodeAliasPath, CMSContext.CurrentSiteName, selectOnlyPublished); // Save to cache if (cs.Cached) { cs.CacheDependency = GetCacheDependency(); cs.Data = blogNode; } } } // Set repeater path in accordance to blog node alias path if (blogNode != null) { rptPostArchive.Path = blogNode.NodeAliasPath + "/%"; } // Set repeater properties rptPostArchive.TransformationName = TransformationName; rptPostArchive.SelectTopN = SelectTopN; rptPostArchive.HideControlForZeroRows = HideControlForZeroRows; rptPostArchive.ZeroRowsText = ZeroRowsText; rptPostArchive.CacheItemName = CacheItemName; rptPostArchive.CacheDependencies = CacheDependencies; rptPostArchive.CacheMinutes = CacheMinutes; } }
/// <summary> /// /// </summary> /// <param name="token">The token.</param> /// <returns></returns> public static SysLoginUser Memberinfo(string token) { try { var type = token.Substring(31, 1).Toint(); var sysuser = BlogHelper.GetSysLoginUserByToken(token); return(sysuser); } catch (Exception ex) { LogHelper.WriteLog(ex, "UtilConst/Memberinfo"); return(null); } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { commentView.StopProcessing = true; commentView.BlogProperties.StopProcessing = true; } else { commentView.ControlContext = ControlContext; // Get current page info PageInfo currentPage = DocumentContext.CurrentPageInfo; bool selectOnlyPublished = (PageManager.ViewMode.IsLiveSite()); // Get current document commentView.PostNode = DocumentContext.CurrentDocument; // Get current parent blog TreeNode blogNode = BlogHelper.GetParentBlog(currentPage.NodeAliasPath, SiteContext.CurrentSiteName, selectOnlyPublished); // If blog node exists, set comment view properties if (blogNode != null) { commentView.BlogProperties.AllowAnonymousComments = ValidationHelper.GetBoolean(blogNode.GetValue("BlogAllowAnonymousComments"), true); commentView.BlogProperties.ModerateComments = ValidationHelper.GetBoolean(blogNode.GetValue("BlogModerateComments"), false); commentView.BlogProperties.OpenCommentsFor = ValidationHelper.GetInteger(blogNode.GetValue("BlogOpenCommentsFor"), BlogProperties.OPEN_COMMENTS_ALWAYS); commentView.BlogProperties.SendCommentsToEmail = ValidationHelper.GetString(blogNode.GetValue("BlogSendCommentsToEmail"), ""); commentView.BlogProperties.UseCaptcha = ValidationHelper.GetBoolean(blogNode.GetValue("BlogUseCAPTCHAForComments"), true); commentView.BlogProperties.RequireEmails = ValidationHelper.GetBoolean(blogNode.GetValue("BlogRequireEmails"), false); commentView.BlogProperties.EnableSubscriptions = ValidationHelper.GetBoolean(blogNode.GetValue("BlogEnableSubscriptions"), false); commentView.BlogProperties.CheckPermissions = CheckPermissions; commentView.BlogProperties.ShowDeleteButton = ShowDeleteButton; commentView.BlogProperties.ShowEditButton = ShowEditButton; commentView.BlogProperties.EnableUserPictures = EnableUserPictures; commentView.BlogProperties.UserPictureMaxHeight = UserPictureMaxHeight; commentView.BlogProperties.UserPictureMaxWidth = UserPictureMaxWidth; commentView.BlogProperties.EnableTrackbacks = ValidationHelper.GetBoolean(blogNode.GetValue("BlogEnableTrackbacks"), true); commentView.Separator = CommentSeparator; commentView.ReloadPageAfterAction = true; commentView.AbuseReportOwnerID = blogNode.NodeOwner; commentView.AbuseReportRoles = AbuseReportRoles; commentView.AbuseReportSecurityAccess = AbuseReportAccess; commentView.DisplayTrackbacks = DisplayTrackbacks; commentView.TrackbackURLSize = TrackbackURLSize; } } }
protected override void OnInit(EventArgs e) { base.OnInit(e); currentSite = CMSContext.CurrentSite; currentUser = CMSContext.CurrentUser; bool manageBlogs = false; // Check 'Manage' permission if (currentUser.IsAuthorizedPerResource("cms.blog", "Manage")) { manageBlogs = true; } string where = "(NodeSiteID = " + currentSite.SiteID + ")"; if (!((currentUser.IsGlobalAdministrator) || (manageBlogs))) { where += " AND " + BlogHelper.GetBlogsWhere(currentUser.UserID, currentUser.UserName, null); } this.uniSelector.DisplayNameFormat = "{%BlogName%}"; this.uniSelector.SelectionMode = SelectionModeEnum.SingleDropDownList; this.uniSelector.WhereCondition = where; this.uniSelector.ReturnColumnName = "BlogID"; this.uniSelector.ObjectType = "cms.blog"; this.uniSelector.ResourcePrefix = "unisiteselector"; this.uniSelector.AllowEmpty = false; this.uniSelector.AllowAll = false; if (this.DisplayAllRecord) { this.uniSelector.SpecialFields = new string[, ] { { GetString("general.selectall"), "##ALL##" }, { GetString("myblogs.comments.selectmyblogs"), "##MYBLOGS##" } }; } else { this.uniSelector.SpecialFields = new string[, ] { { GetString("myblogs.comments.selectmyblogs"), "##MYBLOGS##" } }; } if (IsInMydesk && !RequestHelper.IsPostBack()) { uniSelector.Value = "##MYBLOGS##"; } }
public JsonResponse GetAllMenuDataList([FromBody]JsonRequest model) { try { var user = UserInfoUtil.UserInfo(model.Token); List<Sysmenu> data = BlogHelper.GetListByuserid_Sysmenu(user.Model.KID); return FastJson(data, model.Token); } catch (Exception ex) { LogHelper.WriteLog(ex, "/Menu/GetAllMenuDataList"); return new JsonResponse() { Code = 1, Msg = $"请求失败:{ex.Message}" }; } }
public ActionResult CommentReply([FromBody] AddCommentReplyRequest request) { if (string.IsNullOrWhiteSpace(BlogHelper.removeAllTags(request.Content))) { return(BadRequest(new { error = "内容不能为空或纯图片。" })); } var reply = _blogUtil.AddPostReply(request.CommentId, User.Identity.Name, _sanitizerService.Sanitize(request.Content)); TriggerAddReply(reply); string expmsg = HttpContext.Items["QuestMsg"] as string; return(Json(new AddReplyResponse { CommentId = reply.PostId, ReplyId = reply.ReplyId, Message = expmsg })); }
public ActionResult Create(Post post) { if (ModelState.IsValid) { post.Url = BlogHelper.GenerateSlug(post.Title); //post.Author = post.Author; //User.Identity.Name; post.Date = DateTime.Now; postService.Create(post); return(RedirectToAction("Index")); } return(View()); }
public async Task <IActionResult> ConfirmDelete(int?id) { if (id != null) { Commentary commentary = await _database.Commentaries.Include(c => c.BlogArticle).FirstOrDefaultAsync(c => c.Id == id); if (commentary != null) { if (BlogHelper.VerifyAuther(commentary?.Username, User)) { return(View(commentary)); } } } return(NotFound()); }
public IActionResult Create(int?id) //BlogId { if (id != null) { Blog blog = _database.Blogs.Include(b => b.User).FirstOrDefault(b => b.Id == id); if (blog != null) { if (BlogHelper.VerifyAuther(blog?.User?.Login, User)) { ViewBag.BlogId = id; return(View()); } } } return(NotFound()); }
public async Task <IActionResult> Edit(int?id) { if (id != null) { Blog blog = await _database.Blogs.Include(b => b.User).FirstOrDefaultAsync(b => b.Id == id); if (blog != null) { if (BlogHelper.VerifyOperation(blog?.User?.Login, User, DataOperation.Edit)) { return(View(blog)); } } } return(NotFound()); }
/// <summary> /// Logs registration activity. /// </summary> /// <param name="bpsi">Blog subscription info</param> /// <param name="nodeId">Docuemnt node ID</param> /// <param name="culture">Document culture</param> private void LogRegistrationActivity(BlogPostSubscriptionInfo bpsi, int nodeId, string culture) { if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bpsi == null) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser)) { return; } string siteName = CMSContext.CurrentSiteName; if (!ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.BlogPostSubscriptionEnabled(siteName)) { return; } if (bpsi.SubscriptionPostDocumentID > 0) { TreeProvider tree = new TreeProvider(); TreeNode blogPost = DocumentHelper.GetDocument(bpsi.SubscriptionPostDocumentID, tree); if ((blogPost != null) && ValidationHelper.GetBoolean(blogPost.GetValue("BlogLogActivity"), false)) { string blogName = null; TreeNode blogNode = BlogHelper.GetParentBlog(bpsi.SubscriptionPostDocumentID, false); if (blogNode != null) { blogName = blogNode.DocumentName; } // Update contact info according to subscribtion var data = new ActivityData() { ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(), SiteID = CMSContext.CurrentSiteID, Type = PredefinedActivityType.SUBSCRIPTION_BLOG_POST, ItemDetailID = (blogNode != null ? blogNode.NodeID : 0), TitleData = bpsi.SubscriptionEmail, URL = URLHelper.CurrentRelativePath, NodeID = nodeId, Value = TextHelper.LimitLength(blogName, 250), Culture = culture, Campaign = CMSContext.Campaign }; ActivityLogProvider.LogActivity(data); } } }
protected override void OnInit(EventArgs e) { base.OnInit(e); currentSite = SiteContext.CurrentSite; currentUser = MembershipContext.AuthenticatedUser; // Check 'Manage' permission var manageBlogs = currentUser.IsAuthorizedPerResource("cms.blog", "Manage"); // There is no sense to display (ALL) in blogs DDL when // user does not have manage blogs permission if (!manageBlogs) { DisplayAllRecord = false; } var condition = new WhereCondition().WhereEquals("NodeSiteID", currentSite.SiteID); if (!currentUser.IsGlobalAdministrator && !manageBlogs) { condition.Where(BlogHelper.GetBlogsWhere(currentUser.UserID, currentUser.UserName, null)); } // Culture priority column to handle duplicities var culturePriority = new RowNumberColumn("CulturePriority", "BlogID"); culturePriority.PartitionBy = "NodeID"; // Init Blog selector uniSelector.DisplayNameFormat = "{%BlogName%}"; uniSelector.SelectionMode = SelectionModeEnum.SingleDropDownList; uniSelector.WhereCondition = condition.ToString(true); uniSelector.ReturnColumnName = "BlogID"; uniSelector.AdditionalColumns = culturePriority.ToString(); uniSelector.ObjectType = "cms.blog"; uniSelector.ResourcePrefix = "unisiteselector"; uniSelector.AllowEmpty = false; uniSelector.AllowAll = false; uniSelector.OnAfterRetrieveData += uniSelector_OnAfterRetrieveData; // Preselect my blogs if (IsInMydesk && !RequestHelper.IsPostBack()) { uniSelector.Value = "##MYBLOGS##"; } }
public JsonResult Delete(int roleid) { var result = new Result(); if (roleid <= 0) { result.IsSucceed = false; result.Message = "参数错误"; return(MyJson(result)); } result = BlogHelper.DeleteByWhere_Sysrole(new Dictionary <string, object>() { { nameof(Sysrole.KID), roleid } }, new Service.Models.View.OpertionUser()); return(MyJson(result)); }
/// <summary> /// Logs activity. /// </summary> /// <param name="bci">Blog comment info</param> /// <param name="nodeId">Document node ID</param> /// <param name="culture">Document culture</param> private void LogCommentActivity(BlogCommentInfo bci, int nodeId, string culture) { TreeNode blogPost = DocumentHelper.GetDocument(bci.CommentPostDocumentID, new TreeProvider()); TreeNode blogNode = BlogHelper.GetParentBlog(bci.CommentPostDocumentID, false); string blogName = (blogNode != null) ? blogNode.GetDocumentName() : null; var blogComment = new ActivityBlogComment(bci, blogPost, AnalyticsContext.ActivityEnvironmentVariables); if (blogComment.Data != null) { blogComment.Data.TitleData = blogName; blogComment.Data.ItemDetailID = (blogNode != null ? blogNode.NodeID : 0); blogComment.Data.NodeID = nodeId; blogComment.Data.Culture = culture; blogComment.Log(); } }
public JsonResult Delect(int kid) { var res = new Result() { IsSucceed = false }; if (kid <= 0) { res.Message = "参数错误"; return(MyJson(res)); } res = BlogHelper.DeleteByWhere_Employee(new Dictionary <string, object>() { { nameof(Employee.KID), kid } }, new Service.Models.View.OpertionUser()); return(MyJson(res)); }
protected DataSet gridBlogs_OnDataReload(string completeWhere, string currentOrder, int currentTopN, string columns, int currentOffset, int currentPageSize, ref int totalRecords) { totalRecords = -1; if (drpBlogs.SelectedValue == "##MYBLOGS##") { // Get owned blogs return(BlogHelper.GetBlogs(SiteContext.CurrentSiteName, currentUser.UserID, null, columns, completeWhere)); } if ((currentUser.CheckPrivilegeLevel(UserPrivilegeLevelEnum.Admin)) || (readBlogs)) { // Get all blogs return(BlogHelper.GetBlogs(SiteContext.CurrentSiteName, 0, null, columns, completeWhere)); } // Get owned or managed blogs return(BlogHelper.GetBlogs(SiteContext.CurrentSiteName, currentUser.UserID, currentUser.UserName, columns, completeWhere)); }
public JsonResponse GetItemMenuByKid([FromBody]JsonRequest model) { try { UpdateView ret = model.Data.ToString().DeserializeObject<UpdateView>(); if (ret.KID <= 0) { return FastJson("", model.Token, 1, "kid不能为空"); } Sysmenu data = BlogHelper.GetModelByKID_Sysmenu(ret.KID); return FastJson(data, model.Token); } catch (Exception ex) { LogHelper.WriteLog(ex, "/Menu/GetItemMenuByKid"); return new JsonResponse() { Code = 1, Msg = $"请求失败:{ex.Message}" }; } }
/// <summary> /// Deletes blog post. Called when the "Delete post" button is pressed. /// Expects the CreateBlogPost method to be run first. /// </summary> private bool DeleteBlogPost() { TreeProvider tree = new TreeProvider(CMSContext.CurrentUser); DataSet posts = BlogHelper.GetBlogPosts(CMSContext.CurrentSiteName, "/MyNewBlog", null, true, null, null, true); if (!DataHelper.DataSourceIsEmpty(posts)) { // Create object from DataRow TreeNode deleteNode = TreeNode.New(posts.Tables[0].Rows[0], "cms.blogpost", tree); // Delete the blog post DocumentHelper.DeleteDocument(deleteNode, tree, true, true, true); return true; } return false; }
public JsonResponse AddItemBlog([FromBody] JsonRequest model) { try { UpdateView up = model?.Data?.ToString().DeserializeObject <UpdateView>(); if (up == null || up.Update == null) { return(new JsonResponse { Code = 1, Msg = "参数不合法" }); } var opt = new OpertionUser(); var content = up.Update[nameof(Blogcontent.Content)].ToString(); var blognum = Guid.NewGuid().ToString().Replace("-", ""); var infodic = AddBaseInfo <Bloginfo>(up.Update, model.Token, true, ref opt); infodic.Add(nameof(Bloginfo.BlogNum), blognum); //var contdic = AddBaseInfo<Blogcontent>(updic, model.Token, true, ref opt); infodic.Add(nameof(Blogcontent.BloginfoNum), blognum); var res1 = BlogHelper.Add_Bloginfo(infodic, opt); //var res2 = BlogHelper.Add_Blogcontent(infodic, opt); if (!res1.IsSucceed) { return(new JsonResponse { Code = 1, Msg = $"添加失败{res1.SerializeObject()};" }); } Task.Run(() => { CacheHelper.DelCacheItem(ConfigUtil.BlogListCacheKey); CacheHelper.DelCacheItem($"{ConfigUtil.BlogItemCacheKeyPrefix}{up.Num}"); }); return(FastResponse("", model.Token, 0, 0, "添加成功")); } catch (Exception ex) { LogHelper.WriteLog(ex, "AdminBlogController/AddItemBlog"); return(new JsonResponse { Code = 1, Msg = "程序视乎开小差" + ex.Message }); } }
public static SysLoginUser GetSysLoginUser() { string token = ""; token = HttpContext.Current.Request.Params?[WebUtil.Tokenkey]?.ToString(); if (string.IsNullOrEmpty(token)) { token = HttpContext.Current.Request.Cookies?[WebUtil.Tokenkey].Value?.ToString(); } if (string.IsNullOrEmpty(token)) { return(new SysLoginUser { IsSucceed = false }); } var sys = BlogHelper.GetSysLoginUserByToken(token); return(sys); }
public JsonResult Login(LoginView model) { if (model == null || string.IsNullOrWhiteSpace(model.UserAccount) || string.IsNullOrWhiteSpace(model.Password)) { return(MyJson(new JsonResponse("", 1, "数据不合法"))); } var srcip = System.Web.HttpContext.Current?.Request?.UserHostAddress; var agent = System.Web.HttpContext.Current?.Request?.UserAgent; var dns = System.Web.HttpContext.Current?.Request?.UserHostName; var res = BlogHelper.EmployeePasswordLogin(model.UserAccount, model.Password, srcip, agent, dns); if (res.IsSucceed) { //WebUtil.WriteCookie(WebUtil.Userinfokey, res.SerializeObject(), DateTime.Parse(res.TokenExpiration)); WebUtil.WriteCookie(WebUtil.Tokenkey, res.Token, DateTime.Parse(res.TokenExpiration)); return(MyJson(new JsonResponse(res, 0, "登录成功"))); } return(MyJson(new JsonResponse("", 1, "登录失败"))); }
public async Task <IActionResult> ConfirmDelete(int?id) { if (id != null) { BlogArticle blogArticle = await _database.BlogArticles. Include(b => b.Blog). ThenInclude(b => b.User). FirstOrDefaultAsync(b => b.Id == id); if (blogArticle != null) { if (BlogHelper.VerifyOperation(blogArticle?.Blog?.User?.Login, User, DataOperation.Delete)) { return(View(blogArticle)); } } } return(NotFound()); }
public JsonResult StartOrClose(int kid, int states) { var res = new Result(); var emp = EmployeeInfo.Model; res = BlogHelper.UpdateByWhere_Employee(new Dictionary <string, object>() { { nameof(Employee.UpdateTime), DateTime.Now }, { nameof(Employee.CreateUserId), emp.KID }, { nameof(Employee.CreateUserName), emp.UserName }, { nameof(Employee.States), states } }, new Dictionary <string, object>() { { nameof(Employee.KID), kid } }, new Service.Models.View.OpertionUser()); return(MyJson(res)); }
private void LoadList(MicroBlogType listType, bool refresh, string searchTerm) { string fileName = null; ObservableCollection <BlogItemModel> parentList = null; switch (listType) { case MicroBlogType.TechNets: fileName = Constants.TechNetBlogFileName; parentList = TechNetBlogs; break; } if (String.IsNullOrEmpty(fileName)) { return; } // If a cached file exists, bind it first then go update unless we are refreshing if (!refresh) { var itemList = BaseHelper.LoadSetting <List <BlogItemModel> >(fileName); if (itemList != null) { BindList(parentList, itemList); } } var BlogHelper = new BlogHelper(); BlogHelper.LoadList(listType, (parentList != null && parentList.Count > 0) ? parentList[0].BlogId : 0, searchTerm); BlogHelper.LoadedCompleteEvent += (sender, e) => { CheckCount(); var list = BaseHelper.LoadSetting <List <BlogItemModel> >(fileName); if (list == null) { //BaseHelper.ShowMessage("网络连接不稳定,请检查网络信号."); return; } Deployment.Current.Dispatcher.BeginInvoke(() => BindList(parentList, list)); }; }
public ActionResult Index(string categorytype) { var list = new List <Bloginfo>(); var where = new Dictionary <string, object>(); if (!string.IsNullOrEmpty(categorytype)) { ViewBag.categorytype = categorytype; where.Add(nameof(Bloginfo.Type), categorytype); } where.Add(nameof(Bloginfo.IsDeleted), 0); where.Add(nameof(Bloginfo.States), 0); var jresult = BlogHelper.GetJsonListPage_Bloginfo(1, 15, "", where); if (jresult != null && jresult.code.Toint() == 0) { list = jresult.data; } return(View(list)); }
/// <summary> /// Reloads comment list. /// </summary> public void ReloadComments() { SetContext(); pnlComment.Visible = AreCommentsOpened; if (PostNode != null) { var currentUser = MembershipContext.AuthenticatedUser; // Check permissions for blog if (BlogProperties.CheckPermissions) { if (currentUser.IsAuthorizedPerDocument(PostNode, NodePermissionsEnum.Read) != AuthorizationResultEnum.Allowed) { Visible = false; return; } } ctrlCommentEdit.PostDocumentId = PostNode.DocumentID; ctrlCommentEdit.PostNodeId = PostNode.NodeID; ctrlCommentEdit.PostCulture = PostNode.DocumentCulture; if (!BlogProperties.StopProcessing) { // Get parent blog bool selectOnlyPublished = PortalContext.ViewMode.IsLiveSite(); TreeNode blogNode = BlogHelper.GetParentBlog(AliasPath, SiteName, selectOnlyPublished); // Determine whether user is authorized to manage comments isUserAuthorized = BlogHelper.IsUserAuthorizedToManageComments(blogNode); // Get all post comments rptComments.DataSource = BlogCommentInfoProvider.GetPostComments(PostNode.DocumentID, !isUserAuthorized, isUserAuthorized); rptComments.DataBind(); } } ReleaseContext(); }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do nothing rptRecentPosts.StopProcessing = true; } else { rptRecentPosts.ControlContext = ControlContext; // Get current page info PageInfo currentPage = DocumentContext.CurrentPageInfo; // If recent posts is empty if (PathToRecentPosts == "") { // Get current parent blog TreeNode blogNode = BlogHelper.GetParentBlog(currentPage.NodeAliasPath, SiteContext.CurrentSiteName, false); // Set repeater path in accordance to blog node alias path if (blogNode != null) { rptRecentPosts.Path = blogNode.NodeAliasPath + "/%"; } } // If recent posts not empty else { rptRecentPosts.Path = PathToRecentPosts; } // Set repeater properties rptRecentPosts.TransformationName = TransformationName; rptRecentPosts.SelectTopN = SelectTopN; rptRecentPosts.HideControlForZeroRows = HideControlForZeroRows; rptRecentPosts.ZeroRowsText = ZeroRowsText; rptRecentPosts.CacheDependencies = CacheDependencies; rptRecentPosts.SiteName = SiteName; } }
protected void Page_Load(object sender, EventArgs e) { commentId = QueryHelper.GetInteger("commentID", 0); // Get comment info BlogCommentInfo commentObj = BlogCommentInfoProvider.GetBlogCommentInfo(commentId); EditedObject = commentObj; if (commentObj != null) { // Get parent blog TreeNode blogNode = BlogHelper.GetParentBlog(commentObj.CommentPostDocumentID, false); // Check site ID of edited blog if ((blogNode != null) && (blogNode.NodeSiteID != CMSContext.CurrentSiteID)) { EditedObject = null; } bool isAuthorized = BlogHelper.IsUserAuthorizedToManageComments(blogNode); // Check "manage" permission if (!isAuthorized) { RedirectToAccessDenied("cms.blog", "Manage"); } ctrlCommentEdit.CommentId = commentId; } btnOk.Click += btnOk_Click; btnOk.Text = GetString("General.OK"); btnOk.ValidationGroup = ctrlCommentEdit.ValidationGroup; ctrlCommentEdit.IsLiveSite = false; ctrlCommentEdit.OnAfterCommentSaved += new OnAfterCommentSavedEventHandler(ctrlCommentEdit_OnAfterCommentSaved); CurrentMaster.Title.TitleText = GetString("Blog.CommentEdit.Title"); CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Blog_Comment/object.png"); }
/// <summary> /// Reloads comment list. /// </summary> public void ReloadComments() { this.SetContext(); this.pnlComment.Visible = this.AreCommentsOpened; if (this.PostNode != null) { CurrentUserInfo currentUser = CMSContext.CurrentUser; // Check permissions for blog if (this.BlogProperties.CheckPermissions) { if (currentUser.IsAuthorizedPerDocument(this.PostNode, NodePermissionsEnum.Read) != AuthorizationResultEnum.Allowed) { this.Visible = false; return; } } ctrlCommentEdit.PostDocumentId = this.PostNode.DocumentID; ctrlCommentEdit.PostNodeId = this.PostNode.NodeID; ctrlCommentEdit.PostCulture = this.PostNode.DocumentCulture; if (!this.BlogProperties.StopProcessing) { // Get parent blog bool selectOnlyPublished = (CMSContext.ViewMode == ViewModeEnum.LiveSite); TreeNode blogNode = BlogHelper.GetParentBlog(this.AliasPath, this.SiteName, selectOnlyPublished); // Determine whether user is authorized to manage comments isUserAuthorized = BlogHelper.IsUserAuthorizedToManageComments(blogNode); // Get all post comments rptComments.DataSource = BlogCommentInfoProvider.GetPostComments(this.PostNode.DocumentID, !isUserAuthorized, isUserAuthorized, DisplayTrackbacks); rptComments.DataBind(); } } this.ReleaseContext(); }