Exemple #1
0
        public ActionResult CmsPagesAdd(BackEndCmsPagesAdd backEndCmsPagesAdd)
        {
            if (ModelState.IsValidOrRefresh())
            {
                CmsPages CmsPages = new CmsPages();
                int?     result   = CmsPages.Add(backEndCmsPagesAdd.PageParentId, backEndCmsPagesAdd.Segment, backEndCmsPagesAdd.PageName, backEndCmsPagesAdd.Target, backEndCmsPagesAdd.PageTemplateId, backEndCmsPagesAdd.Url, backEndCmsPagesAdd.ShowInMainMenu, backEndCmsPagesAdd.ShowInBottomMenu, backEndCmsPagesAdd.ShowInSitemap, backEndCmsPagesAdd.IsActive, backEndCmsPagesAdd.IsAccessRestricted, backEndCmsPagesAdd.IsHomePage);
                switch (result)
                {
                case 0:
                    ModelState.Clear();
                    backEndCmsPagesAdd = new BackEndCmsPagesAdd();

                    ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.ItemSuccessfullyAdded);
                    break;

                case 2:
                    ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.PageSegmentAlreadyExists);
                    break;

                default:
                    ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError);
                    break;
                }
            }

            return(View(backEndCmsPagesAdd));
        }
Exemple #2
0
        public ActionResult CmsPagesEdit(int id)
        {
            BackEndCmsPagesEdit backEndCmsPagesEdit = new BackEndCmsPagesEdit();

            CmsPages CmsPages = new CmsPages();
            CmsPage  CmsPage  = CmsPages.GetPageByPageId(id);

            if (CmsPage.IsNotNull())
            {
                backEndCmsPagesEdit.PageId             = CmsPage.PageId;
                backEndCmsPagesEdit.PageParentId       = CmsPage.PageParentId;
                backEndCmsPagesEdit.Segment            = CmsPage.Segment;
                backEndCmsPagesEdit.PageName           = CmsPage.PageName;
                backEndCmsPagesEdit.Target             = CmsPage.Target;
                backEndCmsPagesEdit.PageTemplateId     = CmsPage.PageTemplateId;
                backEndCmsPagesEdit.Url                = CmsPage.Url;
                backEndCmsPagesEdit.ShowInMainMenu     = CmsPage.ShowInMainMenu;
                backEndCmsPagesEdit.ShowInBottomMenu   = CmsPage.ShowInBottomMenu;
                backEndCmsPagesEdit.ShowInSitemap      = CmsPage.ShowInSitemap;
                backEndCmsPagesEdit.IsActive           = CmsPage.IsActive;
                backEndCmsPagesEdit.IsAccessRestricted = CmsPage.IsAccessRestricted;
                backEndCmsPagesEdit.IsHomePage         = CmsPage.IsHomePage;
            }
            else
            {
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist);
                ViewData.IsFormVisible(false);
            }

            return(View(backEndCmsPagesEdit));
        }
Exemple #3
0
        public ActionResult CmsPagesEdit(BackEndCmsPagesEdit backEndCmsPagesEdit, int id)
        {
            if (ModelState.IsValidOrRefresh())
            {
                CmsPages CmsPages = new CmsPages();
                int?     result   = CmsPages.Edit(id, backEndCmsPagesEdit.PageParentId, backEndCmsPagesEdit.Segment, backEndCmsPagesEdit.PageName, backEndCmsPagesEdit.Target, backEndCmsPagesEdit.PageTemplateId, backEndCmsPagesEdit.Url, backEndCmsPagesEdit.ShowInMainMenu, backEndCmsPagesEdit.ShowInBottomMenu, backEndCmsPagesEdit.ShowInSitemap, backEndCmsPagesEdit.IsActive, backEndCmsPagesEdit.IsAccessRestricted, backEndCmsPagesEdit.IsHomePage);
                switch (result)
                {
                case 0:
                    ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.ItemSuccessfullyEdited);
                    break;

                case 2:
                    ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist);
                    ViewData.IsFormVisible(false);
                    break;

                case 3:
                    ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.PageSegmentAlreadyExists);
                    break;

                default:
                    ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError);
                    break;
                }
            }

            return(View(backEndCmsPagesEdit));
        }
Exemple #4
0
        public ActionResult CmsPagesMoveDown(int postId)
        {
            CmsPages CmsPages = new CmsPages();

            switch (CmsPages.MoveDown(postId))
            {
            case 0:
                ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.PageSuccessfullyMoved);
                break;

            case 2:
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist);
                break;

            case 3:
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.PageCannotBeMoved);
                break;

            default:
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError);
                break;
            }

            return(RedirectToAction("CmsPages"));
        }
        public void Create_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            var specialIdList = new List <int>();

            foreach (ListItem item in LbSpecialIdList.Items)
            {
                if (!item.Selected)
                {
                    continue;
                }

                var specialId = TranslateUtils.ToInt(item.Value);
                specialIdList.Add(specialId);
            }

            if (specialIdList.Count == 0)
            {
                FailMessage("请选择需要生成的专题!");
                return;
            }

            foreach (var specialId in specialIdList)
            {
                CreateManager.CreateSpecial(SiteId, specialId);
            }

            PageUtils.Redirect(CmsPages.GetCreateStatusUrl(SiteId));
        }
        public void Create_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            var templateIdList = new List <int>();

            foreach (ListItem item in LbTemplateIdList.Items)
            {
                if (!item.Selected)
                {
                    continue;
                }

                var templateId = int.Parse(item.Value);
                templateIdList.Add(templateId);
            }

            if (templateIdList.Count == 0)
            {
                FailMessage("请选择需要生成的文件页!");
                return;
            }

            foreach (var templateId in templateIdList)
            {
                CreateManager.CreateFile(SiteId, templateId);
            }

            PageUtils.Redirect(CmsPages.GetCreateStatusUrl(SiteId));
        }
