protected void SummaryListRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                WebModuleInfo    module = (WebModuleInfo)e.Item.DataItem;
                WebpageInfo      page   = module.Webpage;
                MasterDetailItem item   = MasterDetailItem.GetSafeResource(module.Id);

                if (item != null)
                {
                    if (item.IsFeatured)
                    {
                        HtmlControl divSummary = (HtmlControl)e.Item.FindControl("divSummary");
                        if (divSummary != null)
                        {
                            divSummary.Attributes["class"] += " MasterDetail_ListItemFeatured";
                        }

                        HtmlControl trFeaturedHeader = (HtmlControl)e.Item.FindControl("trFeaturedHeader");
                        if (trFeaturedHeader != null)
                        {
                            trFeaturedHeader.Visible = item.IsFeatured;
                        }
                    }

                    Image         imgMain    = (Image)e.Item.FindControl("imgMain");
                    HtmlTableCell tdImageCol = (HtmlTableCell)e.Item.FindControl("tdImageCol");
                    imgMain.Visible = !string.IsNullOrEmpty(item.ImagePath);
                    if (imgMain.Visible)
                    {
                        imgMain.ImageUrl = ResolveUrl(string.Format("~/Image.ashx?File={0}&Size=100", item.ImagePath));
                    }
                    else
                    {
                        if (!_itemList.ShowImageIfBlank)
                        {
                            tdImageCol.Visible = false;
                        }
                    }

                    if (_itemList.IsPostDateVisible)
                    {
                        Label postDateCtl = (Label)e.Item.FindControl("lblPostDate");
                        if (page.PostDate.HasValue)
                        {
                            postDateCtl.Text = page.PostDate.Value.ToLongDateString();
                        }
                    }

                    HyperLink hypTitle = (HyperLink)e.Item.FindControl("hypTitle");
                    hypTitle.NavigateUrl = ResolveUrl(page.Path);
                    hypTitle.Text        = MasterDetailItem.Chop(page.Text, 150, true);

                    HyperLink hypReadMore = (HyperLink)e.Item.FindControl("hypReadMore");
                    hypReadMore.NavigateUrl = ResolveUrl(page.Path);

                    Literal litSummary = (Literal)e.Item.FindControl("litSummary");
                    litSummary.Text = item.GetSummary(page);

                    if (item.Tags != null)
                    {
                        // Build unique list of tags for all articles in the summary display
                        string[] tagArray = item.Tags.Split(',');
                        foreach (var s in tagArray)
                        {
                            if (!TagList.Contains(s))
                            {
                                TagList.Add(s);
                            }
                        }
                    }
                }
                else
                {
                    e.Item.Visible = false;
                }
            }
        }
