Exemplo n.º 1
0
 private void Process()
 {
     TrackbackManager.GetInstance().ReceiveTrackback(articleNo, Context);
 }
Exemplo n.º 2
0
        protected void bind()
        {
            model = ArticleManager.GetInstance().GetArticleByArticleNo(articleNo);

            if (model == null)
            {
                divTag.Visible       = false;
                divTrackback.Visible = false;
                SetMessageContent(ArticleConst.MESSAGE_HAS_NOT_ARTICLE);
                return;
            }


            string tempContent = model.Content;

            if (BlogManager.GetInstance().BlogBaseModel.BlogModel.UseEmoticon)
            {
                List <EmoticonModel> bindModel = EmoticonManager.GetInstance().Model;
                for (int i = 0; i < bindModel.Count; i++)
                {
                    string imgTag = string.Format("<img src=\"{0}/Emoticon/{1}\" alt=\"{2}\" style=\"vertical-align:middle;\" />",
                                                  UmcConfiguration.Core["repository.dir"],
                                                  bindModel[i].EmoticonValue,
                                                  bindModel[i].Description);

                    tempContent = tempContent.Replace(bindModel[i].EmoticonString, imgTag);
                }
            }

            hpTitle.Text         = model.Title;
            hpTitle.NavigateUrl  = Utility.MakeArticleUrl(model.ArticleNo);
            hpTitle.Target       = "_parent";
            lblInsertDate.Text   = ((DateTime)model.InsertDate).ToShortDateString();
            divContent.InnerHtml = tempContent;

            // 비공개 아티클일 경우
            if (!model.PublicFlag && CurrentUserInfo.Level != LevelAttribute.ADMIN)
            {
                divTag.Visible = divTrackback.Visible = divContent.Visible = false;
                SetMessageContent(ArticleConst.MESSAGE_NOT_PERMIT_READ_ARTICLE);
                return;
            }

            // 트랙백이 허용될경우
            if (model.AllowTrackback)
            {
                lblTrackbackUrl.Text = Utility.MakeTrackbackUrl(articleNo);
                lblTrackbackUrl.Style.Add("cursor", "hand");
                lblTrackbackUrl.Attributes["onclick"] = "javascript:copyBlock(this)";
            }

            // 댓글달리 리스트 바인딩
            CommentContent commentTempalte = (CommentContent)LoadControl(CommentConst.PARAM_COMMENT_CONTROL_PATH);

            commentTempalte.ArticleNo      = articleNo;
            commentTempalte.IsWriteComment =
                model.AllowComment && BlogManager.GetInstance().BlogBaseModel.PrivacyModel.CanWriteMemo;
            phComment.Controls.Add(commentTempalte);

            // 트랙백 리스트 바인딩
            dlTrackbackList.DataSource = TrackbackManager.GetInstance().GetTrackbackList(articleNo);
            dlTrackbackList.DataBind();

            // 태그 바인딩
            dlTag.DataSource = model.Tag;
            dlTag.DataBind();

            dlAttachFile.DataSource = model.AttachFile;
            dlAttachFile.DataBind();

            ltrCommentCount.Text   = model.CommentCount.ToString();
            ltrTrackbackCount.Text = model.TrackbackCount.ToString();
            aGoComment.HRef        = Utility.MakeArticleUrl(model.ArticleNo) + "#comment";
        }
Exemplo n.º 3
0
    protected void lnkRegister_Click(object sender, EventArgs e)
    {
        if (txtTitle.Text.Length == 0)
        {
            Utility.JS_Alert(sender, MessageCode.GetMessageByCode("message.no.title"));
            return;
        }
        if (FCKeditor1.Value.Length == 0)
        {
            Utility.JS_Alert(sender, MessageCode.GetMessageByCode("message.no.content"));
            return;
        }
        bool tagValidate = true;

        foreach (string noTag in noTagList)
        {
            if (txtTag.Text.IndexOf(noTag) != -1)
            {
                tagValidate = false;
                break;
            }
        }
        if (!tagValidate)
        {
            Utility.JS_Alert(sender, MessageCode.GetMessageByCode("message.article.notaglist"));
            return;
        }

        HttpFileCollection fileCollection = Request.Files;
        //CategoryNodeValue node				= CategoryNodeValue.Parse( ddlCategoryM.SelectedValue );

        ArticleModel model = new ArticleModel();

        model.CategoryID     = int.Parse(ddlCategoryM.SelectedValue);
        model.Title          = txtTitle.Text;
        model.Content        = FCKeditor1.Value;
        model.TrackbackUrl   = txtTrackbackUrl.Text;
        model.PublicFlag     = bool.Parse(rblPublicFlag.SelectedValue);
        model.PublicRss      = bool.Parse(rblPublicRss.SelectedValue);
        model.AllowComment   = bool.Parse(rblAllowComment.SelectedValue);
        model.AllowTrackback = bool.Parse(rblAllowTrackback.SelectedValue);

        string[] tags = txtTag.Text.Split(',');

        foreach (string tag in tags)
        {
            model.Tag.Add(new TagModel(tag));
        }

        // 아티클 수정모드라면 다른곳으로 분기
        if (articleNo > 0)
        {
            updateArticle(model);
            return;
        }

        int seqNo = ArticleManager.GetInstance().InsertArticle(model, fileCollection);

        TrackbackModel trackbackModel = new TrackbackModel();

        trackbackModel.ArticleNo = seqNo;
        trackbackModel.Blog_Name = BlogManager.GetInstance().BlogBaseModel.BlogModel.Title;
        trackbackModel.Title     = model.Title;
        trackbackModel.Exceprt   = model.Content;
        trackbackModel.Url       = Utility.MakeArticleUrl(seqNo);
        trackbackModel.UserIP    = Request.UserHostAddress;

        // 트랙백 보내는 아티클이면..
        if (txtTrackbackUrl.Text.Length > 0)
        {
            TrackbackManager.GetInstance().SendTrackback(txtTrackbackUrl.Text, trackbackModel);
        }

        string script = string.Format("alert('{0}'); location.href='{1}';",
                                      UmcConfiguration.Message[ArticleConst.MESSAGE_ARTICLE_REGIST],
                                      ListQueryString);

        Utility.JsCall(sender, script);
    }