Exemple #7
0
        public ActionResult News(BackEndNewsList backEndNewsList)
        {
            News news = new News();

            backEndNewsList.NewsList = news.GetNews(ConfigurationManager.AppSettings["AdminLanguageCode"],
                                                    newsTitle: backEndNewsList.NewsTitle,
                                                    isActive: backEndNewsList.IsActive,
                                                    categoryId: backEndNewsList.CategoryId,
                                                    newsDateFrom: backEndNewsList.NewsDateFrom,
                                                    newsDateTo: backEndNewsList.NewsDateTo);
            if (backEndNewsList.NewsList.IsNull() || backEndNewsList.NewsList.Count == 0)
            {
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.NoDataFound);
            }
            else
            {
                NewsConfiguration newsConfiguration = new NewsConfigurations().GetNewsConfiguration();
                if (newsConfiguration.IsNewsActive && newsConfiguration.NewsPageId.IsNotNull())
                {
                    CmsPages          cmsPages          = new CmsPages();
                    CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(newsConfiguration.NewsPageId, ConfigurationManager.AppSettings["AdminLanguageCode"]);
                    backEndNewsList.FrontEndUrl = cmsPageActionlink.Url;
                }
            }

            return(View(backEndNewsList));
        }
Exemple #8
0
        public ActionResult CmsPagesDelete(int deleteId)
        {
            CmsPages CmsPages = new CmsPages();

            switch (CmsPages.Delete(deleteId))
            {
            case 0:
                PagesLanguages pagesLanguages = new PagesLanguages();
                pagesLanguages.ForceCache();

                ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.ItemSuccessfullyDeleted);
                break;

            case 2:
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist);
                break;

            case 3:
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.PageHasSubPages);
                break;

            default:
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError);
                break;
            }

            return(RedirectToAction("CmsPages"));
        }
        public static IHtmlString GetFooterMenu(this HtmlHelper htmlHelper, FrontEndCmsPage model, string className = "nav nav-pills")
        {
            string         footerMenu = string.Empty;
            List <CmsPage> pagesObj   = new CmsPages().GetAllPages();

            if (pagesObj != null)
            {
                pagesObj = (from page in pagesObj
                            where page.ShowInBottomMenu && page.IsActive
                            select page).ToList();
                if (pagesObj != null && pagesObj.Count > 0)
                {
                    footerMenu += "<ul class=\"" + className + "\">";
                    string url;
                    GlobalConfiguration globalConfiguration    = new GlobalConfigurations().GetGlobalConfiguration();
                    PagesLanguages      backEndCmsPagesContent = new PagesLanguages();
                    PageLanguage        backEndCmsPageLanguage;
                    string pageTitle = string.Empty;
                    foreach (CmsPage pageObj in pagesObj)
                    {
                        backEndCmsPageLanguage = backEndCmsPagesContent.GetPageLanguage(pageObj.PageId, model.LanguageCode);

                        if (backEndCmsPageLanguage.IsNotNull() && backEndCmsPageLanguage.MenuName.IsNotEmptyOrWhiteSpace())
                        {
                            pageTitle = backEndCmsPageLanguage.MenuName;
                        }
                        else
                        {
                            pageTitle = pageObj.PageName;
                        }

                        if (pageObj.PageTemplateId.IsNull())
                        {
                            url = pageObj.Url;
                        }
                        else
                        {
                            url = "/";
                            if (!pageObj.IsHomePage || model.LanguageCode != globalConfiguration.DefaultLanguageCode)
                            {
                                if (pageObj.IsHomePage)
                                {
                                    url += model.LanguageCode + "/";
                                }
                                else
                                {
                                    url += model.LanguageCode + "/" + pageObj.FullSegment + "/";
                                }
                            }
                        }
                        footerMenu += "<li><a href=\"" + url + "\" target=\"" + pageObj.Target + "\" title=\"" + pageTitle + "\">" + pageTitle + "</a></li>";
                    }
                    footerMenu += "</ul>";
                }
            }
            return(htmlHelper.Raw(footerMenu));
        }
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("siteId");
            _returnUrl = StringUtils.ValueFromUrl(AuthRequest.GetQueryString("ReturnUrl"));
            if (string.IsNullOrEmpty(_returnUrl))
            {
                _returnUrl = CmsPages.GetContentsUrl(SiteId, AuthRequest.GetQueryInt("channelId"));
            }
            //if (!base.HasChannelPermissions(this.channelId, AppManager.CMS.Permission.Channel.ContentTranslate))
            //{
            //    PageUtils.RedirectToErrorPage("您没有此栏目的内容转移权限!");
            //    return;
            //}

            //bool isCut = base.HasChannelPermissions(this.channelId, AppManager.CMS.Permission.Channel.ContentDelete);
            const bool isCut = true;

            _idsDictionary = ContentUtility.GetIDsDictionary(Request.QueryString);

            if (IsPostBack)
            {
                return;
            }

            var builder = new StringBuilder();

            foreach (var channelId in _idsDictionary.Keys)
            {
                var contentIdList = _idsDictionary[channelId];
                if (contentIdList != null)
                {
                    foreach (var contentId in contentIdList)
                    {
                        var contentInfo = ContentManager.GetContentInfo(SiteInfo, channelId, contentId);
                        if (contentInfo != null)
                        {
                            builder.Append(
                                $@"{WebUtils.GetContentTitle(SiteInfo, contentInfo, _returnUrl)}<br />");
                        }
                    }
                }
            }
            LtlContents.Text = builder.ToString();

            BtnTranslateAdd.Attributes.Add("onclick", ModalChannelMultipleSelect.GetOpenWindowString(SiteId, true));

            ETranslateContentTypeUtils.AddListItems(RblTranslateType, isCut);
            ControlUtils.SelectSingleItem(RblTranslateType, ETranslateContentTypeUtils.GetValue(ETranslateContentType.Copy));
        }