Beispiel #2
0
        private void LoadModule()
        {
            WebModuleInfo   module    = WebModule.GetModule(this.ModuleId);
            SlideShowModule slideshow = SlideShowModule.GetByModuleId(this.ModuleId);

            //model.SlideShow_Module slideshow = model.SlideShow_Module.Get(this.ModuleId);

            ClassName_div.Visible = false;
            ClassNameTextBox.Text = slideshow.SlideShowClassName ?? string.Empty;

            this.IsFlashSlideShow = (module.WebModuleType.Name == "Slide Show (Flash)");

            this.IsJQuerySlidingContentSlideShow = (module.WebModuleType.Name == "Slide Show (Sliding jQuery)");

            this.IsJQuerySlidingTextContentSlideShow = (module.WebModuleType.Name == "Slide Show (Sliding jQuery WYSIWYG)");

            this.IsGalleryViewSlideShow = (module.WebModuleType.Name == "Slide Show (Image Gallery)");

            this.IsFlexSlideShow = (module.WebModuleType.Name == "Slide Show (Flex SlideShow)");

            FlashFileCtl.ImagePath    = slideshow.FlashFileName;
            HeightCtl.Text            = slideshow.Height.ToString();
            WidthCtl.Text             = slideshow.Width.ToString();
            ImageDisplayTimeCtl.Text  = slideshow.ImageDisplayTime.ToString();
            ImageDisplayOrderCtl.Text = slideshow.ImageDisplayOrder.ToString();
            ImageLoopingCtl.Checked   = slideshow.ImageLooping;
            ImageFadeTimeCtl.Text     = slideshow.ImageFadeTime.ToString();
            //ImageXPositionCtl.Text = slideshow.ImageXPosition.ToString();
            //ImageYPositionCtl.Text = slideshow.ImageYPosition.ToString();

            if (this.IsJQuerySlidingContentSlideShow || this.IsJQuerySlidingTextContentSlideShow)
            {
                ImageNavTypeCtl.Text  = slideshow.NavType.ToString();
                ImageWrapTypeCtl.Text = slideshow.WrapType.ToString();
            }

            if (this.IsJQuerySlidingTextContentSlideShow)
            {
                SlideShowImagesCtl.IsJQuerySlidingTextContentSlideShow = true;
            }

            if (this.IsGalleryViewSlideShow)
            {
                SlideShowImagesCtl.IsGalleryViewSlideShow = true;
            }

            SlideShowImagesCtl.Load_(this.ModuleId);

            if (this.IsFlashSlideShow)
            {
                InitFlashSlideshowAdmin();
            }
            else if (this.IsJQuerySlidingContentSlideShow)
            {
                InitJQuerySlidingContentSlideshowAdmin();
            }
            else if (this.IsJQuerySlidingTextContentSlideShow)
            {
                InitJQuerySlidingTextContentSlideshowAdmin();
            }
            else if (this.IsGalleryViewSlideShow)
            {
                InitGalleryViewSlideshowAdmin();
            }
            else if (this.IsFlexSlideShow)
            {
                InitFlexSlideShow();
            }
            else
            {
                InitNormalSlideshowAdmin();
            }
        }
        protected override void PopulateRss(string channelName, string userName)
        {
            // Get the data
            string qModuleId = HttpContext.Current.Request["moduleId"];
            int    moduleId;

            if (!int.TryParse(qModuleId, out moduleId) || moduleId <= 0)
            {
                throw new ArgumentException("Invalid or missing module id: " + moduleId);
            }

            WebModuleInfo MasterDetailListModule = WebModule.GetModule(moduleId);

            if (MasterDetailListModule.WebModuleType != MasterDetailList.ModuleType)
            {
                throw new ArgumentException(string.Format("Invalid module type '{0}'. Module type must be '{1}'", MasterDetailListModule.ModuleTypeName, MasterDetailList.ModuleType.Name));
            }
            WebpageInfo MasterDetailListPage = MasterDetailListModule.Webpage;

            if (null == MasterDetailListModule)
            {
                throw new ArgumentException("Invalid module id: " + moduleId);
            }
            List <WebModuleInfo> MasterDetailItemModules = MasterDetailList.GetMasterDetailChildren(moduleId, true, true);


            // Build the feed
            Rss.Channel             = new MasterDetailChannel();
            Rss.Version             = "2.0";
            Rss.Channel.Title       = MasterDetailListPage.Title;
            Rss.Channel.Description = MasterDetailListPage.MetaDescription;
            Rss.Channel.Link        = MasterDetailListPage.Path;

            Rss.Channel.Items = new List <MasterDetailRssItem>();
            if (!string.IsNullOrEmpty(channelName))
            {
                Rss.Channel.Title += " '" + channelName + "'";
            }

            if (!string.IsNullOrEmpty(userName))
            {
                Rss.Channel.Title += " (generated for " + userName + ")";
            }

            int maxItemsPerPage = 25;
            int i = 0;

            foreach (WebModuleInfo m in MasterDetailItemModules)
            {
                WebpageInfo      p       = m.Webpage;
                MasterDetailItem itemRes = MasterDetailItem.GetSafeResource(m.Id);
                //string postDateString = "";
                //if (p.PostDate.HasValue)
                //{
                //this is a hack
                //	postDateString = p.PostDate.Value.GetDateTimeFormats(
                //		System.Globalization.CultureInfo.GetCultureInfo("en-US"))[103];
                //}

                MasterDetailRssItem item = new MasterDetailRssItem();
                item.Title       = p.Title;
                item.Description = itemRes.GetSummary(p);
                if (p.PostDate.HasValue)
                {
                    item.PubDate = RssXmlHelper.ToRfc822(p.PostDate.Value);
                }
                item.Link = VirtualPathUtility.ToAbsolute(p.Path);

                Rss.Channel.Items.Add(item);

                i++;
                if (i == maxItemsPerPage)
                {
                    break;
                }
            }
        }
