예제 #1
0
 public PaymentRequest(string trackid, string responseURL, string errorURL, decimal amount,
                       string udf1               = "", string udf2 = "", string udf3 = "", string udf4 = "", string udf5 = "",
                       Environment environment   = Environment.Test,
                       PageLanguage pageLanguage = PageLanguage.English)
 {
     Trackid      = trackid;
     ResponseURL  = responseURL;
     ErrorURL     = errorURL;
     Udf1         = udf1;
     Udf2         = udf2;
     Udf3         = udf3;
     Udf4         = udf4;
     Udf5         = udf5;
     Amount       = amount;
     Environment  = environment;
     PageLanguage = pageLanguage;
 }
예제 #2
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);
                }
            }
        }
예제 #3
0
        public async Task <int> AddOrUpdateLanguage(PageLanguage language)
        {
            string cmd  = QueriesCreatingHelper.CreateQuerySelect <PageLanguage>($"page_id = {language.PageId} AND language_id = {language.LanguageId}");
            var    lang = (await DALHelper.ExecuteQuery <PageLanguage>(cmd, dbTransaction: DbTransaction, connection: DbConnection)).FirstOrDefault();

            if (lang == null)
            {
                cmd  = QueriesCreatingHelper.CreateQueryInsert(language);
                cmd += ";SELECT LAST_INSERT_ID();";
                return(await DALHelper.Execute(cmd, dbTransaction : DbTransaction, connection : DbConnection));
            }
            else
            {
                language.Id = lang.Id;
                cmd         = QueriesCreatingHelper.CreateQueryUpdate(language);
                var rs = await DALHelper.Execute(cmd, dbTransaction : DbTransaction, connection : DbConnection);

                return(rs == 0 ? -1 : language.Id);
            }
        }
예제 #4
0
        public override string Render()
        {
            Dictionary <int, CmsPage> allPages = CmsContext.HomePage.getLinearizedPages();

            SingleImageDb db = new SingleImageDb();

            List <PageImages> pageImages = new List <PageImages>();

            foreach (int pageId in allPages.Keys)
            {
                CmsPage pageToTest = allPages[pageId];
                foreach (CmsLanguage lang in CmsConfig.Languages)
                {
                    SingleImageData[] imgDataArr = db.getSingleImages(new CmsPage[] { allPages[pageId] }, lang);
                    PageImages        pi         = new PageImages(pageToTest, lang, imgDataArr);
                    pageImages.Add(pi);
                }
            }

            Dictionary <string, List <PageLanguage> > duplicates = new Dictionary <string, List <PageLanguage> >();

            foreach (PageImages pi in pageImages)
            {
                foreach (SingleImageData img in pi.Images)
                {
                    PageLanguage[] matchingPages = PageImages.GetMatchingPagesForImage(img, pageImages.ToArray());
                    if (matchingPages.Length > 1)
                    {
                        if (!duplicates.ContainsKey(img.ImagePath))
                        {
                            duplicates[img.ImagePath] = new List <PageLanguage>();
                        }

                        duplicates[img.ImagePath].AddRange(matchingPages);
                    }
                }
            }

            // -- remove duplicate PageLanguage items
            Dictionary <string, List <PageLanguage> > toReport = new Dictionary <string, List <PageLanguage> >();

            foreach (string imgPath in duplicates.Keys)
            {
                toReport[imgPath] = PageLanguage.RemoveDuplicates(duplicates[imgPath]);
            } // foreach


            // -- display results

            StringBuilder html = new StringBuilder();

            html.Append("<p><strong>Duplicate images used on this site:</strong></p>");
            html.Append(TABLE_START_HTML);
            html.Append("<tr><th>Image</th><th>Found on pages</th></tr>");
            if (toReport.Keys.Count > 0)
            {
                foreach (string imgPath in toReport.Keys)
                {
                    html.Append("<tr>");
                    string thumbUrl = CmsContext.UserInterface.ShowThumbnailPage.getThumbDisplayUrl(imgPath, 150, 150);
                    html.Append("<td><img src=\"" + thumbUrl + "\"><br />" + imgPath + "</td>");
                    html.Append("<td>");
                    html.Append("<ul>");
                    foreach (PageLanguage targetPage in toReport[imgPath])
                    {
                        html.Append("<li><a href=\"" + targetPage.Page.getUrl(CmsUrlFormat.FullIncludingProtocolAndDomainName, targetPage.Language) + "\" target=\"_blank\">" + targetPage.Page.getTitle(targetPage.Language) + " (" + targetPage.Language.shortCode + ") </li>");
                    }
                    html.Append("</ul>");
                    html.Append("</td>");
                    html.Append("</tr>");
                } // foreach
            }
            else
            {
                html.Append("<tr><td><em>No duplicate images found</em></td></tr>");
            }
            html.Append("</table>");

            return(html.ToString());
        }