Exemple #11
0
        public ActionResult CmsPages(BackEndCmsPagesList backEndCmsPagesList)
        {
            CmsPages CmsPages = new CmsPages();

            backEndCmsPagesList.TreeTablePageList = CmsPages.GetTreeTablePageList(backEndCmsPagesList.PageName);
            if (backEndCmsPagesList.TreeTablePageList.IsNull())
            {
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.NoDataFound);
            }

            return(View(backEndCmsPagesList));
        }
Exemple #12
0
        public static IHtmlString GetSubscriptionPanel(this HtmlHelper htmlHelper, FrontEndCmsPage model)
        {
            StringBuilder result = new StringBuilder();

            SubscriptionConfiguration subscriptionConfiguration = new SubscriptionConfigurations().GetSubscriptionConfiguration();

            if (subscriptionConfiguration.IsSubscriptionActive)
            {
                CmsPages cmsPages = new CmsPages();
                result.AppendLine("<ul class=\"nav navbar-nav navbar-right navbar-underline-hover\">");
                if (FrontEndSessions.CurrentSubscription.IsNull())
                {
                    if (subscriptionConfiguration.RegisterPageId.IsNotNull())
                    {
                        CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.RegisterPageId, model.LanguageCode);
                        result.AppendLine("    <li><a href=\"" + cmsPageActionlink.Url + "\"><i class=\"fa fa-check-square-o\"></i> " + cmsPageActionlink.Title + "</a></li>");
                    }
                    if (subscriptionConfiguration.SignInPageId.IsNotNull())
                    {
                        CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.SignInPageId, model.LanguageCode);
                        result.AppendLine("    <li><a href=\"" + cmsPageActionlink.Url + "\"><i class=\"fa fa-sign-in\"></i> " + cmsPageActionlink.Title + "</a></li>");
                    }
                }
                else
                {
                    result.AppendLine("    <li class=\"dropdown\">");
                    result.AppendLine("        <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">" + FrontEndSessions.CurrentSubscription.FirstName + " <i class=\"fa fa-user\"></i> <b class=\"caret\"></b></a>");
                    result.AppendLine("        <ul class=\"dropdown-menu\">");
                    if (subscriptionConfiguration.ProfilePageId.IsNotNull())
                    {
                        CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.ProfilePageId, model.LanguageCode);
                        result.AppendLine("            <li><a href=\"" + cmsPageActionlink.Url + "\"><i class=\"fa fa-cog\"></i> " + cmsPageActionlink.Title + "</a></li>");
                    }
                    if (subscriptionConfiguration.ChangePasswordPageId.IsNotNull())
                    {
                        CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.ChangePasswordPageId, model.LanguageCode);
                        result.AppendLine("            <li><a href=\"" + cmsPageActionlink.Url + "\"><i class=\"fa fa-lock\"></i> " + cmsPageActionlink.Title + "</a></li>");
                    }
                    if (subscriptionConfiguration.SignInPageId.IsNotNull())
                    {
                        CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.SignInPageId, model.LanguageCode);
                        result.AppendLine("            <li class=\"divider\"></li>");
                        result.AppendLine("            <li><a href=\"" + cmsPageActionlink.Url + "?a=sign-out\"><i class=\"fa fa-sign-out\"></i> " + Event304.Resources.Strings.SignOut + "</a></li>");
                    }
                    result.AppendLine("        </ul>");
                    result.AppendLine("    </li>");
                }
                result.AppendLine("</ul>");
            }

            return(htmlHelper.Raw(result.ToString()));
        }
