protected override void OnPreRender(EventArgs e) { if (isCatalogSelected) { if (selectedID != -1) { DbContentCatalog selectedCatalog = new DbContentCatalog(selectedID); newButton.Enabled = Page.User.IsInRole(selectedCatalog.EditorRole.Name); editButton.Enabled = Page.User.IsInRole(selectedCatalog.EditorRole.Name); } else { editButton.Enabled = false; viewButton.Enabled = false; } // upButton.Enabled = false; // downButton.Enabled = false; } else { if (selectedClipID != -1) { DbContentClip clip = new DbContentClip(selectedClipID); DbContentCatalog selectedCatalog = clip.ParentCatalog; // set edit button based on roles editButton.Enabled = Page.User.IsInRole(clip.ParentCatalog.EditorRole.Name); //upButton.Enabled = editButton.Enabled; //downButton.Enabled = editButton.Enabled; newButton.Enabled = selectedID != -1 && (Page.User.IsInRole(selectedCatalog.AuthorRole.Name) | Page.User.IsInRole(selectedCatalog.EditorRole.Name)); } else { editButton.Enabled = false; viewButton.Enabled = false; newButton.Enabled = false; //upButton.Enabled = false; //downButton.Enabled = false; } } ControlExtender.RegisterTooltipScript(this.Page, 1, "grey", 2, "white"); }
private void renderCatalog(DbContentCatalog catalog, HtmlTextWriter output) { float calcSize; // Calculated size of objects bool openCatalog = catalogIsOpen(catalog.ID); bool catalogSelect = Page.User.IsInRole("CMS/Administrator") || Page.User.IsInRole(catalog.EditorRole.Name); bool clipSelect; output.WriteFullBeginTag("tr"); output.WriteLine(); output.Indent++; output.WriteBeginTag("td"); output.WriteAttribute("style", "padding-left:" + (indent * indentMultiplier + CellPadding.Value).ToString() + "px;"); output.WriteAttribute("valign", "middle"); output.WriteAttribute("width", "100%"); output.Write(HtmlTextWriter.TagRightChar); // if(catalogSelect) // { output.WriteBeginTag("a"); output.WriteAttribute("href", "javascript:" + Page.ClientScript.GetPostBackEventReference(this, "tog_" + catalog.ID.ToString())); output.Write(HtmlTextWriter.TagRightChar); // } if (openCatalog) { output.WriteBeginTag("img"); output.WriteAttribute("src", Page.ResolveUrl(minusIcon)); output.WriteAttribute("align", "absmiddle"); output.WriteAttribute("border", "0"); output.Write(HtmlTextWriter.TagRightChar); } else { output.WriteBeginTag("img"); output.WriteAttribute("src", Page.ResolveUrl(plusIcon)); output.WriteAttribute("align", "absmiddle"); output.WriteAttribute("border", "0"); output.Write(HtmlTextWriter.TagRightChar); } // if(catalogSelect) output.WriteEndTag("a"); // if(catalogSelect) // { output.WriteBeginTag("a"); output.WriteAttribute("href", "javascript:" + GetSelectReference(catalog.ID)); output.Write(HtmlTextWriter.TagRightChar); // } output.WriteBeginTag("img"); output.WriteAttribute("src", Page.ResolveUrl(catalogIcon)); output.WriteAttribute("align", "absmiddle"); output.WriteAttribute("border", "0"); output.Write(HtmlTextWriter.TagRightChar); if (catalog.ID == selectedID & isCatalogSelected) { output.Write("<strong>"); } output.Write(catalog.ToString()); if (catalog.ID == selectedID & isCatalogSelected) { output.Write("</strong>"); } // if(catalogSelect) output.WriteEndTag("a"); output.WriteEndTag("td"); output.WriteLine(); output.WriteBeginTag("td"); output.WriteAttribute("valign", "top"); output.Write(HtmlTextWriter.TagRightChar); output.Write(" "); output.WriteEndTag("td"); // Menu Tag output.WriteBeginTag("td"); output.WriteAttribute("valign", "top"); output.Write(HtmlTextWriter.TagRightChar); if (catalog.MenuEnabled) { output.Write("Menu"); } else { output.Write(" "); } output.WriteEndTag("td"); output.WriteBeginTag("td"); output.WriteAttribute("valign", "top"); output.Write(HtmlTextWriter.TagRightChar); output.Write("Catalog"); output.WriteEndTag("td"); output.WriteBeginTag("td"); output.WriteAttribute("valign", "top"); output.Write(HtmlTextWriter.TagRightChar); output.Write(catalog.ModifyDate.ToShortDateString()); output.WriteEndTag("td"); // output.WriteFullBeginTag("td"); // output.Write(" "); // output.WriteEndTag("td"); // // output.WriteFullBeginTag("td"); // output.Write(" "); // output.WriteEndTag("td"); output.Indent--; output.WriteEndTag("tr"); output.WriteLine(); indent++; if (openCatalog) { for (int x = 0; x < catalogs.Count; x++) { DbContentCatalog childCatalog = catalogs[x]; if (childCatalog.ParentCatalog != null && childCatalog.ParentCatalog.ID == catalog.ID) { renderCatalog(childCatalog, output); } } DbContentClipCollection clips = catalog.GetClips(); clips.Sort(ContentCompareKey.MenuEnabled, ContentCompareKey.MenuOrder); foreach (DbContentClip clip in clips) { // Do not display expired clips unless expire checkbox is selected if (!cbExpired.Checked && DateTime.Now > clip.ExpirationDate) { continue; } // All clips to be selected ONLY if editor, author clipSelect = Page.User.IsInRole(catalog.EditorRole.Name); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("style", "padding-left:" + (indent * indentMultiplier + CellPadding.Value).ToString() + "px;"); output.WriteAttribute("valign", "middle"); output.WriteAttribute("width", "100%"); output.Write(HtmlTextWriter.TagRightChar); #region Prefix Icon Output - Should Be Empty For All Clips output.WriteBeginTag("div"); output.WriteAttribute("style", "float:left;"); output.Write(HtmlTextWriter.TagRightChar); output.WriteBeginTag("img"); output.WriteAttribute("src", Page.ResolveUrl(blankIcon)); output.WriteAttribute("align", "absmiddle"); output.WriteAttribute("border", "0"); output.Write(HtmlTextWriter.TagRightChar); output.WriteEndTag("div"); #endregion #region Icon Output output.WriteBeginTag("div"); output.WriteAttribute("style", "float:left;"); output.Write(HtmlTextWriter.TagRightChar); if (clipSelect) { output.WriteBeginTag("a"); output.WriteAttribute("href", "javascript:" + Page.ClientScript.GetPostBackEventReference(this, "csel_" + clip.ID.ToString())); output.Write(HtmlTextWriter.TagRightChar); } // Clip Icon output.WriteBeginTag("img"); if (clip.ExpirationDate <= DateTime.Now) { output.WriteAttribute("src", Page.ResolveUrl(expiredIcon)); } else if (clip.PublishDate <= DateTime.Now) { output.WriteAttribute("src", Page.ResolveUrl(publishedIcon)); } else { output.WriteAttribute("src", Page.ResolveUrl(prePublishedIcon)); } output.WriteAttribute("align", "absmiddle"); output.WriteAttribute("border", "0"); output.Write(HtmlTextWriter.TagRightChar); if (clipSelect) { output.WriteEndTag("a"); } output.WriteEndTag("div"); #endregion #region Title Output output.WriteBeginTag("div"); output.WriteAttribute("style", "padding-top:3px;float:left;"); // Tooltip Properties output.WriteAttribute("onmouseover", ControlExtender.GetTooltipStartReference(constructTooltip(clip), "#ffffe0", 0)); output.WriteAttribute("onmouseout", ControlExtender.GetTooltipEndReference()); output.Write(HtmlTextWriter.TagRightChar); if (clipSelect) { output.WriteBeginTag("a"); output.WriteAttribute("href", "javascript:" + Page.ClientScript.GetPostBackEventReference(this, "csel_" + clip.ID.ToString())); output.Write(HtmlTextWriter.TagRightChar); } if (selectedClipID == clip.ID & !isCatalogSelected) { output.Write("<strong>"); } // Be sure to strip html tags! output.Write(Regex.Replace(clip.Title, "<[^>]*>", "")); if (selectedClipID == clip.ID & !isCatalogSelected) { output.Write("</strong>"); } if (clipSelect) { output.WriteEndTag("a"); } output.WriteEndTag("div"); #endregion output.WriteEndTag("td"); // Calculate size calcSize = ((float)clip.Body.Length) / 1024; output.WriteBeginTag("td"); output.WriteAttribute("nowrap", "true"); output.WriteAttribute("valign", "top"); output.Write(HtmlTextWriter.TagRightChar); output.Write(calcSize.ToString("n1")); output.Write(" KB"); output.WriteEndTag("td"); // Menu Tag output.WriteBeginTag("td"); output.WriteAttribute("valign", "top"); output.Write(HtmlTextWriter.TagRightChar); if (clip.MenuEnabled) { output.Write("Menu"); } else { output.Write(" "); } output.WriteEndTag("td"); output.WriteBeginTag("td"); output.WriteAttribute("valign", "top"); output.Write(HtmlTextWriter.TagRightChar); output.Write("Clip"); output.WriteEndTag("td"); output.WriteBeginTag("td"); output.WriteAttribute("valign", "top"); output.Write(HtmlTextWriter.TagRightChar); output.Write(clip.ModifyDate.ToShortDateString()); output.WriteEndTag("td"); // output.WriteBeginTag("td"); // output.WriteAttribute("valign", "top"); // output.Write(HtmlTextWriter.TagRightChar); // output.Write(clip.PublishDate.ToShortDateString()); // output.WriteEndTag("td"); // // output.WriteBeginTag("td"); // output.WriteAttribute("valign", "top"); // output.Write(HtmlTextWriter.TagRightChar); // output.Write(clip.ExpirationDate.ToShortDateString()); // output.WriteEndTag("td"); output.WriteEndTag("tr"); } } indent--; }