Ejemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // GetSettings getSettings=new GetSettings();
            var settingsValue = getSettings.GetSetting();

            siteKey = settingsValue.SiteKey;
            if (!siteKey.IsNullOrEmpty())
            {
                //recaptchaPanel.Attributes.Add("data-sitekey", siteKey);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Display the comments on page load.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            // GetSettings getSettings=new GetSettings();
            var settingsValue = getSettings.GetSetting();

            siteKey = settingsValue.SiteKey;
            if (!siteKey.IsNullOrEmpty())
            {
                hfSitekey.Value = siteKey;
                //recaptchaPanel.Attributes.Add("data-sitekey", siteKey);
            }
            GetCommonSettings objCommonSettings = new GetCommonSettings();
            var setting = objCommonSettings.GetCommonSetting();

            _resultOnPageLoad        = setting.CommentOnPageLoad;
            _resultPerClick          = setting.CommentOnLoadMore;
            hfGUID.Value             = Sitecore.Context.Item.ID.ToString();
            hfResultsPerClick.Value  = _resultPerClick.ToString();
            hftotalRecords.Value     = _objRepository.Retrieve(_currentItem.ToString(), true, null, null, "Ascending", "00000000-0000-0000-0000-000000000000").Count().ToString();
            hfresultOnPageLoad.Value = _resultOnPageLoad.ToString();
            if (_currentItem.ToString() != "")
            {
                var comments = _objRepository.Retrieve(_currentItem.ToString(), true, null, null, "Ascending", "00000000-0000-0000-0000-000000000000");
                if (comments.Any())
                {
                    rptComments.DataSource = comments.Take(_resultOnPageLoad);
                    rptComments.DataBind();
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Function for update the approve status of comments.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ApproveSelectedComment(object sender, EventArgs e)
        {
            if (Pub.Any())
            {
                foreach (GridViewRow row in GridComments.Rows)
                {
                    // Access the CheckBox
                    CheckBox cb = (CheckBox)row.FindControl("chkPublish");
                    if (cb != null && cb.Checked && !Pub[row.DataItemIndex].Approved)
                    {
                        Pub[row.DataItemIndex].Approved = true;
                        _objRepository.Update(Pub[row.DataItemIndex]);
                        string      userEmail     = Pub[row.DataItemIndex].Email;
                        Database    context       = Sitecore.Context.ContentDatabase;
                        GetSettings getSettings   = new GetSettings();
                        var         settingsValue = getSettings.GetSetting(Result, context);

                        if (settingsValue.UserEmail && !string.IsNullOrEmpty(settingsValue.FromEmail) && !string.IsNullOrEmpty(userEmail) &&
                            !string.IsNullOrEmpty(settingsValue.UserMsgSubject) &&
                            !string.IsNullOrEmpty(settingsValue.UserMsgBody))
                        {
                            Utility.SendMail(settingsValue.FromEmail, userEmail, settingsValue.UserMsgSubject,
                                             settingsValue.UserMsgBody);
                        }
                    }
                    else if (cb != null && !cb.Checked && Pub[row.DataItemIndex].Approved)
                    {
                        Pub[row.DataItemIndex].Approved = false;
                        _objRepository.Update(Pub[row.DataItemIndex]);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public ActionResult NewComment(CommentAttributes commentAttributes)
        {
            // Get item url
            var itmUrl = new UriBuilder(LinkManager.GetItemUrl(Context.Database.GetItem(commentAttributes.BlogPostId), new UrlOptions {
                AlwaysIncludeServerUrl = true
            }));

            BlogpostId = commentAttributes.BlogPostId;
            Recaptcha   recaptcha      = new Recaptcha();
            GetSettings objGetSettings = new GetSettings();
            var         setting        = objGetSettings.GetSetting(BlogpostId);

            commentAttributes.CaptchaResponse = Request["g-recaptcha-response"];
            try
            {
                Comment cmt = new Comment
                {
                    PostId = commentAttributes.BlogPostId,
                    Author = commentAttributes.AuthorName,
                    Email  = commentAttributes.AuthorEmail,
                    Date   = DateTime.Now,
                    Body   = commentAttributes.AuthorComment
                };

                if (setting.SiteKey.IsNullOrEmpty())
                {
                    // Insert comment in comment in mongodb database.
                    _objRepository.Insert(cmt);
                    SendMailToAdmin(BlogpostId);
                    var uri = AddQuery(itmUrl, "status", "success");
                    Response.Redirect(uri.ToString());
                }
                if (!setting.SiteKey.IsNullOrEmpty())
                {
                    if (recaptcha.Validate(commentAttributes.CaptchaResponse, BlogpostId))
                    {
                        // Insert comment in comment in mongodb database.
                        _objRepository.Insert(cmt);
                        SendMailToAdmin(BlogpostId);
                        var uri = AddQuery(itmUrl, "status", "success");
                        Response.Redirect(uri.ToString());
                    }
                    else
                    {
                        Log.Error("Captcha not filled", this);
                        var errorUri = AddQuery(itmUrl, "status", "captchaerror");
                        Response.Redirect(errorUri.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, this);
                var errorUri = AddQuery(itmUrl, "status", "error");
                Response.Redirect(errorUri.ToString());
            }

            return(Json("ok", JsonRequestBehavior.AllowGet));
        }
        public void SendMailToAdmin(string blogpostid)
        {
            GetSettings getSettings   = new GetSettings();
            var         settingsValue = getSettings.GetSetting(blogpostid);

            if (settingsValue.AdminEmail && !string.IsNullOrEmpty(settingsValue.FromEmail) && !string.IsNullOrEmpty(settingsValue.ToEmail) && !string.IsNullOrEmpty(settingsValue.AdminMsgSubject) && !string.IsNullOrEmpty(settingsValue.AdminMsgBody))
            {
                Utility.SendMail(settingsValue.FromEmail, settingsValue.ToEmail, settingsValue.AdminMsgSubject, settingsValue.AdminMsgBody);
            }
        }
        public ActionResult ReplyComment(ReplyCommentAttributes commentAttributes)
        {
            BlogpostId = commentAttributes.CurrentItem;
            Recaptcha   recaptcha      = new Recaptcha();
            GetSettings objGetSettings = new GetSettings();
            var         setting        = objGetSettings.GetSetting(BlogpostId);

            try
            {
                Comment cmt = new Comment
                {
                    PostId    = commentAttributes.CurrentItem,
                    CommentId = Guid.NewGuid().ToString(),
                    ParentId  = commentAttributes.hfParentCommentId,
                    Author    = commentAttributes.Name,
                    Email     = commentAttributes.Email,
                    Date      = DateTime.Now,
                    Body      = commentAttributes.Comment
                };

                if (setting.SiteKey.IsNullOrEmpty())
                {
                    // Insert comment in comment in mongodb database.
                    _objRepository.Insert(cmt);
                    SendMailToAdmin(BlogpostId);
                    return(Json("success", JsonRequestBehavior.AllowGet));
                }
                if (!setting.SiteKey.IsNullOrEmpty())
                {
                    if (recaptcha.Validate(commentAttributes.captchaResponse, BlogpostId))
                    {
                        // Insert comment in comment in mongodb database.
                        _objRepository.Insert(cmt);
                        SendMailToAdmin(BlogpostId);
                        return(Json("success", JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        Log.Error("Captcha not filled", this);
                        return(Json("captchaerror", JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, this);
                return(Json("error", JsonRequestBehavior.AllowGet));
            }

            return(Json("ok", JsonRequestBehavior.AllowGet));
        }