Exemple #13
0
        private SyndicationFeed GetSyndicationFeed(string langCode)
        {
            Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(langCode);

            SyndicationFeed result = new SyndicationFeed();

            NewsConfiguration newsConfiguration = new NewsConfigurations().GetNewsConfiguration();

            if (newsConfiguration.IsNewsActive && newsConfiguration.NewsPageId.IsNotNull())
            {
                CmsPages          cmsPages          = new CmsPages();
                CmsPageActionlink cmsPageActionlink = cmsPages.GetCmsPageActionlink(newsConfiguration.NewsPageId, langCode);

                News news = new News();

                List <SingleNews> newsList = news.GetNews(
                    langCode,
                    isActive: true,
                    isCategoryActive: true
                    ).OrderByDescending(i => i.NewsDate).Take(10).ToList();

                if (newsList.IsNotNull())
                {
                    GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration();

                    result = new SyndicationFeed(
                        Resources.Strings_News.NewsFeedTitle.Replace("{$SiteName}", globalConfiguration.SiteName),
                        Resources.Strings_News.NewsFeedDescription.Replace("{$SiteName}", globalConfiguration.SiteName),
                        Request.Url,
                        Guid.NewGuid().ToString(),
                        DateTime.Now);

                    List <SyndicationItem> items = new List <SyndicationItem>();

                    SyndicationItem item;
                    foreach (SingleNews singleNews in newsList)
                    {
                        item = new SyndicationItem(
                            singleNews.NewsTitle,
                            singleNews.NewsContent.StripHtml().TrimToMaxLength(255, "..."),
                            new Uri(Request.Url.Scheme + "://" + Request.Url.Authority + cmsPageActionlink.Url + singleNews.NewsId + "-" + singleNews.NewsTitle.ToFriendlyUrlDashedString() + "/"),
                            singleNews.NewsId.ToString(),
                            singleNews.NewsDate);
                        items.Add(item);
                    }

                    result.Items = items;
                }
            }

            return(result);
        }
        public ActionResult CmsPagesLanguages(int id)
        {
            List <BackEndCmsPagesLanguagesAddEdit> backEndCmsPagesLanguagesAddEditList = new List <BackEndCmsPagesLanguagesAddEdit>();

            CmsPages CmsPages = new CmsPages();
            CmsPage  CmsPage;
            BackEndCmsPagesLanguagesAddEdit backEndCmsPagesLanguagesAddEdit;
            PagesLanguages backEndCmsPagesLanguages = new PagesLanguages();
            PageLanguage   backEndCmsPageLanguage;

            foreach (Language language in new Languages().GetAllLanguages(isActive: true))
            {
                backEndCmsPagesLanguagesAddEdit = new BackEndCmsPagesLanguagesAddEdit();
                CmsPage = CmsPages.GetPageByPageId(id);
                if (CmsPage.IsNotNull())
                {
                    backEndCmsPagesLanguagesAddEdit.PageId       = CmsPage.PageId;
                    backEndCmsPagesLanguagesAddEdit.LanguageCode = language.LanguageCode;
                    backEndCmsPagesLanguagesAddEdit.PageName     = CmsPage.PageName;
                    backEndCmsPagesLanguagesAddEdit.LanguageName = language.LanguageName;

                    backEndCmsPageLanguage = backEndCmsPagesLanguages.GetPageLanguage(CmsPage.PageId, language.LanguageCode);
                    if (backEndCmsPageLanguage.IsNotNull())
                    {
                        backEndCmsPagesLanguagesAddEdit.MenuName           = backEndCmsPageLanguage.MenuName;
                        backEndCmsPagesLanguagesAddEdit.MetaTagTitle       = backEndCmsPageLanguage.MetaTagTitle;
                        backEndCmsPagesLanguagesAddEdit.MetaTagKeywords    = backEndCmsPageLanguage.MetaTagKeywords;
                        backEndCmsPagesLanguagesAddEdit.MetaTagDescription = backEndCmsPageLanguage.MetaTagDescription;
                        backEndCmsPagesLanguagesAddEdit.Robots             = backEndCmsPageLanguage.Robots;
                        backEndCmsPagesLanguagesAddEdit.HtmlCode           = backEndCmsPageLanguage.HtmlCode;
                    }
                    else
                    {
                        backEndCmsPagesLanguages.AddEdit(id, backEndCmsPagesLanguagesAddEdit.LanguageCode, CmsPage.PageName, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty);
                        backEndCmsPageLanguage = backEndCmsPagesLanguages.GetPageLanguage(CmsPage.PageId, language.LanguageCode);
                    }
                }
                else
                {
                    ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist);
                    ViewData.IsFormVisible(false);
                    break;
                }
                backEndCmsPagesLanguagesAddEditList.Add(backEndCmsPagesLanguagesAddEdit);
            }

            return(View(backEndCmsPagesLanguagesAddEditList));
        }
Exemple #15
0
        public static IHtmlString GetBreadCrumbs(this HtmlHelper htmlHelper, FrontEndCmsPage model, string className = "breadcrumb", string label = "", string separator = "/")
        {
            string         breadCrumbs    = string.Empty;
            CmsPages       pages          = new CmsPages();
            PagesLanguages pagesLanguages = new PagesLanguages();

            BuildBreadCrumbs(pages, pagesLanguages, ref breadCrumbs, model.PageId, model.LanguageCode, separator, false);
            if (breadCrumbs.IsNotEmptyOrWhiteSpace())
            {
                if (label.IsNotEmptyOrWhiteSpace())
                {
                    label = "<span>" + label + "</span>";
                }
                breadCrumbs = "<ul class=\"" + className + "\">" + breadCrumbs.Insert(breadCrumbs.IndexOf('>') + 1, label) + "</ul>";
            }
            return(htmlHelper.Raw(breadCrumbs));
        }
Exemple #16
0
        private static void BuildBreadCrumbs(CmsPages pages, PagesLanguages pageLanguages, ref string breadCrumbs, int?pageId, string langCode, string separator, bool isPreviousHomePage)
        {
            CmsPage page = pages.GetPageByPageId(pageId);

            if (page.IsNotNull())
            {
                PageLanguage pageLanguage = pageLanguages.GetPageLanguage(pageId, langCode);
                string       title        = page.PageName;
                if (pageLanguage.IsNotNull() && pageLanguage.MenuName.IsNotEmptyOrWhiteSpace())
                {
                    title = pageLanguage.MenuName;
                }

                if (breadCrumbs.IsEmptyOrWhiteSpace())
                {
                    breadCrumbs = "<li class=\"active\">" + title + "</li>";
                }
                else
                {
                    GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration();
                    string url = "/";
                    if (!page.IsHomePage || langCode != globalConfiguration.DefaultLanguageCode)
                    {
                        if (page.IsHomePage)
                        {
                            url += langCode + "/";
                        }
                        else
                        {
                            url += langCode + "/" + page.FullSegment + "/";
                        }
                    }
                    breadCrumbs = "<li><a href=\"" + url + "\">" + title + "</a></li>" + breadCrumbs;
                }
                BuildBreadCrumbs(pages, pageLanguages, ref breadCrumbs, page.PageParentId, langCode, separator, page.IsHomePage);
            }
            else if (page.IsNull() && !isPreviousHomePage)
            {
                page = pages.GetHomePage();
                if (page.IsNotNull())
                {
                    BuildBreadCrumbs(pages, pageLanguages, ref breadCrumbs, page.PageId, langCode, separator, page.IsHomePage);
                }
            }
        }
