예제 #1
0
        void SetupPageFowWikiPage()
        {
            btnTitleSave.Visible   = false;
            lblArticeTitle.Visible = false;
            textBoxTitle.Visible   = false;
            lblHeader.Text         = new Domain.WikiPage(CurrentMasterItem).Title;

            string query = Request.QueryString["q"];

            if ((query != null) && (query != string.Empty))
            {
                string          pageTitle      = query;
                WikiFolder      folder         = new WikiFolder(CurrentMasterItem.Parent);
                Domain.WikiPage pageToRedirect = folder.GetPageByTitle(pageTitle);
                if (pageToRedirect == null)
                {
                    pageToRedirect = folder.AddPage(pageTitle);
                    pageToRedirect.Publish();
                }
                RedirectToPage(pageToRedirect.InnerItem);
            }
            Domain.WikiPage currentPage = new Domain.WikiPage(CurrentMasterItem);
            if (currentPage.CurrentVariant == null)
            {
                SwitchToEditMode();
            }
            else
            {
                SwitchToContentMode();
                Content.Text = new WikiConvertor(currentPage.CurrentVariant.WikiText).TransformWiki();
            }
        }
예제 #2
0
        protected void btnMainPage_Click(object sender, EventArgs e)
        {
            WikiFolder folder = new WikiFolder(this.CurrentMasterItem.Parent);

            if (folder.FirstPageID != Data.ID.Null)
            {
                RedirectToPage(DBMaster.Items[folder.FirstPageID]);
            }
        }
예제 #3
0
        protected void OnSetFirstClick()
        {
            ID         itemId = (ID)Title.ServerProperties["ID"];
            Database   master = Factory.GetDatabase("master");
            Item       item   = master.Items[itemId];
            WikiFolder folder = new WikiFolder(item.Parent);

            folder.FirstPageID = itemId;
        }
예제 #4
0
        protected void btnPageList_Click(object sender, EventArgs e)
        {
            EditArticle.Visible    = false;
            btnTitleSave.Visible   = false;
            lblArticeTitle.Visible = false;
            textBoxTitle.Visible   = false;
            SwitchToContentMode();
            WikiFolder folder = CurrentMasterItem.TemplateID == WikiFolder.TemplateID ?
                                new WikiFolder(CurrentMasterItem) : new WikiFolder(CurrentMasterItem.Parent);
            IList pages = folder.Pages;

            Content.Text   = "<ul>";
            lblHeader.Text = "Articles in WIKI";
            foreach (Domain.WikiPage page in pages)
            {
                Content.Text += string.Format("<li><a href=\"?q={1}\">{2}</a></li>", this.Request.Url.AbsolutePath,
                                              Page.Server.UrlEncode(page.Title), page.Title);
            }
            Content.Text += "</ul>";
        }
예제 #5
0
 protected void btnTitleSave_Click(object sender, EventArgs e)
 {
     if (textBoxTitle.Text.Trim().Length > 0)
     {
         textBoxTitle.Text = WikiConvertor.ClearSystemSymbol(textBoxTitle.Text);
         textBoxTitle.Text = WikiConvertor.FormatTextWrap(new WikiConvertor(textBoxTitle.Text).TransformStandart(), textBoxTitle.MaxLength);
         if (CurrentMasterItem.TemplateID == WikiFolder.TemplateID)
         {
             WikiFolder      folder  = new WikiFolder(CurrentMasterItem);
             Domain.WikiPage newPage = folder.AddPage(textBoxTitle.Text);
             folder.FirstPageID = newPage.ID;
             SetupPageForFolder();
         }
         if (CurrentMasterItem.TemplateID == Domain.WikiPage.TemplateID)
         {
             WikiFolder      folder  = new WikiFolder(CurrentMasterItem.Parent);
             Domain.WikiPage newPage = folder.AddPage(textBoxTitle.Text);
             RedirectToPage(newPage.InnerItem);
         }
     }
 }
예제 #6
0
        void SetupPageForFolder()
        {
            WikiFolder folder = new WikiFolder(CurrentMasterItem);

            if (folder.FirstPageID != Sitecore.Data.ID.Null)
            {
                Item item = ProcessFirstPage(folder);
                if (item != null)
                {
                    RedirectToPage(item);
                }
                else
                {
                    btnCreatePage_Click(this, EventArgs.Empty);
                }
            }
            else
            {
                Content.Text       = "";
                WikiEditor.Visible = false;
                lblHeader.Text     = "Add first article";
            }
        }