public string GetCaption(string controlPath) { CMSPlugin plug = (from p in this.Plugins where p.FilePath.ToLowerInvariant() == controlPath.ToLowerInvariant() select p).FirstOrDefault(); if (plug != null) { return(plug.Caption); } return("NONE"); }
protected string GetCtrlName(string sCtrlName) { string sName = ""; CMSPlugin plug = (from p in cmsHelper.ToolboxPlugins where p.FilePath.ToLower() == sCtrlName.ToLower() select p).FirstOrDefault(); if (plug != null) { sName = plug.Caption; } return(sName); }
protected void GetCtrlName(Widget ww) { string sName = ""; CMSPlugin plug = (from p in cmsHelper.ToolboxPlugins where p.FilePath.ToLowerInvariant() == ww.ControlPath.ToLowerInvariant() select p).FirstOrDefault(); if (plug != null) { sName = plug.Caption; } lnkIndex.NavigateUrl = String.Format("{0}?id={1}", SiteFilename.PageWidgetsURL, ww.Root_ContentID); litControlPathName.Text = sName; }
protected void GetCtrlName() { string sName = String.Empty; if (this.Widget != null) { using (CMSConfigHelper cmsHelper = new CMSConfigHelper()) { CMSPlugin plug = (from p in cmsHelper.ToolboxPlugins where p.FilePath.ToLower() == this.Widget.ControlPath.ToLower() select p).FirstOrDefault(); if (plug != null) { sName = plug.Caption; } } } this.WidgetCaption = sName; }
public void LoadPageControls() { this.CurrentWebPage.Header.Controls.Add(new Literal { Text = "\r\n" }); List <HtmlMeta> lstMD = GetHtmlMeta(this.CurrentWebPage.Header); HtmlMeta metaGenerator = new HtmlMeta(); metaGenerator.Name = "generator"; metaGenerator.Content = SiteData.CarrotCakeCMSVersion; this.CurrentWebPage.Header.Controls.Add(metaGenerator); this.CurrentWebPage.Header.Controls.Add(new Literal { Text = "\r\n" }); if (guidContentID == SiteData.CurrentSiteID && SiteData.IsPageReal) { IsPageTemplate = true; } if (theSite != null && pageContents != null) { if (theSite.BlockIndex || pageContents.BlockIndex) { bool bCrawlExist = false; HtmlMeta metaNoCrawl = new HtmlMeta(); metaNoCrawl.Name = "robots"; if (lstMD.Where(x => x.Name == "robots").Count() > 0) { metaNoCrawl = lstMD.Where(x => x.Name == "robots").FirstOrDefault(); bCrawlExist = true; } metaNoCrawl.Content = "noindex,nofollow,noarchive"; if (!bCrawlExist) { this.CurrentWebPage.Header.Controls.Add(metaNoCrawl); this.CurrentWebPage.Header.Controls.Add(new Literal { Text = "\r\n" }); } } } InsertSpecialCtrl(this.CurrentWebPage.Header, ControlLocation.Header); if (pageContents != null) { HtmlMeta metaDesc = new HtmlMeta(); HtmlMeta metaKey = new HtmlMeta(); bool bDescExist = false; bool bKeyExist = false; if (lstMD.Where(x => x.Name == "description").Count() > 0) { metaDesc = lstMD.Where(x => x.Name == "description").FirstOrDefault(); bDescExist = true; } if (lstMD.Where(x => x.Name == "keywords").Count() > 0) { metaKey = lstMD.Where(x => x.Name == "keywords").FirstOrDefault(); bKeyExist = true; } metaDesc.Name = "description"; metaKey.Name = "keywords"; metaDesc.Content = String.IsNullOrEmpty(pageContents.MetaDescription) ? theSite.MetaDescription : pageContents.MetaDescription; metaKey.Content = String.IsNullOrEmpty(pageContents.MetaKeyword) ? theSite.MetaKeyword : pageContents.MetaKeyword; int indexPos = 6; if (this.CurrentWebPage.Header.Controls.Count > indexPos) { if (!String.IsNullOrEmpty(metaDesc.Content) && !bDescExist) { this.CurrentWebPage.Header.Controls.AddAt(indexPos, new Literal { Text = "\r\n" }); this.CurrentWebPage.Header.Controls.AddAt(indexPos, metaDesc); } if (!String.IsNullOrEmpty(metaKey.Content) && !bKeyExist) { this.CurrentWebPage.Header.Controls.AddAt(indexPos, new Literal { Text = "\r\n" }); this.CurrentWebPage.Header.Controls.AddAt(indexPos, metaKey); } } else { if (!String.IsNullOrEmpty(metaDesc.Content) && !bDescExist) { this.CurrentWebPage.Header.Controls.Add(metaDesc); this.CurrentWebPage.Header.Controls.Add(new Literal { Text = "\r\n" }); } if (!String.IsNullOrEmpty(metaKey.Content) && !bKeyExist) { this.CurrentWebPage.Header.Controls.Add(metaKey); this.CurrentWebPage.Header.Controls.Add(new Literal { Text = "\r\n" }); } } metaDesc.Visible = !String.IsNullOrEmpty(metaDesc.Content); metaKey.Visible = !String.IsNullOrEmpty(metaKey.Content); } contCenter = new ContentContainer(); contLeft = new ContentContainer(); contRight = new ContentContainer(); if (pageContents != null) { using (ContentPageHelper pageHelper = new ContentPageHelper()) { PageViewType pvt = pageHelper.GetBlogHeadingFromURL(theSite, SiteData.CurrentScriptName); string sTitleAddendum = pvt.ExtraTitle; if (!String.IsNullOrEmpty(sTitleAddendum)) { if (!String.IsNullOrEmpty(pageContents.PageHead)) { pageContents.PageHead = pageContents.PageHead.Trim() + ": " + sTitleAddendum; } else { pageContents.PageHead = sTitleAddendum; } pageContents.TitleBar = pageContents.TitleBar.Trim() + ": " + sTitleAddendum; } PagedDataSummary pd = (PagedDataSummary)cu.FindControl(typeof(PagedDataSummary), this.CurrentWebPage); if (pd != null) { PagedDataSummaryTitleOption titleOpts = pd.TypeLabelPrefixes.Where(x => x.KeyValue == pvt.CurrentViewType).FirstOrDefault(); if (titleOpts == null && (pvt.CurrentViewType == PageViewType.ViewType.DateDayIndex || pvt.CurrentViewType == PageViewType.ViewType.DateMonthIndex || pvt.CurrentViewType == PageViewType.ViewType.DateYearIndex)) { titleOpts = pd.TypeLabelPrefixes.Where(x => x.KeyValue == PageViewType.ViewType.DateIndex).FirstOrDefault(); } if (titleOpts != null && !String.IsNullOrEmpty(titleOpts.FormatText)) { pvt.ExtraTitle = string.Format(titleOpts.FormatText, pvt.RawValue); sTitleAddendum = pvt.ExtraTitle; } if (titleOpts != null && !String.IsNullOrEmpty(titleOpts.LabelText)) { pageContents.PageHead = titleOpts.LabelText + " " + sTitleAddendum; pageContents.NavMenuText = pageContents.PageHead; pageContents.TitleBar = pageContents.PageHead; } } } this.CurrentWebPage.Title = SetPageTitle(pageContents); DateTime dtModified = theSite.ConvertSiteTimeToLocalServer(pageContents.EditDate); string strModifed = dtModified.ToString("r"); HttpContext.Current.Response.AppendHeader("Last-Modified", strModifed); HttpContext.Current.Response.Cache.SetLastModified(dtModified); DateTime dtExpire = DateTime.Now.AddSeconds(15); contCenter.Text = pageContents.PageText; contLeft.Text = pageContents.LeftPageText; contRight.Text = pageContents.RightPageText; contCenter.DatabaseKey = pageContents.Root_ContentID; contLeft.DatabaseKey = pageContents.Root_ContentID; contRight.DatabaseKey = pageContents.Root_ContentID; pageContents = CMSConfigHelper.IdentifyLinkAsInactive(pageContents); if (SecurityData.IsAuthenticated) { HttpContext.Current.Response.Cache.SetNoServerCaching(); HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); dtExpire = DateTime.Now.AddMinutes(-10); HttpContext.Current.Response.Cache.SetExpires(dtExpire); if (!SecurityData.AdvancedEditMode) { if (SecurityData.IsAdmin || SecurityData.IsSiteEditor) { if (!SiteData.IsPageSampler && !IsPageTemplate) { Control editor = this.CurrentWebPage.LoadControl(SiteFilename.EditNotifierControlPath); this.CurrentWebPage.Form.Controls.Add(editor); } } } else { contCenter.IsAdminMode = true; contLeft.IsAdminMode = true; contRight.IsAdminMode = true; contCenter.ZoneChar = "c"; contLeft.ZoneChar = "l"; contRight.ZoneChar = "r"; contCenter.TextZone = ContentContainer.TextFieldZone.TextCenter; contLeft.TextZone = ContentContainer.TextFieldZone.TextLeft; contRight.TextZone = ContentContainer.TextFieldZone.TextRight; contCenter.Text = pageContents.PageText; contLeft.Text = pageContents.LeftPageText; contRight.Text = pageContents.RightPageText; Control editor = this.CurrentWebPage.LoadControl(SiteFilename.AdvancedEditControlPath); this.CurrentWebPage.Form.Controls.Add(editor); MarkWidgets(this.CurrentWebPage, true); } } else { HttpContext.Current.Response.Cache.SetExpires(dtExpire); } InsertSpecialCtrl(this.CurrentWebPage.Form, ControlLocation.Footer); if (pageWidgets.Any()) { CMSConfigHelper cmsHelper = new CMSConfigHelper(); //find each placeholder in use ONCE! List <LabeledControl> lstPlaceholders = (from ph in pageWidgets where ph.Root_ContentID == pageContents.Root_ContentID select new LabeledControl(ph.PlaceholderName, FindTheControl(ph.PlaceholderName, this.CurrentWebPage))).Distinct().ToList(); List <Widget> lstWidget = null; if (SecurityData.AdvancedEditMode) { lstWidget = (from w in pageWidgets orderby w.WidgetOrder, w.EditDate where w.Root_ContentID == pageContents.Root_ContentID //&& w.IsWidgetActive == true && w.IsWidgetPendingDelete == false select w).ToList(); } else { lstWidget = (from w in pageWidgets orderby w.WidgetOrder, w.EditDate where w.Root_ContentID == pageContents.Root_ContentID && w.IsWidgetActive == true && w.IsRetired == false && w.IsUnReleased == false && w.IsWidgetPendingDelete == false select w).ToList(); } foreach (Widget theWidget in lstWidget) { WidgetContainer plcHolder = (WidgetContainer)(from d in lstPlaceholders where d.ControlLabel == theWidget.PlaceholderName select d.KeyControl).FirstOrDefault(); if (plcHolder != null) { plcHolder.EnableViewState = true; Control widget = new Control(); if (theWidget.ControlPath.EndsWith(".ascx")) { if (File.Exists(this.CurrentWebPage.Server.MapPath(theWidget.ControlPath))) { try { widget = this.CurrentWebPage.LoadControl(theWidget.ControlPath); } catch (Exception ex) { Literal lit = new Literal(); lit.Text = "<b>ERROR: " + theWidget.ControlPath + "</b> <br />\r\n" + ex.ToString(); widget = lit; } } else { Literal lit = new Literal(); lit.Text = "MISSING FILE: " + theWidget.ControlPath + "<br />\r\n"; widget = lit; } } if (theWidget.ControlPath.ToLowerInvariant().StartsWith("class:")) { try { string className = theWidget.ControlPath.Replace("CLASS:", ""); Type t = Type.GetType(className); Object o = Activator.CreateInstance(t); if (o != null) { widget = o as Control; } else { Literal lit = new Literal(); lit.Text = "OOPS: " + theWidget.ControlPath + "<br />\r\n"; widget = lit; } } catch (Exception ex) { Literal lit = new Literal(); lit.Text = "<b>ERROR: " + theWidget.ControlPath + "</b> <br />\r\n" + ex.ToString(); widget = lit; } } widget.EnableViewState = true; IWidget w = null; if (widget is IWidget) { w = widget as IWidget; w.SiteID = SiteData.CurrentSiteID; w.PageWidgetID = theWidget.Root_WidgetID; w.RootContentID = theWidget.Root_ContentID; } if (widget is IWidgetParmData) { IWidgetParmData wp = widget as IWidgetParmData; List <WidgetProps> lstProp = theWidget.ParseDefaultControlProperties(); wp.PublicParmValues = lstProp.ToDictionary(t => t.KeyName, t => t.KeyValue); } if (widget is IWidgetRawData) { IWidgetRawData wp = widget as IWidgetRawData; wp.RawWidgetData = theWidget.ControlProperties; } if (widget is IWidgetEditStatus) { IWidgetEditStatus wes = widget as IWidgetEditStatus; wes.IsBeingEdited = SecurityData.AdvancedEditMode; } Dictionary <string, string> lstMenus = new Dictionary <string, string>(); if (widget is IWidgetMultiMenu) { IWidgetMultiMenu wmm = widget as IWidgetMultiMenu; lstMenus = wmm.JSEditFunctions; } if (SecurityData.AdvancedEditMode) { WidgetWrapper plcWrapper = plcHolder.AddWidget(widget, theWidget); CMSPlugin plug = (from p in cmsHelper.ToolboxPlugins where p.FilePath.ToLowerInvariant() == plcWrapper.ControlPath.ToLowerInvariant() select p).FirstOrDefault(); if (plug != null) { plcWrapper.ControlTitle = plug.Caption; } else { plcWrapper.ControlTitle = "UNTITLED"; } plcWrapper.ID = WrapCtrlId; if (w != null) { if (w.EnableEdit) { if (lstMenus.Count < 1) { string sScript = w.JSEditFunction; if (String.IsNullOrEmpty(sScript)) { sScript = "cmsGenericEdit('" + pageContents.Root_ContentID + "','" + plcWrapper.DatabaseKey + "')"; } plcWrapper.JSEditFunction = sScript; } else { plcWrapper.JSEditFunctions = lstMenus; } } } } else { plcHolder.AddWidget(widget); } widget.ID = CtrlId; } } cmsHelper.Dispose(); } } }
public static HtmlString RenderWidget(string placeHolderName) { StringBuilder sb = new StringBuilder(); string sWidgetZone = String.Empty; string masterWidgetWrapper = String.Empty; string widgetMenuTemplate = String.Empty; string sStatusTemplate = String.Empty; if (SecurityData.AdvancedEditMode) { widgetMenuTemplate = "<li id=\"liMenu\"><a href=\"javascript:[[JS_CALL]]\" id=\"cmsMenuEditLink\" class=\"cmsWidgetBarLink cmsWidgetBarIconPencil\" alt=\"[[CAP]]\" title=\"[[CAP]]\"> [[CAP]]</a></li>"; sWidgetZone = ControlUtilities.GetManifestResourceStream("Carrotware.CMS.UI.Components._WidgetZone.cshtml"); masterWidgetWrapper = ControlUtilities.GetManifestResourceStream("Carrotware.CMS.UI.Components._WidgetWrapper.cshtml"); sWidgetZone = sWidgetZone.Replace("[[PLACEHOLDER]]", placeHolderName); masterWidgetWrapper = masterWidgetWrapper.Replace("[[PLACEHOLDER]]", placeHolderName); } int iWidgetCount = 0; var widgetList = (from w in CmsPage.TheWidgets where w.PlaceholderName.ToLowerInvariant() == placeHolderName.ToLowerInvariant() orderby w.WidgetOrder, w.EditDate select w).ToList(); foreach (Widget widget in widgetList) { bool IsWidgetClass = false; string widgetKey = String.Format("WidgetId_{0}_{1}", placeHolderName, iWidgetCount); if (Html.ViewContext.Controller is IContentController) { IContentController cc = (Html.ViewContext.Controller as IContentController); widgetKey = String.Format("WidgetId_{0}", cc.WidgetCount); } iWidgetCount++; string widgetText = String.Empty; string widgetWrapper = String.Empty; Dictionary <string, string> lstMenus = new Dictionary <string, string>(); if (widget.ControlPath.Contains(":")) { string[] path = widget.ControlPath.Split(':'); string objectPrefix = path[0]; string objectClass = path[1]; string altView = path.Length >= 3 ? path[2] : String.Empty; Object obj = null; Object settings = null; try { Type objType = ReflectionUtilities.GetTypeFromString(objectClass); obj = Activator.CreateInstance(objType); if (objectPrefix.ToUpperInvariant() != "CLASS") { IsWidgetClass = false; // assumed to be a controller action/method Object attrib = ReflectionUtilities.GetAttribute <WidgetActionSettingModelAttribute>(objType, objectPrefix); if (attrib != null && attrib is WidgetActionSettingModelAttribute) { string attrClass = (attrib as WidgetActionSettingModelAttribute).ClassName; Type s = ReflectionUtilities.GetTypeFromString(attrClass); settings = Activator.CreateInstance(s); } } else { IsWidgetClass = true; // a class widget is its own setting object settings = obj; } if (settings != null) { if (settings is IWidget) { IWidget w = settings as IWidget; w.SiteID = CmsPage.TheSite.SiteID; w.RootContentID = widget.Root_ContentID; w.PageWidgetID = widget.Root_WidgetID; w.IsDynamicInserted = true; w.IsBeingEdited = SecurityData.AdvancedEditMode; w.WidgetClientID = widgetKey; List <WidgetProps> lstProp = widget.ParseDefaultControlProperties(); w.PublicParmValues = lstProp.ToDictionary(t => t.KeyName, t => t.KeyValue); lstMenus = w.JSEditFunctions; if (!lstMenus.Any() && w.EnableEdit) { lstMenus.Add("Edit", "cmsGenericEdit('" + widget.Root_ContentID.ToString() + "','" + widget.Root_WidgetID.ToString() + "')"); } } if (settings is IWidgetView) { if (!String.IsNullOrEmpty(altView)) { (settings as IWidgetView).AlternateViewFile = altView; } } if (settings is IWidgetRawData) { (settings as IWidgetRawData).RawWidgetData = widget.ControlProperties; } } if (obj != null && settings != null && obj is IWidgetDataObject) { (obj as IWidgetDataObject).WidgetPayload = settings; } if (IsWidgetClass && obj is IHtmlString) { widgetText = (obj as IHtmlString).ToHtmlString(); } else { widgetText = GetResultViewStringFromController(objectPrefix, objType, obj); } } catch (Exception ex) { LiteralMessage msg = new LiteralMessage(ex, widgetKey, widget.ControlPath); obj = msg; widgetText = msg.ToHtmlString(); } } widgetText = widgetText ?? String.Empty; if (!widget.ControlPath.Contains(":") && String.IsNullOrEmpty(widgetText)) { string[] path = widget.ControlPath.Split('|'); string viewPath = path[0]; string modelClass = String.Empty; if (path.Length > 1) { modelClass = path[1]; } try { if (viewPath.EndsWith(".cshtml") || viewPath.EndsWith(".vbhtml")) { if (String.IsNullOrEmpty(modelClass)) { widgetText = RenderPartialToString(viewPath); } else { Type objType = ReflectionUtilities.GetTypeFromString(modelClass); Object model = Activator.CreateInstance(objType); if (model is IWidgetRawData) { (model as IWidgetRawData).RawWidgetData = widget.ControlProperties; } if (model is IWidget) { IWidget w = model as IWidget; w.SiteID = CmsPage.TheSite.SiteID; w.RootContentID = widget.Root_ContentID; w.PageWidgetID = widget.Root_WidgetID; w.IsDynamicInserted = true; w.IsBeingEdited = SecurityData.AdvancedEditMode; w.WidgetClientID = widgetKey; List <WidgetProps> lstProp = widget.ParseDefaultControlProperties(); w.PublicParmValues = lstProp.ToDictionary(t => t.KeyName, t => t.KeyValue); lstMenus = w.JSEditFunctions; if (!lstMenus.Any() && w.EnableEdit) { lstMenus.Add("Edit", "cmsGenericEdit('" + widget.Root_ContentID.ToString() + "','" + widget.Root_WidgetID.ToString() + "')"); } } widgetText = RenderPartialToString(viewPath, model); } } } catch (Exception ex) { LiteralMessage msg = new LiteralMessage(ex, widgetKey, widget.ControlPath); widgetText = msg.ToHtmlString(); } } if (widgetText == null || widget.ControlPath.ToLowerInvariant().EndsWith(".ascx")) { LiteralMessage msg = new LiteralMessage("The widget is not supported.", widgetKey, widget.ControlPath); widgetText = msg.ToHtmlString(); } widgetText = widgetText ?? String.Empty; if (SecurityData.AdvancedEditMode) { if (widget.IsWidgetActive) { sStatusTemplate = "<a href=\"javascript:cmsRemoveWidgetLink('[[ITEM_ID]]');\" id=\"cmsContentRemoveLink\" class=\"cmsWidgetBarLink cmsWidgetBarIconCross\" alt=\"Remove\" title=\"Remove\"> Disable</a>"; } else { sStatusTemplate = "<a href=\"javascript:cmsActivateWidgetLink('[[ITEM_ID]]');\" id=\"cmsActivateWidgetLink\" class=\"cmsWidgetBarLink cmsWidgetBarIconActive\" alt=\"Activate\" title=\"Activate\"> Enable</a>"; } widgetWrapper = masterWidgetWrapper; widgetWrapper = widgetWrapper.Replace("[[STATUS_LINK]]", sStatusTemplate); widgetWrapper = widgetWrapper.Replace("[[WIDGET_PATH]]", widget.ControlPath); widgetWrapper = widgetWrapper.Replace("[[sequence]]", widget.WidgetOrder.ToString()); widgetWrapper = widgetWrapper.Replace("[[ITEM_ID]]", widget.Root_WidgetID.ToString()); CMSPlugin plug = (from p in CmsPage.Plugins where p.FilePath.ToLowerInvariant() == widget.ControlPath.ToLowerInvariant() select p).FirstOrDefault(); string captionPrefix = String.Empty; if (!widget.IsWidgetActive) { captionPrefix = String.Format("{0} {1}", CMSConfigHelper.InactivePagePrefix, captionPrefix); } if (widget.IsRetired) { captionPrefix = String.Format("{0} {1}", CMSConfigHelper.RetiredPagePrefix, captionPrefix); } if (widget.IsUnReleased) { captionPrefix = String.Format("{0} {1}", CMSConfigHelper.UnreleasedPagePrefix, captionPrefix); } if (widget.IsWidgetPendingDelete) { captionPrefix = String.Format("{0} {1}", CMSConfigHelper.PendingDeletePrefix, captionPrefix); } if (plug != null) { string sysControl = (plug.SystemPlugin ? "[CMS]" : String.Empty); widgetWrapper = widgetWrapper.Replace("[[WIDGET_CAPTION]]", String.Format("{0} {1} {2}", captionPrefix, plug.Caption, sysControl).Trim()); } else { widgetWrapper = widgetWrapper.Replace("[[WIDGET_CAPTION]]", String.Format("{0} UNTITLED", captionPrefix).Trim()); } StringBuilder sbMenu = new StringBuilder(); sbMenu.AppendLine(); if (lstMenus != null) { foreach (var d in lstMenus) { sbMenu.AppendLine(widgetMenuTemplate.Replace("[[JS_CALL]]", d.Value).Replace("[[CAP]]", d.Key)); } } widgetWrapper = widgetWrapper.Replace("[[MENU_ITEMS]]", sbMenu.ToString().Trim()); widgetWrapper = widgetWrapper.Replace("[[WIDGET_CAPTION]]", widget.ControlPath + captionPrefix); widgetWrapper = widgetWrapper.Replace("[[CONTENT]]", widgetText); } else { widgetWrapper = widgetText; } if (!String.IsNullOrEmpty(widgetWrapper)) { sb.AppendLine(widgetWrapper); } } string bodyText = String.Empty; if (SecurityData.AdvancedEditMode) { bodyText = sWidgetZone.Replace("[[CONTENT]]", sb.ToString()); } else { bodyText = sb.ToString(); } return(new HtmlString(bodyText)); }
protected void BuildWidgetInstall() { pnlReview.Visible = true; SiteData site = SiteData.CurrentSite; CMSAdminModuleMenu thisModule = cmsHelper.GetCurrentAdminModuleControl(); string sDir = thisModule.ControlFile.Substring(0, thisModule.ControlFile.LastIndexOf("/")); List <CMSPlugin> lstPlug = cmsHelper.GetPluginsInFolder(sDir); CMSPlugin plug = lstPlug.Where(x => x.FilePath.EndsWith("PhotoGalleryPrettyPhoto.ascx")).FirstOrDefault(); GalleryHelper gh = new GalleryHelper(site.SiteID); foreach (GridViewRow row in gvPages.Rows) { Guid gRootPage = Guid.Empty; Guid gGallery = Guid.Empty; int iPost = 0; CheckBox chkSelect = (CheckBox)row.FindControl("chkSelect"); if (chkSelect.Checked) { HiddenField hdnPostID = (HiddenField)row.FindControl("hdnPostID"); iPost = int.Parse(hdnPostID.Value); List <WordPressPost> lstA = (from a in wpSite.Content where a.PostType == WordPressPost.WPPostType.Attachment && a.ParentPostID == iPost orderby a.PostDateUTC select a).Distinct().ToList(); lstA.ToList().ForEach(q => q.ImportFileSlug = ddlFolders.SelectedValue + "/" + q.ImportFileSlug); lstA.ToList().ForEach(q => q.ImportFileSlug = q.ImportFileSlug.Replace("//", "/").Replace("//", "/")); WordPressPost post = (from p in wpSite.Content where p.PostID == iPost select p).FirstOrDefault(); ContentPage cp = null; List <ContentPage> lstCP = pageHelper.FindPageByTitleAndDate(site.SiteID, post.PostTitle, post.PostName, post.PostDateUTC); if (lstCP != null && lstCP.Any()) { cp = lstCP.FirstOrDefault(); } if (cp != null) { gRootPage = cp.Root_ContentID; if (cp.PageText.Contains("[gallery]")) { cp.PageText = cp.PageText.Replace("[gallery]", ""); cp.SavePageEdit(); } } GalleryGroup gal = gh.GalleryGroupGetByName(post.PostTitle); if (gal == null) { gal = new GalleryGroup(); gal.SiteID = site.SiteID; gal.GalleryID = Guid.Empty; gal.GalleryTitle = post.PostTitle; gal.Save(); } gGallery = gal.GalleryID; int iPos = 0; foreach (var img in lstA) { img.ImportFileSlug = img.ImportFileSlug.Replace("//", "/").Replace("//", "/"); if (!chkFileGrab.Checked) { cmsHelper.GetFile(img.AttachmentURL, img.ImportFileSlug); } if (!string.IsNullOrEmpty(img.ImportFileSlug)) { GalleryImageEntry theImg = gh.GalleryImageEntryGetByFilename(gGallery, img.ImportFileSlug); if (theImg == null) { theImg = new GalleryImageEntry(); theImg.GalleryImage = img.ImportFileSlug; theImg.GalleryImageID = Guid.Empty; theImg.GalleryID = gGallery; } theImg.ImageOrder = iPos; theImg.Save(); GalleryMetaData theMeta = gh.GalleryMetaDataGetByFilename(img.ImportFileSlug); if (theMeta == null) { theMeta = new GalleryMetaData(); theMeta.GalleryImageMetaID = Guid.Empty; theMeta.SiteID = site.SiteID; } if (!string.IsNullOrEmpty(img.PostTitle) || !string.IsNullOrEmpty(img.PostContent)) { theMeta.ImageTitle = img.PostTitle; theMeta.ImageMetaData = img.PostContent; theMeta.Save(); } } iPos++; } if (gRootPage != Guid.Empty) { List <Widget> lstW = (from w in cp.GetWidgetList() where w.ControlPath.ToLower() == plug.FilePath.ToLower() && w.ControlProperties.ToLower().Contains(gGallery.ToString().ToLower()) select w).ToList(); if (lstW.Count < 1) { Widget newWidget = new Widget(); newWidget.ControlProperties = null; newWidget.Root_ContentID = gRootPage; newWidget.Root_WidgetID = Guid.NewGuid(); newWidget.WidgetDataID = newWidget.Root_WidgetID; newWidget.ControlPath = plug.FilePath; newWidget.EditDate = SiteData.CurrentSite.Now; newWidget.IsLatestVersion = true; newWidget.IsWidgetActive = true; newWidget.IsWidgetPendingDelete = false; newWidget.WidgetOrder = -1; newWidget.PlaceholderName = txtPlaceholderName.Text; List <WidgetProps> lstProps = new List <WidgetProps>(); lstProps.Add(new WidgetProps { KeyName = "ShowHeading", KeyValue = chkShowHeading.Checked.ToString() }); lstProps.Add(new WidgetProps { KeyName = "ScaleImage", KeyValue = chkScaleImage.Checked.ToString() }); lstProps.Add(new WidgetProps { KeyName = "ThumbSize", KeyValue = ddlSize.SelectedValue }); lstProps.Add(new WidgetProps { KeyName = "PrettyPhotoSkin", KeyValue = ddlSkin.SelectedValue }); lstProps.Add(new WidgetProps { KeyName = "GalleryID", KeyValue = gGallery.ToString() }); newWidget.SaveDefaultControlProperties(lstProps); newWidget.Save(); } } } } }