Exemple #17
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            FrontEndCmsPage page = filterContext.ActionParameters["page"] as FrontEndCmsPage;

            if (page.IsNotNull())
            {
                CmsPages cmsPages = new CmsPages();

                if (FrontEndSessions.CurrentSubscription.IsNull())
                {
                    SubscriptionConfiguration subscriptionConfiguration = new SubscriptionConfigurations().GetSubscriptionConfiguration();
                    CmsPageActionlink         cmsPageActionlink         = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.SignInPageId, page.LanguageCode);
                    if (cmsPageActionlink.IsNotNull())
                    {
                        filterContext.Result = new ChildActionRedirectResult(cmsPageActionlink.Url + "?ReturnUrl=" + HttpUtility.UrlEncode(filterContext.RequestContext.HttpContext.Request.Url.AbsoluteUri));
                    }
                }
            }
        }
Exemple #18
0
        public ActionResult Index(string languageCode, string segments)
        {
            GlobalConfiguration globalConfiguration = new GlobalConfigurations().GetGlobalConfiguration();

            if (!globalConfiguration.IsOffline || Request["OfflineCode"] == globalConfiguration.OfflineCode || Session["OfflineCode"].ConvertTo <string>(null, true) == globalConfiguration.OfflineCode)
            {
                if (Session["OfflineCode"].IsNull())
                {
                    Session["OfflineCode"] = Request["OfflineCode"];
                }

                FrontEndCmsPage page = new FrontEndCmsPage()
                {
                    PageId             = null,
                    LanguageCode       = globalConfiguration.DefaultLanguageCode,
                    LanguageFolder     = "",
                    Parameter          = string.Empty,
                    MetaTagTitle       = globalConfiguration.MetaTitle,
                    MetaTagKeywords    = globalConfiguration.MetaKeywords,
                    MetaTagDescription = globalConfiguration.MetaDescription,
                    Robots             = globalConfiguration.Robots,
                    PageTemplateId     = null,
                    StatusCode         = null
                };

                CmsPages cmsPages          = new CmsPages();
                CmsPage  cmsPage           = cmsPages.GetHomePage();
                bool     isHomePageDefined = cmsPage.IsNotNull();

                if (segments.IsNotEmptyOrWhiteSpace())
                {
                    segments = segments.TrimEnd('/');

                    cmsPage = cmsPages.GetPageBySegments(segments);
                    if (cmsPage.IsNull() && segments.Contains('/'))
                    {
                        cmsPage        = cmsPages.GetPageBySegments(segments.Remove(segments.LastIndexOf('/')));
                        page.Parameter = segments.Substring(segments.LastIndexOf('/') + 1); //the parameter can be a dash separated list of parameters. E.g. 2-today_the_weather_is_nice
                    }
                }

                Language language = new Languages().GetLanguageByCode(languageCode);

                if (
                    cmsPage.IsNotNull() &&                                                                             //The page exists
                    (cmsPage.IsActive || (Request["preview"] == "true" && BackEndSessions.CurrentUser.IsNotNull())) && //The page is active or the page is in preview mode with a user logged in the admin area
                    language.IsNotNull() &&                                                                            //The language exists
                    language.IsActive                                                                                  //The language is active
                    )
                {
                    if (cmsPage.IsAccessRestricted && FrontEndSessions.CurrentSubscription.IsNull())
                    {
                        SubscriptionConfiguration subscriptionConfiguration = new SubscriptionConfigurations().GetSubscriptionConfiguration();
                        CmsPageActionlink         cmsPageActionlink         = cmsPages.GetCmsPageActionlink(subscriptionConfiguration.SignInPageId, language.LanguageCode);
                        if (cmsPageActionlink.IsNotNull())
                        {
                            return(Redirect(cmsPageActionlink.Url + "?ReturnUrl=" + HttpUtility.UrlEncode(Request.Url.AbsoluteUri)));
                        }
                    }

                    page.PageId         = cmsPage.PageId;
                    page.LanguageCode   = language.LanguageCode;
                    page.LanguageFolder = language.LanguageCode == globalConfiguration.DefaultLanguageCode ? "" : language.LanguageCode;
                    page.PageTemplateId = cmsPage.PageTemplateId;

                    PageLanguage pageLanguage = new PagesLanguages().GetPageLanguage(cmsPage.PageId, language.LanguageCode);
                    if (pageLanguage.IsNotNull())
                    {
                        if (pageLanguage.MetaTagTitle.IsNotEmptyOrWhiteSpace())
                        {
                            page.MetaTagTitle = pageLanguage.MetaTagTitle.ReplaceGlobalTokens();
                        }

                        if (pageLanguage.MetaTagKeywords.IsNotEmptyOrWhiteSpace())
                        {
                            page.MetaTagKeywords = pageLanguage.MetaTagKeywords.ReplaceGlobalTokens();
                        }

                        if (pageLanguage.MetaTagDescription.IsNotEmptyOrWhiteSpace())
                        {
                            page.MetaTagDescription = pageLanguage.MetaTagDescription.ReplaceGlobalTokens();
                        }

                        if (pageLanguage.Robots.IsNotEmptyOrWhiteSpace())
                        {
                            page.Robots = pageLanguage.Robots;
                        }
                    }
                }
                else
                {
                    if (language.IsNotNull())
                    {
                        page.LanguageCode   = language.LanguageCode;
                        page.LanguageFolder = language.LanguageCode == globalConfiguration.DefaultLanguageCode ? "" : language.LanguageCode;
                    }

                    page.PageTemplateId = globalConfiguration.DefaultErrorPageTemplateId;
                    if (isHomePageDefined)
                    {
                        page.StatusCode = 404;
                    }
                    else
                    {
                        page.StatusCode = 501; //Home page not defined in the database table tb_cms_pages
                    }
                }

                Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture((language.IsNotNull() && language.IsActive) ? language.LanguageCode : page.LanguageCode);

                return(View(page));
            }
            else
            {
                return(Redirect("~/_app_offline.htm"));
            }
        }
