protected void Page_Load(object sender, EventArgs e) { PXDBContext context = new PXDBContext(new PXWikiSettings(this).Absolute); SendKBArticleMaint graph = ds.DataGraph as SendKBArticleMaint; if (graph != null) { graph.WikiSettings = context.Settings; context.WikiID = graph.Message.Current.WikiID; } PXWikiEdit wikiEdit = form.FindControl("wikiEdit") as PXWikiEdit; if (wikiEdit != null) { wikiEdit.PreviewSettings = context; form.DataBound += new EventHandler(delegate(object o, EventArgs args) { PXDBContext settings = context; //settings.StyleID = SitePolicy.DefaultMailStyle; wikiEdit.PreviewSettings = settings; }); } PXKBShow edContent = frmInsertArticle.FindControl("edContent") as PXKBShow; }
protected void Page_Load(object sender, EventArgs e) { string exportType = Request["type"]; WikiReader reader = PXGraph.CreateInstance <WikiReader>(); PXWikiSettings settings = new PXWikiSettings(this, reader); this.SetReaderFilter(reader); WikiPage article = reader.Pages.SelectWindowed(0, 1); reader.Pages.Current = article; PXRenderer renderer = this.CreateRenderer(exportType, settings.Absolute); if (article != null && !string.IsNullOrEmpty(article.Content) && renderer != null) { var ctx = new PXDBContext(settings.Absolute); ctx.Renderer = renderer; ctx.WikiID = article.WikiID; string result = PXWikiParser.Parse(article.Content, ctx); string mime = MimeTypes.GetMimeType("." + exportType); Response.AddHeader("cache-control", "no-store, private"); Response.Clear(); Response.Cache.SetCacheability(HttpCacheability.Private); Response.Cache.SetExpires(DateTime.Now.AddSeconds(2)); Response.Cache.SetValidUntilExpires(true); Response.AddHeader("Content-Type", mime); Response.AddHeader("Content-Encoding", "ansi"); this.AdditionalResponseParams(renderer, article); Response.Write(result); } }
protected void Page_Load(object sender, EventArgs e) { string exportType = Request["type"]; WikiReader reader = PXGraph.CreateInstance<WikiReader>(); PXWikiSettings settings = new PXWikiSettings(this, reader); this.SetReaderFilter(reader); WikiPage article = reader.Pages.SelectWindowed(0, 1); reader.Pages.Current = article; PXRenderer renderer = this.CreateRenderer(exportType, settings.Absolute); if (article != null && !string.IsNullOrEmpty(article.Content) && renderer != null) { var ctx = new PXDBContext(settings.Absolute); ctx.Renderer = renderer; ctx.WikiID = article.WikiID; string result = PXWikiParser.Parse(article.Content, ctx); string mime = MimeTypes.GetMimeType("." + exportType); Response.AddHeader("cache-control", "no-store, private"); Response.Clear(); Response.Cache.SetCacheability(HttpCacheability.Private); Response.Cache.SetExpires(DateTime.Now.AddSeconds(2)); Response.Cache.SetValidUntilExpires(true); Response.AddHeader("Content-Type", mime); Response.AddHeader("Content-Encoding", "ansi"); this.AdditionalResponseParams(renderer, article); Response.Write(result); } }
public virtual IEnumerable IndexCustomArticles(PXAdapter adapter) { PXLongOperation.StartOperation(this, delegate() { foreach (var result in WikiArticles.Select()) { string plaintext = null; var _wp = (WikiPage)result[typeof(WikiPage)]; var _wr = (WikiRevision)result[typeof(WikiRevision)]; var _wl = (WikiPageLanguage)result[typeof(WikiPageLanguage)]; if (_wp.IsHtml != true) { WikiReader reader = PXGraph.CreateInstance <WikiReader>(); PXWikiSettings settings = new PXWikiSettings(new PXPage(), reader); PXTxtRenderer renderer = new PXTxtRenderer(settings.Absolute); var ctx = new PXDBContext(settings.Absolute); ctx.Renderer = renderer; plaintext = (_wl.Title ?? "") + Environment.NewLine + PXWikiParser.Parse(_wr.Content, ctx); } else { plaintext = (_wl.Title ?? "") + Environment.NewLine + SearchService.Html2PlainText(_wr.Content); } //Try updating the article in current Company if (!PXDatabase.Update <WikiRevision>( new PXDataFieldAssign("PlainText", PXDbType.NVarChar, plaintext), new PXDataFieldRestrict("PageID", PXDbType.UniqueIdentifier, _wr.PageID), new PXDataFieldRestrict("PageRevisionID", PXDbType.Int, _wr.PageRevisionID), new PXDataFieldRestrict("Language", PXDbType.VarChar, _wr.Language) )) { //Article may be shared. Try updating the article through graph (thus handling the shared record update stratagy) //if article is not updatable an exception may be thrown - ignore. try { ArticleUpdater updater = PXGraph.CreateInstance <ArticleUpdater>(); WikiRevision rev = updater.Revision.Select(_wr.PageID, _wr.PageRevisionID, _wr.Language); rev.PlainText = plaintext; updater.Revision.Update(rev); updater.Persist(); } catch (Exception ex) { PXTrace.WriteInformation("Plain text field could not be updated for article = {0}. Error Message: {1}", _wr.PageID, ex.Message); } } } }); return(adapter.Get()); }
private PXRenderer CreateRenderer(string exportType, PXDBContext settings) { switch (exportType) { case "txt": PXTxtRenderer resultTxt = new PXTxtRenderer(settings); resultTxt.ColsCount = 100; return resultTxt; case "rtf": PXRtfRenderer resultRtf = new PXRtfRenderer(settings); return resultRtf; } return null; }
private PXRenderer CreateRenderer(string exportType, PXDBContext settings) { switch (exportType) { case "txt": PXTxtRenderer resultTxt = new PXTxtRenderer(settings); resultTxt.ColsCount = 100; return(resultTxt); case "rtf": PXRtfRenderer resultRtf = new PXRtfRenderer(settings); return(resultRtf); } return(null); }
protected void form_DataBinding(object sender, EventArgs e) { WikiReader graph = (WikiReader)this.DS.DataGraph; PXCache cache = graph.Views[this.DS.PrimaryView].Cache; WikiPage current = cache.Current as WikiPage; if (current != null) { string language = Request.Params["Language"]; if (string.IsNullOrEmpty(language)) { language = LocaleInfo.GetCulture().Name; } WikiRevision currentrevision = PXSelect <WikiRevision, Where <WikiRevision.pageID, Equal <Required <WikiRevision.pageID> >, And <WikiRevision.language, Equal <Required <WikiRevision.language> > > >, OrderBy <Desc <WikiRevision.pageRevisionID> > > .SelectWindowed(new PXGraph(), 0, 1, current.PageID, language); if (this.PublicUrlEditor != null) { this.PublicUrlEditor.Text = string.Empty; } if (current.WikiID != null) { if (Master is IPXMasterPage) { (Master as IPXMasterPage).ScreenTitle = current.Title; } if (Master is IPXMasterPage) { (Master as IPXMasterPage).BranchAvailable = false; } graph.Filter.Current.WikiID = current.WikiID; WikiDescriptor wiki = graph.wikis.SelectWindowed(0, 1, current.WikiID); PXWikiShow content = MainForm.FindControl("edContent") as PXWikiShow; if (wiki != null) { if (!string.IsNullOrEmpty(wiki.PubVirtualPath)) { if (PublicUrlEditor != null) { PublicUrlEditor.Text = Request.GetExternalUrl().ToString(); int index = PublicUrlEditor.Text.IndexOf("Wiki"); if (index > -1) { PublicUrlEditor.Text = PublicUrlEditor.Text.Remove(0, index); PublicUrlEditor.Text = wiki.PubVirtualPath + "/" + PublicUrlEditor.Text; } } } if (!Page.IsPostBack) { PXAuditJournal.Register("WI000000", Wiki.Link(wiki.Name, current.Name)); } } if (content != null) { PXDBContext wikiContext = (PXDBContext)content.WikiContext; if (currentrevision != null) { wikiContext.Text = currentrevision.Content; } if (_pageDBContextType == null) { wikiContext.ContentWidth = current.Width.GetValueOrDefault(0); wikiContext.ContentHeight = current.Height.GetValueOrDefault(0); wikiContext.PageTitle = current.Title; } wikiContext.WikiID = current.WikiID.Value != Guid.Empty ? current.WikiID.Value : current.PageID.Value; if (current.PageID != null && (_pageDBContextType == null && (PXSiteMap.WikiProvider.GetAccessRights(current.PageID.Value) >= PXWikiRights.Update && current.PageRevisionID > 0))) { wikiContext.LastModified = current.PageRevisionDateTime; wikiContext.LastModifiedByLogin = cache.GetStateExt(current, "PageRevisionCreatedByID").ToString(); } if (current.PageID != null && PXSiteMap.WikiProvider.GetAccessRights(current.PageID.Value) >= PXWikiRights.Update) { wikiContext.RenderSectionLink = true; } else { wikiContext.HideBrokenLink = true; wikiContext.RedirectAvailable = true; } if (this.WikiTextPanel != null) { this.WikiTextPanel.Caption = current.Title; } if (this.WikiTextEditor != null) { this.WikiTextEditor.Text = graph.ConvertGuidToLink(current.Content); } } if (this.LinkEditor != null) { this.LinkEditor.Text = "[" + (wiki != null && wiki.Name != null ? wiki.Name + "\\" : string.Empty) + current.Name + "]"; } } } this.Page.ClientScript.RegisterClientScriptBlock(GetType(), "varreg", "var printLink=\"" + ResolveUrl("~/Wiki/Print.aspx") + "?" + ControlHelper.SanitizeUrl(Request.QueryString.ToString()) + "\";", true); if (this.LinkEditor != null) { LinkEditor.ReadOnly = true; } if (this.UrlEditor != null) { UrlEditor.Text = Request.GetExternalUrl().ToString(); UrlEditor.ReadOnly = true; } if (this.PublicUrlEditor != null) { PublicUrlEditor.Enabled = !string.IsNullOrEmpty(PublicUrlEditor.Text); PublicUrlEditor.ReadOnly = true; } }