Beispiel #4
0
        public static List <WebModuleInfo> GetMasterDetailChildrenFiltered(int moduleId,
                                                                           bool filteryByPostDateAndRemoveDate,
                                                                           bool orderByMostRecentPosting,
                                                                           string filterTag, bool displayAllItems)
        {
            //get the module object.
            WebModuleInfo module = WebModule.GetModule(moduleId);
            //get the container page of the module.
            WebpageInfo page = module.Webpage;
            //get all the MasterDetail modules on the child pages.
            List <WebpageInfo>   childPages          = page.Children;
            List <WebModuleInfo> MasterDetailModules = new List <WebModuleInfo>();

            foreach (WebpageInfo p in childPages)
            {
                MasterDetailModules.AddRange(p.Modules.FindAll(
                                                 delegate(WebModuleInfo m)
                {
                    return(m.WebModuleType == MasterDetailItem.ModuleType && !m.IsAlias);
                }));
            }

            if (filteryByPostDateAndRemoveDate)
            { //remove premature/expired/non-visible items.
                MasterDetailModules.RemoveAll(
                    delegate(WebModuleInfo m)
                {
                    WebpageInfo p = m.Webpage;
                    if (displayAllItems)
                    {
                        return((p.PostDate.HasValue && DateTime.Now < p.PostDate) ||
                               (p.RemoveDate.HasValue && DateTime.Today >= p.RemoveDate));
                    }
                    else
                    {
                        return((p.PostDate.HasValue && DateTime.Now < p.PostDate) ||
                               (p.RemoveDate.HasValue && DateTime.Today >= p.RemoveDate) ||
                               (!p.Visible));
                    }
                });
            }

            if (!string.IsNullOrEmpty(filterTag))
            {
                //remove non-matching tags.
                MasterDetailModules.RemoveAll(
                    delegate(WebModuleInfo m)
                {
                    MasterDetailItem item = MasterDetailItem.GetSafeResource(m.Id);
                    string[] tagArray     = item.Tags.Split(',');
                    foreach (var s in tagArray)
                    {
                        if (s == filterTag)
                        {
                            return(false);
                        }
                    }
                    return(true);
                });
            }

            if (orderByMostRecentPosting)
            {
                MasterDetailModules.Sort(CompareWebModulesByPostDate);
            }

            return(MasterDetailModules);
        }
        public void EmailNotifyAdmin()
        {
            try
            {
                var body = new StringBuilder();

                string   strNotifyEmails  = this.FormBuilder_Module.NotifyEmail;
                string[] astrNotifyEmails = strNotifyEmails.Split(new char[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries);
                if (astrNotifyEmails.Length > 0)
                {
                    WebModuleInfo module = WebModule.GetModule(this.FormBuilder_Module.ModuleId);

                    var dbContext = new FormBuilderDataContext();
                    List <FormBuilder_FieldInput> lInputsSorted = (from i in dbContext.FormBuilder_FieldInputs
                                                                   where i.ResponseId == this.Id
                                                                   orderby i.FormBuilder_Field.SortOrder
                                                                   select i).ToList();

                    foreach (var input in lInputsSorted)
                    {
                        if (input.FormBuilder_Field.Type == (int)FormBuilder_Field.FieldType.FileUpload &&
                            !String.IsNullOrEmpty(input.InputValue))
                        {
                            body.Append(input.FormBuilder_Field.Name
                                        + String.Format(": <b>{0}",
                                                        input.InputValue.Replace("~", "").Replace("//", "").Replace(@"\", "")) + "</b><br>");
                        }
                        else if (input.FormBuilder_Field.Type == (int)FormBuilder_Field.FieldType.SectionHeader)
                        {
                            body.Append(String.Format("<br/><b>{0}</b><br/>", input.FormBuilder_Field.Name));
                        }
                        else
                        {
                            body.Append(input.FormBuilder_Field.Name + ": <b>" + input.InputValue + "</b><br>");
                        }
                    }

                    MailMessage email = new MailMessage();
                    foreach (string strNotifyEmail in astrNotifyEmails)
                    {
                        MailAddress address = new MailAddress(strNotifyEmail.Trim());
                        email.To.Add(address);
                    }

                    email.Body = "<font face='Arial'>New form response submission has been received.<br>" +
                                 "<hr>" + body + "<br>" +
                                 "To view all form responses, " +
                                 "<a href='" + Common.Web.Url.ToAbsoluteUrl(module.GetEditUrl()) + "'>click here</a>." +
                                 "</font>";

                    email.Subject = string.Format("{0}: {1}",
                                                  Website.Current.Resource.Name,
                                                  module.Webpage.Title);

                    email.IsBodyHtml = true;

                    new SmtpClient().Send(email);
                }
            }
            catch (Exception ex)
            {
                string strMessage = "Failed sending contact us notification message";
                BayshoreSolutions.WebModules.WebModulesAuditEvent.Raise(strMessage, this, ex);
            }
        }