Exemple #19
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("siteId", "channelId");

            var channelId = AuthRequest.GetQueryInt("channelId");
            var contentId = AuthRequest.GetQueryInt("id");

            ReturnUrl = StringUtils.ValueFromUrl(AuthRequest.GetQueryString("returnUrl"));
            if (string.IsNullOrEmpty(ReturnUrl))
            {
                ReturnUrl = CmsPages.GetContentsUrl(SiteId, channelId);
            }

            _channelInfo = ChannelManager.GetChannelInfo(SiteId, channelId);
            _tableName   = ChannelManager.GetTableName(SiteInfo, _channelInfo);
            ContentInfo contentInfo = null;

            _styleInfoList = TableStyleManager.GetContentStyleInfoList(SiteInfo, _channelInfo);

            if (!IsPermissions(contentId))
            {
                return;
            }

            if (contentId > 0)
            {
                contentInfo = ContentManager.GetContentInfo(SiteInfo, _channelInfo, contentId);
            }

            var titleFormat = IsPostBack ? Request.Form[ContentAttribute.GetFormatStringAttributeName(ContentAttribute.Title)] : contentInfo?.GetString(ContentAttribute.GetFormatStringAttributeName(ContentAttribute.Title));

            LtlTitleHtml.Text = ContentUtility.GetTitleHtml(titleFormat, AjaxCmsService.GetTitlesUrl(SiteId, _channelInfo.Id));

            AcAttributes.SiteInfo      = SiteInfo;
            AcAttributes.ChannelId     = _channelInfo.Id;
            AcAttributes.ContentId     = contentId;
            AcAttributes.StyleInfoList = _styleInfoList;

            if (!IsPostBack)
            {
                var pageTitle = contentId == 0 ? "添加内容" : "编辑内容";

                LtlPageTitle.Text = pageTitle;

                if (HasChannelPermissions(_channelInfo.Id, ConfigManager.ChannelPermissions.ContentTranslate))
                {
                    PhTranslate.Visible = true;
                    BtnTranslate.Attributes.Add("onclick", ModalChannelMultipleSelect.GetOpenWindowString(SiteId, true));

                    ETranslateContentTypeUtils.AddListItems(DdlTranslateType, true);
                    ControlUtils.SelectSingleItem(DdlTranslateType, ETranslateContentTypeUtils.GetValue(ETranslateContentType.Copy));
                }
                else
                {
                    PhTranslate.Visible = false;
                }

                CblContentAttributes.Items.Add(new ListItem("置顶", ContentAttribute.IsTop));
                CblContentAttributes.Items.Add(new ListItem("推荐", ContentAttribute.IsRecommend));
                CblContentAttributes.Items.Add(new ListItem("热点", ContentAttribute.IsHot));
                CblContentAttributes.Items.Add(new ListItem("醒目", ContentAttribute.IsColor));
                TbAddDate.DateTime = DateTime.Now;
                TbAddDate.Now      = true;

                var contentGroupNameList = ContentGroupManager.GetGroupNameList(SiteId);
                foreach (var groupName in contentGroupNameList)
                {
                    var item = new ListItem(groupName, groupName);
                    CblContentGroups.Items.Add(item);
                }

                BtnContentGroupAdd.Attributes.Add("onclick", ModalContentGroupAdd.GetOpenWindowString(SiteId));

                LtlTags.Text = ContentUtility.GetTagsHtml(AjaxCmsService.GetTagsUrl(SiteId));

                if (HasChannelPermissions(_channelInfo.Id, ConfigManager.ChannelPermissions.ContentCheck))
                {
                    PhStatus.Visible = true;
                    int checkedLevel;
                    var isChecked = CheckManager.GetUserCheckLevel(AuthRequest.AdminPermissionsImpl, SiteInfo, _channelInfo.Id, out checkedLevel);
                    if (AuthRequest.IsQueryExists("contentLevel"))
                    {
                        checkedLevel = TranslateUtils.ToIntWithNagetive(AuthRequest.GetQueryString("contentLevel"));
                        if (checkedLevel != CheckManager.LevelInt.NotChange)
                        {
                            isChecked = checkedLevel >= SiteInfo.Additional.CheckContentLevel;
                        }
                    }

                    CheckManager.LoadContentLevelToEdit(DdlContentLevel, SiteInfo, contentInfo, isChecked, checkedLevel);
                }
                else
                {
                    PhStatus.Visible = false;
                }

                BtnSubmit.Attributes.Add("onclick", InputParserUtils.GetValidateSubmitOnClickScript("myForm", true, "autoCheckKeywords()"));
                //自动检测敏感词
                ClientScriptRegisterStartupScript("autoCheckKeywords", WebUtils.GetAutoCheckKeywordsScript(SiteInfo));

                if (contentId == 0)
                {
                    var attributes = TableStyleManager.GetDefaultAttributes(_styleInfoList);

                    if (AuthRequest.IsQueryExists("isUploadWord"))
                    {
                        var isFirstLineTitle  = AuthRequest.GetQueryBool("isFirstLineTitle");
                        var isFirstLineRemove = AuthRequest.GetQueryBool("isFirstLineRemove");
                        var isClearFormat     = AuthRequest.GetQueryBool("isClearFormat");
                        var isFirstLineIndent = AuthRequest.GetQueryBool("isFirstLineIndent");
                        var isClearFontSize   = AuthRequest.GetQueryBool("isClearFontSize");
                        var isClearFontFamily = AuthRequest.GetQueryBool("isClearFontFamily");
                        var isClearImages     = AuthRequest.GetQueryBool("isClearImages");
                        var contentLevel      = AuthRequest.GetQueryInt("contentLevel");
                        var fileName          = AuthRequest.GetQueryString("fileName");

                        var formCollection = WordUtils.GetWordNameValueCollection(SiteId, isFirstLineTitle, isFirstLineRemove, isClearFormat, isFirstLineIndent, isClearFontSize, isClearFontFamily, isClearImages, fileName);
                        attributes.Load(formCollection);

                        TbTitle.Text = formCollection[ContentAttribute.Title];
                    }

                    AcAttributes.Attributes = attributes;
                }
                else if (contentInfo != null)
                {
                    TbTitle.Text = contentInfo.Title;

                    TbTags.Text = contentInfo.Tags;

                    var list = new List <string>();
                    if (contentInfo.IsTop)
                    {
                        list.Add(ContentAttribute.IsTop);
                    }
                    if (contentInfo.IsRecommend)
                    {
                        list.Add(ContentAttribute.IsRecommend);
                    }
                    if (contentInfo.IsHot)
                    {
                        list.Add(ContentAttribute.IsHot);
                    }
                    if (contentInfo.IsColor)
                    {
                        list.Add(ContentAttribute.IsColor);
                    }
                    ControlUtils.SelectMultiItems(CblContentAttributes, list);
                    TbLinkUrl.Text     = contentInfo.LinkUrl;
                    TbAddDate.DateTime = contentInfo.AddDate;
                    ControlUtils.SelectMultiItems(CblContentGroups, TranslateUtils.StringCollectionToStringList(contentInfo.GroupNameCollection));

                    AcAttributes.Attributes = contentInfo;
                }
            }
            else
            {
                AcAttributes.Attributes = new AttributesImpl(Request.Form);
            }
            //DataBind();
        }
        public string GetItemHtml(EDepartmentLoadingType loadingType, NameValueCollection additional, bool isOpen)
        {
            var htmlBuilder  = new StringBuilder();
            var parentsCount = _departmentInfo.ParentsCount;

            if (loadingType == EDepartmentLoadingType.AdministratorTree || loadingType == EDepartmentLoadingType.DepartmentSelect || loadingType == EDepartmentLoadingType.ContentTree)
            {
                parentsCount = parentsCount + 1;
            }

            for (var i = 0; i < parentsCount; i++)
            {
                htmlBuilder.Append($@"<img align=""absmiddle"" src=""{_iconEmptyUrl}"" />");
            }

            if (_departmentInfo.ChildrenCount > 0)
            {
                if (isOpen)
                {
                    htmlBuilder.Append(
                        $@"<img align=""absmiddle"" style=""cursor:pointer"" onClick=""displayChildren(this);"" isAjax=""false"" isOpen=""true"" id=""{_departmentInfo
                            .Id}"" src=""{_iconMinusUrl}"" />");
                }
                else
                {
                    htmlBuilder.Append(
                        $@"<img align=""absmiddle"" style=""cursor:pointer"" onClick=""displayChildren(this);"" isAjax=""true"" isOpen=""false"" id=""{_departmentInfo
                            .Id}"" src=""{_iconPlusUrl}"" />");
                }
            }
            else
            {
                htmlBuilder.Append($@"<img align=""absmiddle"" src=""{_iconEmptyUrl}"" />");
            }

            if (!string.IsNullOrEmpty(_iconFolderUrl))
            {
                htmlBuilder.Append($@"<img align=""absmiddle"" src=""{_iconFolderUrl}"" />");
            }

            htmlBuilder.Append("&nbsp;");

            if (loadingType == EDepartmentLoadingType.AdministratorTree)
            {
                var linkUrl = PageAdministrator.GetRedirectUrl();

                htmlBuilder.Append(
                    $"<a href='{linkUrl}' isLink='true' onclick='fontWeightLink(this)' target='department'>{_departmentInfo.DepartmentName}</a>");
            }
            else if (loadingType == EDepartmentLoadingType.DepartmentSelect)
            {
                var linkUrl = PageUtils.AddQueryString(additional["UrlFormatString"], new NameValueCollection
                {
                    { "DepartmentId", _departmentInfo.Id.ToString() }
                });

                htmlBuilder.Append($"<a href='{linkUrl}'>{_departmentInfo.DepartmentName}</a>");
            }
            else if (loadingType == EDepartmentLoadingType.ContentTree)
            {
                var linkUrl = CmsPages.GetContentsUrl(TranslateUtils.ToInt(additional["SiteId"]), _departmentInfo.Id);

                htmlBuilder.Append(
                    $"<a href='{linkUrl}' isLink='true' onclick='fontWeightLink(this)' target='content'>{_departmentInfo.DepartmentName}</a>");
            }
            else
            {
                htmlBuilder.Append(_departmentInfo.DepartmentName);
            }

            if (loadingType == EDepartmentLoadingType.AdministratorTree)
            {
                if (_departmentInfo.CountOfAdmin >= 0)
                {
                    htmlBuilder.Append("&nbsp;");
                    htmlBuilder.Append(
                        $@"<span style=""font-size:8pt;font-family:arial"" class=""gray"">({_departmentInfo.CountOfAdmin})</span>");
                }
            }

            htmlBuilder.Replace("displayChildren", "displayChildren_Department");

            return(htmlBuilder.ToString());
        }
Exemple #21
0
        public string GetItemHtml(ELoadingType loadingType, string returnUrl, int adminId, NameValueCollection additional)
        {
            var htmlBuilder  = new StringBuilder();
            var parentsCount = _channelInfo.ParentsCount;

            for (var i = 0; i < parentsCount; i++)
            {
                htmlBuilder.Append($@"<img align=""absmiddle"" src=""{_iconEmptyUrl}"" />");
            }

            if (_channelInfo.ChildrenCount > 0)
            {
                htmlBuilder.Append(
                    _channelInfo.SiteId == _channelInfo.Id
                        ? $@"<img align=""absmiddle"" style=""cursor:pointer; margin-top: -5px; margin-right: 2px;"" onClick=""event.stopPropagation();displayChildren(this);"" isAjax=""false"" isOpen=""true"" id=""{_channelInfo
                            .Id}"" src=""{_iconMinusUrl}"" />"
                        : $@"<img align=""absmiddle"" style=""cursor:pointer; margin-top: -5px; margin-right: 2px;"" onClick=""event.stopPropagation();displayChildren(this);"" isAjax=""true"" isOpen=""false"" id=""{_channelInfo
                            .Id}"" src=""{_iconPlusUrl}"" />");
            }
            else
            {
                htmlBuilder.Append($@"<img align=""absmiddle"" src=""{_iconEmptyUrl}"" />");
            }

            var contentModelIconHtml = $@"<i class=""{_contentModelIconClass}""></i>";

            if (_channelInfo.Id > 0)
            {
                contentModelIconHtml = $@"<a href=""{PageRedirect.GetRedirectUrlToChannel(_channelInfo.SiteId, _channelInfo.Id)}"" target=""_blank"" title=""浏览页面"" onclick=""event.stopPropagation()"">{contentModelIconHtml}</a>";
            }

            htmlBuilder.Append(contentModelIconHtml);
            htmlBuilder.Append("&nbsp;");

            if (_enabled)
            {
                if (loadingType == ELoadingType.ContentTree)
                {
                    var linkUrl = CmsPages.GetContentsUrl(_channelInfo.SiteId, _channelInfo.Id);
                    if (!string.IsNullOrEmpty(additional?["linkUrl"]))
                    {
                        linkUrl = PageUtils.AddQueryStringIfNotExists(additional["linkUrl"], new NameValueCollection
                        {
                            ["channelId"] = _channelInfo.Id.ToString()
                        });
                    }

                    //linkUrl = PageUtils.GetLoadingUrl(linkUrl);

                    htmlBuilder.Append(
                        $"<a href='{linkUrl}' isLink='true' onclick='fontWeightLink(this)' target='content'>{_channelInfo.ChannelName}</a>");
                }
                else if (loadingType == ELoadingType.ChannelClickSelect)
                {
                    var linkUrl = ModalChannelSelect.GetRedirectUrl(_channelInfo.SiteId, _channelInfo.Id);
                    if (additional != null)
                    {
                        if (!string.IsNullOrEmpty(additional["linkUrl"]))
                        {
                            linkUrl = additional["linkUrl"] + _channelInfo.Id;
                        }
                        else
                        {
                            foreach (string key in additional.Keys)
                            {
                                linkUrl += $"&{key}={additional[key]}";
                            }
                        }
                    }
                    htmlBuilder.Append($"<a href='{linkUrl}'>{_channelInfo.ChannelName}</a>");
                }
                else
                {
                    if (_permissionsImpl.HasChannelPermissions(_channelInfo.SiteId, _channelInfo.Id, ConfigManager.ChannelPermissions.ChannelEdit))
                    {
                        var onClickUrl = ModalChannelEdit.GetOpenWindowString(_channelInfo.SiteId, _channelInfo.Id, returnUrl);
                        htmlBuilder.Append(
                            $@"<a href=""javascript:;;"" onClick=""{onClickUrl}"" title=""快速编辑栏目"">{_channelInfo.ChannelName}</a>");
                    }
                    else
                    {
                        htmlBuilder.Append($@"<a href=""javascript:;"">{_channelInfo.ChannelName}</a>");
                    }
                }
            }
            else
            {
                htmlBuilder.Append($"<span>{_channelInfo.ChannelName}</span>");
            }

            if (_channelInfo.SiteId != 0)
            {
                htmlBuilder.Append("&nbsp;");

                htmlBuilder.Append(ChannelManager.GetNodeTreeLastImageHtml(_siteInfo, _channelInfo));

                var count = ContentManager.GetCount(_siteInfo, _channelInfo, adminId);

                htmlBuilder.Append(
                    $@"<span style=""font-size:8pt;font-family:arial"" class=""gray"">({count})</span>");
            }

            return(htmlBuilder.ToString());
        }