override protected void OnInit(EventArgs e) { base.OnInit(e); _profileData = new ProfileData(); if (ModSettings.Get("themefolder") == "") // if we don't have module setting jump out { rpInp.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS"); return; } try { _templinp = ModSettings.Get("txtinputform"); // Get Display var rpInpTempl = ModCtrl.GetTemplateData(ModSettings, _templinp, Utils.GetCurrentCulture(), DebugMode); rpInp.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpInpTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } catch (Exception exc) { rpInp.ItemTemplate = new GenXmlTemplate(exc.Message, ModSettings.Settings()); // catch any error and allow processing to continue, output error as footer template. } }
private void DoExport() { var navigationData = new NavigationData(PortalId, "AdminOrders"); var strFilter = navigationData.Criteria; var l2 = new List <NBrightInfo>(); const string strOrder = " order by [XMLData].value('(genxml/createddate)[1]','nvarchar(20)') DESC, ModifiedDate DESC "; var l1 = ModCtrl.GetList(PortalId, -1, "ORDER", strFilter, strOrder, 1000); foreach (var i in l1) { var nodList = i.XMLDoc.SelectNodes("genxml/items/*"); foreach (XmlNode nod in nodList) { var itemline = (NBrightInfo)i.Clone(); itemline.RemoveXmlNode("genxml/items"); itemline.AddXmlNode("<item>" + nod.OuterXml + "</item>", "item", "genxml"); l2.Add(itemline); } } var rp = new Repeater(); var rpSearchTempl = ModCtrl.GetTemplateData(ModSettings, "ordersexport.html", Utils.GetCurrentCulture(), DebugMode); rp.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpSearchTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); rp.DataSource = l2; var strOut = GenXmlFunctions.RenderRepeater(rp); Utils.ForceStringDownload(Response, "ordersexport.csv", strOut); }
override protected void OnInit(EventArgs e) { _page = Utils.RequestParam(Context, "page"); EnablePaging = true; base.OnInit(e); CtrlPaging.Visible = true; CtrlPaging.UseListDisplay = true; try { #region "set templates based on entry id (eid) from url" _entryid = Utils.RequestQueryStringParam(Context, "uid"); if (_entryid != "") { _displayentrypage = true; } #endregion #region "load templates" // Get Search var rpSearchTempl = ModCtrl.GetTemplateData(ModSettings, "clientssearch.html", Utils.GetCurrentCulture(), DebugMode); _templSearch = NBrightBuyUtils.GetGenXmlTemplate(rpSearchTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); rpSearch.ItemTemplate = _templSearch; var t1 = "clientsheader.html"; var t2 = "clientsbody.html"; var t3 = "clientsfooter.html"; if (Utils.IsNumeric(_entryid)) { t1 = "clientsdetailheader.html"; t2 = "clientsdetail.html"; t3 = "clientsdetailfooter.html"; } // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode); rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); #endregion } catch (Exception exc) { //display the error on the template (don;t want to log it here, prefer to deal with errors directly.) var l = new Literal(); l.Text = exc.ToString(); phData.Controls.Add(l); } }
override protected void OnInit(EventArgs e) { base.OnInit(e); try { // Get Display Header var rpDashTempl = ModCtrl.GetTemplateData(ModSettings, "dashboard.html", Utils.GetCurrentCulture(), DebugMode); rpDash.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDashTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, "dashordersheader.html", Utils.GetCurrentCulture(), DebugMode); rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, "dashordersbody.html", Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, "dashordersfooter.html", Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } catch (Exception exc) { //display the error on the template (don;t want to log it here, prefer to deal with errors directly.) var l = new Literal(); l.Text = exc.ToString(); phData.Controls.Add(l); } }
override protected void OnInit(EventArgs e) { base.OnInit(e); try { #region "load templates" var t1 = "settingsheader.html"; var t2 = "settingsbody.html"; var t3 = "settingsfooter.html"; // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode); rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); #endregion } catch (Exception exc) { //display the error on the template (don;t want to log it here, prefer to deal with errors directly.) var l = new Literal(); l.Text = exc.ToString(); phData.Controls.Add(l); } }
override protected void OnInit(EventArgs e) { base.OnInit(e); _isSkinControl = false; // get setting via control params if (!String.IsNullOrEmpty(Searchtemplate)) { // is skin control _isSkinControl = true; if (!String.IsNullOrEmpty(RedirectTabId)) { ModSettings.Set("redirecttabid", RedirectTabId); } else { ModSettings.Set("redirecttabid", StoreSettings.Current.Get("productlisttab")); // choose the default search page } if (String.IsNullOrEmpty(TargetModulekey)) { TargetModulekey = StoreSettings.Current.Get("productsearchmod"); //choose the default search page } if (!String.IsNullOrEmpty(TargetModulekey)) { ModSettings.Set("targetmodulekey", TargetModulekey); } if (!String.IsNullOrEmpty(Themefolder)) { ModSettings.Set("themefolder", Themefolder); } if (!String.IsNullOrEmpty(Searchtemplate)) { ModSettings.Set("txtsearchtemplate", Searchtemplate); } } if (ModSettings.Get("txtsearchtemplate") == "") // if we don't have module setting jump out { rpData.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS"); return; } // Get Display template var templDname = ModSettings.Get("txtsearchtemplate"); var templD = ModCtrl.GetTemplateData(ModSettings, templDname, Utils.GetCurrentCulture(), DebugMode); // Get Display Body rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(templD, ModSettings.Settings(), PortalSettings.HomeDirectory); _templD = (GenXmlTemplate)rpData.ItemTemplate; }
protected override void OnInit(EventArgs e) { base.OnInit(e); _entryid = Utils.RequestParam(Context, "eid"); if (_entryid != "") { _templatType = "detail"; } // create different templates for properties if (!String.IsNullOrEmpty(Edittype) && Edittype.ToLower() == "group") { _templatType = "properties" + _templatType; // Get Search var rpSearchTempl = ModCtrl.GetTemplateData(ModSettings, "propertiessearch.html", Utils.GetCurrentCulture(), DebugMode); _templSearch = NBrightBuyUtils.GetGenXmlTemplate(rpSearchTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); rpSearch.ItemTemplate = _templSearch; } else { _templatType = "category" + _templatType; } var t1 = _templatType + "header.html"; var t2 = _templatType + "body.html"; var t3 = _templatType + "footer.html"; // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode); rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // get selected open catid var stropenid = Utils.RequestParam(Context, "catid"); if (Utils.IsNumeric(stropenid)) { _openid = Convert.ToInt32(stropenid); } }
protected override void OnInit(EventArgs e) { //Remove any cache for the module, we don't want any cache in/after the BO editing. NBrightBuyUtils.RemoveModCache(ModuleId); // add required controls. RpData = new Repeater(); RpData.ItemCommand += CtrlItemCommand; this.Controls.Add(RpData); //set default Data controller ModCtrl = new NBrightBuyController(); #region "Get all Settings for module" //get Model Level Settings ModSettings = new ModSettings(ModuleId, Settings); #endregion var strTemplate = ""; if (!String.IsNullOrEmpty(CtrlPluginPath)) { //search plugin path for template strTemplate = NBrightBuyUtils.GetTemplateData(CtrlTypeCode + "_Settings.html", CtrlPluginPath, "config", ModSettings.Settings()); } if (strTemplate == "") { // add themefolder to settings, incase module has independant theme. strTemplate = ModCtrl.GetTemplateData(ModSettings, CtrlTypeCode + "_Settings.html", Utils.GetCurrentCulture(), StoreSettings.Current.DebugMode); } if (strTemplate != "") { RpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(strTemplate, ModSettings.Settings(), PortalSettings.HomeDirectory); } //add template provider to NBright Templating NBrightCore.providers.GenXProviderManager.AddProvider("NBrightBuy,Nevoweb.DNN.NBrightBuy.render.GenXmlTemplateExt"); var pInfo = ModCtrl.GetByGuidKey(PortalId, -1, "PROVIDERS", "NBrightTempalteProviders"); if (pInfo != null) { NBrightCore.providers.GenXProviderManager.AddProvider(pInfo.XMLDoc); } base.OnInit(e); }
override protected void OnInit(EventArgs e) { base.OnInit(e); _addressData = new AddressData(); if (ModSettings.Get("themefolder") == "") // if we don't have module setting jump out { rpDataH.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS"); return; } try { _templH = ModSettings.Get("txtdisplayheader"); _templD = ModSettings.Get("txtdisplaybody"); _templF = ModSettings.Get("txtdisplayfooter"); _templinp = ModSettings.Get("txtinputform"); // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, _templH, Utils.GetCurrentCulture(), DebugMode); _templateHeader = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); rpDataH.ItemTemplate = _templateHeader; // insert page header text NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, _templateHeader, ModSettings.Settings(), null, DebugMode); // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, _templD, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, _templF, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpInpTempl = ModCtrl.GetTemplateData(ModSettings, _templinp, Utils.GetCurrentCulture(), DebugMode); rpAddr.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpInpTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } catch (Exception exc) { rpDataF.ItemTemplate = new GenXmlTemplate(exc.Message, ModSettings.Settings()); // catch any error and allow processing to continue, output error as footer template. } }
private void PageLoad() { if (UserId > 0) // limit module to registered users { // new data record so set defaults. var cw = new ItemListData(PortalId, UserController.Instance.GetCurrentUserInfo().UserID); var objList = ItemListsFunctions.GetProductItemList(cw); if (ModSettings.Settings().ContainsKey("listkeys")) { ModSettings.Settings().Remove("listkeys"); } ModSettings.Settings().Add("listkeys", cw.listkeys); var strOut = NBrightBuyUtils.RazorTemplRenderList(RazorTemplate, ModuleId, "", objList, ControlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); } }
protected override void OnInit(EventArgs e) { base.OnInit(e); var t1 = "grouplistheader.html"; var t2 = "grouplistbody.html"; var t3 = "grouplistfooter.html"; // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode); rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); }
protected override void OnInit(EventArgs e) { _page = Utils.RequestParam(Context, "page"); if (Utils.IsNumeric(Utils.RequestParam(Context, "eid"))) { _eid = Convert.ToInt32(Utils.RequestParam(Context, "eid")); } base.OnInit(e); var t2 = "productadminlist.html"; if (_eid > 0) { t2 = "productadmin.html"; } // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); }
override protected void OnInit(EventArgs e) { base.OnInit(e); _uid = Utils.RequestParam(Context, "uid"); _addressData = new AddressData(_uid); try { _templH = "addressbookheader.html"; _templD = "addressbookbody.html"; _templF = "addressbookfooter.html"; _templinp = "addressbookinput.html"; // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, _templH, Utils.GetCurrentCulture(), DebugMode); rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); _templateHeader = (GenXmlTemplate)rpDataH.ItemTemplate; // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, _templD, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, _templF, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpInpTempl = ModCtrl.GetTemplateData(ModSettings, _templinp, Utils.GetCurrentCulture(), DebugMode); rpAddr.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpInpTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } catch (Exception exc) { rpDataF.ItemTemplate = new GenXmlTemplate(exc.Message, ModSettings.Settings()); // catch any error and allow processing to continue, output error as footer template. } }
protected override void OnInit(EventArgs e) { base.OnInit(e); if (ModSettings.Settings().ContainsKey("themefolder") && ModSettings.Settings()["themefolder"] != "") { ThemeFolder = ModSettings.Settings()["themefolder"]; } if (ThemeFolder == "") { ThemeFolder = StoreSettings.Current.ThemeFolder; } if (ModSettings.Settings().ContainsKey("razortemplate") && ModSettings.Settings()["razortemplate"] != "") { RazorTemplate = ModSettings.Settings()["razortemplate"]; } // insert page header text NBrightBuyUtils.RazorIncludePageHeader(ModuleId, Page, "frontofficepageheader.cshtml", ControlPath, ThemeFolder, ModSettings.Settings()); if (ModuleContext.Configuration != null) { if (String.IsNullOrEmpty(RazorTemplate)) { RazorTemplate = ModuleConfiguration.DesktopModule.ModuleName + ".cshtml"; } // insert page header text NBrightBuyUtils.RazorIncludePageHeader(ModuleId, Page, Path.GetFileNameWithoutExtension(RazorTemplate) + "_head" + Path.GetExtension(RazorTemplate), ControlPath, ThemeFolder, ModSettings.Settings()); } var strOut = "<span class='container_" + ThemeFolder + "_" + RazorTemplate + "'>"; Controls.AddAt(0, new LiteralControl("<div class='container_" + ThemeFolder.ToLower().Replace(" ", "_") + "_" + RazorTemplate.ToLower().Replace(".cshtml", "").Replace(" ", "_") + "'>")); Controls.AddAt(Controls.Count, new LiteralControl("</div>")); }
private void RazorDisplayDataEntry(String entryId) { var productData = new ProductData(); if (Utils.IsNumeric(entryId)) { productData = ProductUtils.GetProductData(Convert.ToInt32(entryId), Utils.GetCurrentCulture(), true, EntityTypeCode); } if (productData.Exists && (productData.Info.PortalId == -1 || productData.Info.PortalId == PortalId)) { if (PortalSettings.HomeTabId == TabId) { PageIncludes.IncludeCanonicalLink(Page, Globals.AddHTTP(PortalSettings.PortalAlias.HTTPAlias)); //home page always default of site. } else { PageIncludes.IncludeCanonicalLink(Page, NBrightBuyUtils.GetEntryUrl(PortalId, _eid, "", productData.SEOName, TabId.ToString(""))); } // overwrite SEO data if (productData.SEOName != "") { BasePage.Title = productData.SEOTitle; } else { BasePage.Title = productData.ProductName; } if (productData.SEODescription != "") { BasePage.Description = productData.SEODescription; } // if debug , output the xml used. if (DebugMode) { productData.Info.XMLDoc.Save(PortalSettings.HomeDirectoryMapPath + "debug_entry.xml"); } // insert page header text NBrightBuyUtils.RazorIncludePageHeader(ModuleId, Page, Path.GetFileNameWithoutExtension(_templD) + "_seohead" + Path.GetExtension(_templD), _controlPath, ModSettings.ThemeFolder, ModSettings.Settings(), productData); #region "do razor template" var strOut = NBrightBuyUtils.RazorTemplRender(_templD, ModuleId, "productdetailrazor" + ModuleId.ToString() + "*" + entryId, productData, _controlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); #endregion } else { _404code = true; // insert page header text NBrightBuyUtils.RazorIncludePageHeader(ModuleId, Page, "ProductNotFound_head.cshtml", _controlPath, ModSettings.ThemeFolder, ModSettings.Settings(), productData); var strOut = NBrightBuyUtils.RazorTemplRender("ProductNotFound.cshtml", ModuleId, "", productData, _controlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); } }
private void RazorPageLoad() { NBrightInfo objCat = null; if (_templD.Trim() != "") // if we don;t have a template, don't do anything { if (_displayentrypage) { // get correct itemid, based on eid given _eid = GetEntryIdFromName(_eid); RazorDisplayDataEntry(_eid); } else { // Get meta data from template var metaTokens = NBrightBuyUtils.RazorPreProcessTempl(_templD, _controlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings(), ModuleId.ToString()); #region "Order BY" //////////////////////////////////////////// // get ORDERBY SORT //////////////////////////////////////////// if (_orderbyindex != "") // if we have orderby set in url, find the meta tags { if (metaTokens.ContainsKey("orderby" + _orderbyindex)) { if (metaTokens["orderby" + _orderbyindex].Contains("{") || metaTokens["orderby" + _orderbyindex].ToLower().Contains("order by")) { _navigationdata.OrderBy = metaTokens["orderby" + _orderbyindex]; _navigationdata.OrderByIdx = _orderbyindex; } else { _navigationdata.OrderBy = " Order by " + metaTokens["orderby" + _orderbyindex]; _navigationdata.OrderByIdx = _orderbyindex; } _navigationdata.Save(); } } else { if (String.IsNullOrEmpty(_navigationdata.OrderBy) && metaTokens.ContainsKey("orderby")) { if (metaTokens["orderby"].Contains("{") || metaTokens["orderby"].ToLower().Contains("order by")) { _navigationdata.OrderBy = metaTokens["orderby"]; } else { _navigationdata.OrderBy = " Order by " + metaTokens["orderby"]; } _navigationdata.OrderByIdx = ""; _navigationdata.Save(); } } #endregion #region "Get Paging setup" //See if we have a pagesize, uses the "searchpagesize" tag token. // : This can be overwritten by the cookie value if we need user selection of pagesize. CtrlPaging.Visible = false; #region "Get pagesize, from best place" var pageSize = 0; if (Utils.IsNumeric(ModSettings.Get("pagesize"))) { pageSize = Convert.ToInt32(ModSettings.Get("pagesize")); } // overwrite default module pagesize , if we have a pagesize control in the template if (metaTokens.ContainsKey("selectpagesize") && Utils.IsNumeric(_navigationdata.PageSize)) { pageSize = Convert.ToInt32(_navigationdata.PageSize); } //check for url param page size if (Utils.IsNumeric(_pagesize) && (_pagemid == "" | _pagemid == ModuleId.ToString(CultureInfo.InvariantCulture))) { pageSize = Convert.ToInt32(_pagesize); } if (pageSize == 0) { var strPgSize = ""; if (metaTokens.ContainsKey("searchpagesize")) { strPgSize = metaTokens["searchpagesize"]; } if (metaTokens.ContainsKey("pagesize") && strPgSize == "") { strPgSize = metaTokens["pagesize"]; } if (Utils.IsNumeric(strPgSize)) { pageSize = Convert.ToInt32(strPgSize); } } if (pageSize > 0) { CtrlPaging.Visible = true; } _navigationdata.PageSize = pageSize.ToString(""); #endregion var pageNumber = 1; //check for url param paging if (Utils.IsNumeric(_pagenum) && (_pagemid == "" | _pagemid == ModuleId.ToString(CultureInfo.InvariantCulture))) { pageNumber = Convert.ToInt32(_pagenum); } //Get returnlimt from module settings var returnlimit = 0; var strreturnlimit = ModSettings.Get("returnlimit"); if (Utils.IsNumeric(strreturnlimit)) { returnlimit = Convert.ToInt32(strreturnlimit); } #endregion #region "Get filter setup" // check the display header to see if we have a sqlfilter defined. var strFilter = ""; var sqlTemplateFilter = ""; if (metaTokens.ContainsKey("sqlfilter")) { sqlTemplateFilter = GenXmlFunctions.StripSqlCommands(metaTokens["sqlfilter"]); } if (_navigationdata.HasCriteria) { var paramcatid = Utils.RequestQueryStringParam(Context, "catid"); if (Utils.IsNumeric(paramcatid)) { if (_navigationdata.CategoryId != Convert.ToInt32(paramcatid)) // filter mode DOES NOT persist catid (stop confusion when user selects a category) { _navigationdata.ResetSearch(); } } // if navdata is not deleted then get filter from navdata, created by productsearch module. strFilter = _navigationdata.Criteria; if (!strFilter.Contains(sqlTemplateFilter)) { strFilter += " " + sqlTemplateFilter; } if (_navigationdata.Mode.ToLower() == "s") { _navigationdata.ResetSearch(); // single search so clear after } } else { // reset search if category selected // NOTE: keeping search across categories is VERY confusing for cleint, although it works logically. _navigationdata.ResetSearch(); strFilter = sqlTemplateFilter; } #endregion #region "Get Category select setup" var objQual = DotNetNuke.Data.DataProvider.Instance().ObjectQualifier; var dbOwner = DataProvider.Instance().DatabaseOwner; //get default catid. var catseo = _catid; var defcatid = ModSettings.Get("defaultcatid"); if (defcatid == "") { defcatid = "0"; } if (Utils.IsNumeric(defcatid) && Convert.ToInt32(defcatid) > 0) { // if we have no filter use the default category if (_catid == "" && strFilter.Trim() == "") { _catid = defcatid; } } else { defcatid = ModSettings.Get("defaultpropertyid"); if (defcatid == "") { defcatid = "0"; } if (Utils.IsNumeric(defcatid)) { // if we have no filter use the default category if (_catid == "" && strFilter.Trim() == "") { _catid = defcatid; } } } // If we have a static list,then always display the default category if (ModSettings.Get("staticlist") == "True") { if (catseo == "") { catseo = _catid; } _catid = defcatid; if (ModSettings.Get("chkcascaderesults").ToLower() == "true") { strFilter = strFilter + " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where (typecode = 'CATCASCADE' or typecode = 'CATXREF') and XrefItemId = " + _catid + ") "; } else { strFilter = strFilter + " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where typecode = 'CATXREF' and XrefItemId = " + _catid + ") "; } if (ModSettings.Get("caturlfilter") == "True" && catseo != "" && catseo != _catid) { // add aditional filter for catid filter on url (catseo holds catid from url) if (ModSettings.Get("chkcascaderesults").ToLower() == "true") { strFilter = strFilter + " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where (typecode = 'CATCASCADE' or typecode = 'CATXREF') and XrefItemId = " + catseo + ") "; } else { strFilter = strFilter + " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where typecode = 'CATXREF' and XrefItemId = " + catseo + ") "; } } // do special custom sort in each cateogry, this passes the catid to the SQL SPROC, whcih process the '{bycategoryproduct}' and orders by product/category seq. if (_navigationdata.OrderBy.Contains("{bycategoryproduct}")) { _navigationdata.OrderBy = "{bycategoryproduct}" + _catid; } } else { #region "use url to get category to display" //check if we are display categories // get category list data if (_catname != "") // if catname passed in url, calculate what the catid is { objCat = ModCtrl.GetByGuidKey(PortalId, ModuleId, "CATEGORYLANG", _catname); if (objCat == null) { // check it's not just a single language objCat = ModCtrl.GetByGuidKey(PortalId, ModuleId, "CATEGORY", _catname); if (objCat != null) { _catid = objCat.ItemID.ToString(""); } } else { _catid = objCat.ParentItemId.ToString(""); if (!String.IsNullOrEmpty(objCat.GUIDKey) && Utils.IsNumeric(_catid) && objCat.Lang != Utils.GetCurrentCulture()) { // do a 301 redirect to correct url for the langauge (If the langauge is changed on the product list, we need to make sure we have the correct catref for the langauge) var catGrpCtrl = new GrpCatController(Utils.GetCurrentCulture()); var activeCat = catGrpCtrl.GetCategory(Convert.ToInt32(_catid)); if (activeCat != null) { var redirecturl = ""; if (Utils.IsNumeric(_eid)) { var prdData = ProductUtils.GetProductData(Convert.ToInt32(_eid), Utils.GetCurrentCulture(), true, EntityTypeCode); redirecturl = NBrightBuyUtils.GetEntryUrl(PortalId, _eid, _modkey, prdData.SEOName, TabId.ToString(), "", activeCat.categoryrefGUIDKey); } else { redirecturl = catGrpCtrl.GetCategoryUrl(activeCat, TabId, Utils.GetCurrentCulture()); } try { if (redirecturl != "") { Response.Redirect(redirecturl, false); Response.StatusCode = (int)System.Net.HttpStatusCode.MovedPermanently; Response.End(); } } catch (Exception) { // catch err } } } } // We have a category selected (in url), so overwrite categoryid navigationdata. // This allows the return to the same category after a returning from a entry view. if (Utils.IsNumeric(_catid)) { _navigationdata.CategoryId = Convert.ToInt32(_catid); } catseo = _catid; _navigationdata.ResetSearch(); strFilter = ""; } if (Utils.IsNumeric(_catid)) { if (ModSettings.Get("chkcascaderesults").ToLower() == "true") { strFilter = strFilter + " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where (typecode = 'CATCASCADE' or typecode = 'CATXREF') and XrefItemId = " + _catid + ") "; } else { strFilter = strFilter + " and NB1.[ItemId] in (select parentitemid from " + dbOwner + "[" + objQual + "NBrightBuy] where typecode = 'CATXREF' and XrefItemId = " + _catid + ") "; } if (Utils.IsNumeric(catseo)) { var objSEOCat = ModCtrl.GetData(Convert.ToInt32(catseo), "CATEGORYLANG", Utils.GetCurrentCulture()); if (objSEOCat != null && _eid == "") // we may have a detail page and listonly module, in which can we need the product detail as page title { //Page Title var seoname = objSEOCat.GetXmlProperty("genxml/lang/genxml/textbox/txtseoname"); if (seoname == "") { seoname = objSEOCat.GetXmlProperty("genxml/lang/genxml/textbox/txtcategoryname"); } var newBaseTitle = objSEOCat.GetXmlProperty("genxml/lang/genxml/textbox/txtseopagetitle"); if (newBaseTitle == "") { newBaseTitle = objSEOCat.GetXmlProperty("genxml/lang/genxml/textbox/txtseoname"); } if (newBaseTitle == "") { newBaseTitle = objSEOCat.GetXmlProperty("genxml/lang/genxml/textbox/txtcategoryname"); } if (newBaseTitle != "") { BasePage.Title = newBaseTitle; } //Page KeyWords var newBaseKeyWords = objSEOCat.GetXmlProperty("genxml/lang/genxml/textbox/txtmetakeywords"); if (newBaseKeyWords != "") { BasePage.KeyWords = newBaseKeyWords; } //Page Description var newBaseDescription = objSEOCat.GetXmlProperty("genxml/lang/genxml/textbox/txtmetadescription"); if (newBaseDescription == "") { newBaseDescription = objSEOCat.GetXmlProperty("genxml/lang/genxml/textbox/txtcategorydesc"); } if (newBaseDescription != "") { BasePage.Description = newBaseDescription; } // Remove canonical link for list. The Open URL Rewriter (OUR) will create a url that is different to the default SEO url in NBS. // So to stop clashes it's been disable by default. The requirment for a canonical link on a category list is more ticking the box than of being any SEO help (might even be causing confusion to Search Engines). // ** If your a SEO nutcases (or SEO companies pushing for it) then you can uncomment the code below, and you can implement the Open URL Rewriter and canonical link. //if (PortalSettings.HomeTabId == TabId) // PageIncludes.IncludeCanonicalLink(Page, Globals.AddHTTP(PortalSettings.PortalAlias.HTTPAlias)); //home page always default of site. //else //{ // PageIncludes.IncludeCanonicalLink(Page, NBrightBuyUtils.GetListUrl(PortalId, TabId, objSEOCat.ItemID, seoname, Utils.GetCurrentCulture())); // // Code required for OUR (if used, test to ensure it works correctly!!) // //PageIncludes.IncludeCanonicalLink(Page, NBrightBuyUtils.GetListUrl(PortalId, TabId, objSEOCat.ItemID, "", Utils.GetCurrentCulture())); //} } } // do special custom sort in each cateogry, this passes the catid to the SQL SPROC, whcih process the '{bycategoryproduct}' and orders by product/category seq. if (_navigationdata.OrderBy.Contains("{bycategoryproduct}")) { _navigationdata.OrderBy = "{bycategoryproduct}" + _catid; } } else { if (!_navigationdata.FilterMode) { _navigationdata.CategoryId = 0; // filter mode persist catid } if (_navigationdata.OrderBy.Contains("{bycategoryproduct}")) { _navigationdata.OrderBy = " Order by ModifiedDate DESC "; } } #endregion } // This allows the return to the same category after a returning from a entry view. + Gives support for current category in razor tokens if (Utils.IsNumeric(_catid)) { _navigationdata.CategoryId = Convert.ToInt32(_catid); } #endregion #region "Apply provider product filter" // Special filtering can be done, by using the ProductFilter interface. var productfilterkey = ""; if (metaTokens.ContainsKey("providerfilterkey")) { productfilterkey = metaTokens["providerfilterkey"]; } if (productfilterkey != "") { var provfilter = FilterInterface.Instance(productfilterkey); if (provfilter != null) { strFilter = provfilter.GetFilter(strFilter, _navigationdata, ModSettings, Context); } } #endregion #region "itemlists (wishlist)" // if we have a itemListName field then get the itemlist cookie. if (ModSettings.Get("displaytype") == "2") // displaytype 2 = "selected list" { var cw = new ItemListData(PortalId, UserController.Instance.GetCurrentUserInfo().UserID); if (cw.Exists && cw.ItemCount > 0) { strFilter = " and ("; foreach (var i in cw.GetItemList()) { strFilter += " NB1.itemid = '" + i + "' or"; } strFilter = strFilter.Substring(0, (strFilter.Length - 3)) + ") "; // remove the last "or" } else { //no data in list so select false itemid to stop anything displaying strFilter += " and (NB1.itemid = '-1') "; } } #endregion // insert page header text NBrightBuyUtils.RazorIncludePageHeader(ModuleId, Page, Path.GetFileNameWithoutExtension(_templD) + "_head" + Path.GetExtension(_templD), _controlPath, ModSettings.ThemeFolder, ModSettings.Settings()); // save navigation data _navigationdata.PageModuleId = Utils.RequestParam(Context, "pagemid"); _navigationdata.PageNumber = Utils.RequestParam(Context, "page"); if (Utils.IsNumeric(_catid)) { _navigationdata.PageName = NBrightBuyUtils.GetCurrentPageName(Convert.ToInt32(_catid)); } // save the last active modulekey to a cookie, so it can be used by the "NBrightBuyUtils.GetReturnUrl" function NBrightCore.common.Cookie.SetCookieValue(PortalId, "NBrigthBuyLastActive", "ModuleKey", ModuleKey, 1); if (strFilter.Trim() == "") { // if at this point we have no filter, then assume we're using urlrewriter and a 404 url has been entered. // rather than display all visible products in a list with no default. // redirect to the product display function, so we can display a 404 and product not found. RazorDisplayDataEntry(_eid); } else { strFilter += " and (NB3.Visible = 1) "; // get only visible products var recordCount = ModCtrl.GetDataListCount(PortalId, ModuleId, EntityTypeCode, strFilter, EntityTypeCodeLang, Utils.GetCurrentCulture(), DebugMode); _navigationdata.RecordCount = recordCount.ToString(""); _navigationdata.Save(); if (returnlimit > 0 && returnlimit < recordCount) { recordCount = returnlimit; } // **** check if we already have the template cached, if so no need for DB call or razor call **** // get same cachekey used for DB return, and use for razor. var razorcachekey = ModCtrl.GetDataListCacheKey(PortalId, ModuleId, EntityTypeCode, EntityTypeCodeLang, Utils.GetCurrentCulture(), strFilter, _navigationdata.OrderBy, DebugMode, "", returnlimit, pageNumber, pageSize, recordCount); var cachekey = "NBrightBuyRazorOutput" + _templD + "*" + razorcachekey + PortalId.ToString(); var strOut = (String)NBrightBuyUtils.GetModCache(cachekey); if (strOut == null || StoreSettings.Current.DebugMode) { var l = ModCtrl.GetDataList(PortalId, ModuleId, EntityTypeCode, EntityTypeCodeLang, Utils.GetCurrentCulture(), strFilter, _navigationdata.OrderBy, DebugMode, "", returnlimit, pageNumber, pageSize, recordCount); strOut = NBrightBuyUtils.RazorTemplRenderList(_templD, ModuleId, razorcachekey, l, _controlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); } var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); if (_navigationdata.SingleSearchMode) { _navigationdata.ResetSearch(); } if (pageSize > 0) { CtrlPaging.PageSize = pageSize; CtrlPaging.CurrentPage = pageNumber; CtrlPaging.TotalRecords = recordCount; CtrlPaging.BindPageLinks(); } } } } }
override protected void OnInit(EventArgs e) { _entryid = Utils.RequestQueryStringParam(Context, "eid"); _uid = Utils.RequestParam(Context, "uid"); _print = Utils.RequestParam(Context, "print"); _printtemplate = Utils.RequestParam(Context, "template"); _page = Utils.RequestParam(Context, "page"); EnablePaging = true; base.OnInit(e); // if we want to print a order we need to open the browser with a startup script, this points to a Printview.aspx. (Must go after the ModSettings has been init.) if (_print != "") { Page.ClientScript.RegisterStartupScript(this.GetType(), "printorder", "window.open('" + StoreSettings.NBrightBuyPath() + "/PrintView.aspx?itemid=" + _entryid + "&printcode=" + _print + "&template=" + _printtemplate + "&theme=" + ModSettings.Get("theme") + "','_blank');", true); } CtrlPaging.Visible = true; CtrlPaging.UseListDisplay = true; try { if (_entryid != "") { _displayentrypage = true; } #region "load templates" // Get Search var rpSearchTempl = ModCtrl.GetTemplateData(ModSettings, "orderssearch.html", Utils.GetCurrentCulture(), DebugMode); _templSearch = NBrightBuyUtils.GetGenXmlTemplate(rpSearchTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); rpSearch.ItemTemplate = _templSearch; var t1 = "ordersheader.html"; var t2 = "ordersbody.html"; var t3 = "ordersfooter.html"; if (Utils.IsNumeric(_entryid)) { t1 = "ordersdetailheader.html"; t2 = "ordersdetail.html"; t3 = "ordersdetailfooter.html"; } // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode); rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, t2, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, t3, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); if (Utils.IsNumeric(_entryid)) { var rpItemHTempl = ModCtrl.GetTemplateData(ModSettings, "ordersdetailitemheader.html", Utils.GetCurrentCulture(), DebugMode); rpItemH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpItemHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Body var rpItemTempl = ModCtrl.GetTemplateData(ModSettings, "ordersdetailitem.html", Utils.GetCurrentCulture(), DebugMode); rpItem.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpItemTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpItemFTempl = ModCtrl.GetTemplateData(ModSettings, "ordersdetailitemfooter.html", Utils.GetCurrentCulture(), DebugMode); rpItemF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpItemFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } else { rpItemH.Visible = false; rpItem.Visible = false; rpItemF.Visible = false; } #endregion } catch (Exception exc) { //display the error on the template (don;t want to log it here, prefer to deal with errors directly.) var l = new Literal(); l.Text = exc.ToString(); phData.Controls.Add(l); } }
private void RazorPageLoad() { // insert page header text NBrightBuyUtils.RazorIncludePageHeaderNoCache(ModuleId, Page, Path.GetFileNameWithoutExtension(RazorTemplate) + "_head" + Path.GetExtension(RazorTemplate), ControlPath, ModSettings.ThemeFolder, ModSettings.Settings()); }
private void RazorPageLoad() { var obj = new NBrightInfo(); var strOut = NBrightBuyUtils.RazorTemplRender(RazorTemplate, -1, "", obj, _controlPath, ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); }
override protected void OnInit(EventArgs e) { base.OnInit(e); // get setting via control params if (DisplayHeader != null && DisplayHeader == "") { DisplayHeader = "minicartheader.html"; } if (DisplayBody != null && DisplayHeader == "") { DisplayBody = "minicartbody.html"; } if (DisplayFooter != null && DisplayHeader == "") { DisplayFooter = "minicartfooter.html"; } if (!String.IsNullOrEmpty(DisplayHeader) && !ModSettings.Settings().ContainsKey("txtdisplayheader")) { ModSettings.Settings().Add("txtdisplayheader", DisplayHeader); } if (!String.IsNullOrEmpty(DisplayBody) && !ModSettings.Settings().ContainsKey("txtdisplaybody")) { ModSettings.Settings().Add("txtdisplaybody", DisplayBody); } if (!String.IsNullOrEmpty(DisplayFooter) && !ModSettings.Settings().ContainsKey("txtdisplayfooter")) { ModSettings.Settings().Add("txtdisplayfooter", DisplayFooter); } if (!String.IsNullOrEmpty(PaymentTab) && !ModSettings.Settings().ContainsKey("PaymentTab")) { ModSettings.Settings().Add("PaymentTab", PaymentTab); } if (!String.IsNullOrEmpty(Themefolder) && !ModSettings.Settings().ContainsKey("themefolder")) { ModSettings.Settings().Add("themefolder", Themefolder); } _cartInfo = new CartData(PortalId); _addressData = new AddressData(_cartInfo.UserId.ToString("")); if (ModSettings.Get("themefolder") == "") // if we don't have module setting jump out { rpDataH.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS"); return; } try { _templH = ModSettings.Get("txtdisplayheader"); _templD = ModSettings.Get("txtdisplaybody"); _templDfoot = ModSettings.Get("txtdisplaybodyfoot"); _templF = ModSettings.Get("txtdisplayfooter"); const string templAB = "cartbillingaddress.html"; const string templAS = "cartshippingaddress.html"; const string templS = "cartshipment.html"; const string templE = "cartextra.html"; const string templD = "cartdetails.html"; carttype = ModSettings.Get("ddlcarttype"); // This is left for backward compatiblity with NBS_Cart module (now removed from install). if (carttype == "") { // cart type is not a setting, so use the controlanme if (ModuleConfiguration.DesktopModule.ModuleName == "NBS_MiniCart") { carttype = "1"; } if (ModuleConfiguration.DesktopModule.ModuleName == "NBS_FullCart") { carttype = "3"; } if (ModuleConfiguration.DesktopModule.ModuleName == "NBS_Checkout") { carttype = "2"; } } if (carttype == "3" || carttype == "2") // check if we need to add cookie items { _cartInfo.AddCookieToCart(); _cartInfo.Save(); } if (!_cartInfo.GetCartItemList().Any() && (carttype == "3" || carttype == "2")) { _templH = "cartempty.html"; // check for empty cart } else { // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, _templD, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, _templF, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get CartLayout var layouttemplate = "checkoutlayout.html"; if (carttype == "3") { layouttemplate = "fullcartlayout.html"; } var checkoutlayoutTempl = ModCtrl.GetTemplateData(ModSettings, layouttemplate, Utils.GetCurrentCulture(), DebugMode); checkoutlayout.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(checkoutlayoutTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); _templateHeader = (GenXmlTemplate)checkoutlayout.ItemTemplate; } // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, _templH, Utils.GetCurrentCulture(), DebugMode); rpDataH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // insert page header text NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, _templateHeader, ModSettings.Settings(), null, DebugMode); if (carttype == "2") { // add any shiiping provider templates to the cart layout, so we can process any data required by them rpShip.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(ModCtrl.GetTemplateData(ModSettings, templS, Utils.GetCurrentCulture(), DebugMode), ModSettings.Settings(), PortalSettings.HomeDirectory); rpAddrB.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(ModCtrl.GetTemplateData(ModSettings, templAB, Utils.GetCurrentCulture(), DebugMode), ModSettings.Settings(), PortalSettings.HomeDirectory); rpAddrS.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(ModCtrl.GetTemplateData(ModSettings, templAS, Utils.GetCurrentCulture(), DebugMode), ModSettings.Settings(), PortalSettings.HomeDirectory); var checkoutextraTempl = ModCtrl.GetTemplateData(ModSettings, templE, Utils.GetCurrentCulture(), DebugMode); checkoutextraTempl += GetShippingProviderTemplates(); rpExtra.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(checkoutextraTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } } catch (Exception exc) { rpDataF.ItemTemplate = new GenXmlTemplate(exc.Message, ModSettings.Settings()); // catch any error and allow processing to continue, output error as footer template. } }
private void DisplayProductError(ProductData productData, String msg) { var strOut = msg; if (productData != null) { strOut = NBrightBuyUtils.RazorTemplRender("ProductNotFound.cshtml", ModuleId, "", productData, _controlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); } var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); if (StoreSettings.Current.SettingsInfo.GetXmlPropertyBool("genxml/checkbox/activate404")) { Response.StatusCode = 404; } }
private void RazorPageLoad() { NBrightInfo objCat = null; if (RazorTemplate.Trim() != "") // if we don;t have a template, don't do anything { if (_displayentrypage) { // get correct itemid, based on eid given _eid = GetEntryIdFromName(_eid); RazorDisplayDataEntry(_eid); } else { // load meta data for category if (Utils.IsNumeric(_catid)) { var catData = new CategoryData(_catid, Utils.GetCurrentCulture()); if (catData.Name != null) { if (catData.SEOTitle != "") { BasePage.Title = catData.SEOTitle; } else { BasePage.Title = catData.SEOName; } if (BasePage.Title == "") { BasePage.Title = catData.Name; } if (catData.SEODescription != "") { BasePage.Description = catData.SEODescription; } if (catData.SEOTagwords != "") { BasePage.KeyWords = catData.SEOTagwords; } } } // load base template which should call ajax and load the list. var strOut = NBrightBuyUtils.RazorTemplRender(RazorTemplate, ModuleId, "productdetailrazor" + ModuleId, new NBrightInfo(true), _controlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); } } }
private void RazorPageLoad() { NBrightInfo objCat = null; if (RazorTemplate.Trim() != "") // if we don;t have a template, don't do anything { if (_displayentrypage) { // get correct itemid, based on eid given _eid = GetEntryIdFromName(_eid); RazorDisplayDataEntry(_eid); } else { // load base template which should call ajax and load the list. var strOut = NBrightBuyUtils.RazorTemplRender(RazorTemplate, ModuleId, "productdetailrazor" + ModuleId, new NBrightInfo(true), _controlPath, ModSettings.ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); } } }
protected override void OnInit(EventArgs e) { base.OnInit(e); _controlPath = ControlPath; if (ModSettings.Settings().ContainsKey("themefolder") && ModSettings.Settings()["themefolder"] != "") { ThemeFolder = ModSettings.Settings()["themefolder"]; } if (ThemeFolder == "") { ThemeFolder = StoreSettings.Current.ThemeFolder; } if (ModSettings.Settings().ContainsKey("razortemplate") && ModSettings.Settings()["razortemplate"] != "") { RazorTemplate = ModSettings.Settings()["razortemplate"]; } if (RazorTemplate == "" && ModSettings.Settings().ContainsKey("razorlisttemplate") && ModSettings.Settings()["razorlisttemplate"] != "") { RazorTemplate = ModSettings.Settings()["razorlisttemplate"]; } if (RazorTemplate == "" && ModSettings.Settings().ContainsKey("razordetailtemplate") && ModSettings.Settings()["razordetailtemplate"] != "") { RazorTemplate = ModSettings.Settings()["razordetailtemplate"]; } if (ModSettings != null) { // check if we're using a provider controlpath for the templates. var providercontrolpath = ModSettings.Get("providercontrolpath"); if (providercontrolpath != "") { _controlPath = "/DesktopModules/NBright/" + providercontrolpath + "/"; } } // insert page header text NBrightBuyUtils.RazorIncludePageHeader(ModuleId, Page, "FrontOfficePageHeader.cshtml", _controlPath, ThemeFolder, ModSettings.Settings()); // insert text in body. NBrightBuyUtils.RazorIncludePageBody(ModuleId, Page, "FrontOfficePageBody.cshtml", _controlPath, ThemeFolder, ModSettings.Settings()); if (ModuleContext.Configuration != null) { if (String.IsNullOrEmpty(RazorTemplate)) { RazorTemplate = ModuleConfiguration.DesktopModule.ModuleName + ".cshtml"; } // insert page header text NBrightBuyUtils.RazorIncludePageHeader(ModuleId, Page, Path.GetFileNameWithoutExtension(RazorTemplate) + "_head" + Path.GetExtension(RazorTemplate), _controlPath, ThemeFolder, ModSettings.Settings()); // insert page body text for template name. NBrightBuyUtils.RazorIncludePageBody(ModuleId, Page, Path.GetFileNameWithoutExtension(RazorTemplate) + "_pageinject" + Path.GetExtension(RazorTemplate), _controlPath, ThemeFolder, ModSettings.Settings()); } var strOut = "<span class='container_" + ThemeFolder + "_" + RazorTemplate + "'>"; Controls.AddAt(0, new LiteralControl("<div class='container_" + ThemeFolder.ToLower().Replace(" ", "_") + "_" + RazorTemplate.ToLower().Replace(".cshtml", "").Replace(" ", "_") + "'>")); Controls.AddAt(Controls.Count, new LiteralControl("</div>")); }
override protected void OnInit(EventArgs e) { _eid = Utils.RequestQueryStringParam(Context, "eid"); _print = Utils.RequestParam(Context, "print"); _printtemplate = Utils.RequestParam(Context, "template"); EnablePaging = true; base.OnInit(e); // if guidkey entered instead of eid, find it using the guid and assign to _eid _guidkey = Utils.RequestQueryStringParam(Context, "guidkey"); if (_guidkey == "") { _guidkey = Utils.RequestQueryStringParam(Context, "ref"); } if (_eid == "" && _guidkey != "") { var guidData = ModCtrl.GetByGuidKey(PortalId, -1, "PRD", _guidkey); if (guidData != null) { _eid = guidData.ItemID.ToString("D"); } else { _eid = "0"; } } // if we want to print we need to open the browser with a startup script, this points to a Printview.aspx. (Must go after the ModSettings has been init.) if (_print != "") { Page.ClientScript.RegisterStartupScript(this.GetType(), "printproduct", "window.open('" + StoreSettings.NBrightBuyPath() + "/PrintView.aspx?itemid=" + _eid + "&printcode=" + _print + "&template=" + _printtemplate + "&theme=" + ModSettings.Get("themefolder") + "','_blank');", true); } if (ModuleKey == "") // if we don't have module setting jump out { rpDataH.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS"); return; } _navigationdata = new NavigationData(PortalId, ModuleKey); // Pass in a template specifying the token to create a friendly url for paging. // (NOTE: we need this in NBS becuase the edit product from list return url will copy the page number and hence paging will not work after editing if we don;t do this) CtrlPaging.HrefLinkTemplate = "[<tag type='valueof' databind='PreText' />][<tag type='if' databind='Text' testvalue='' display='{OFF}' />][<tag type='hrefpagelink' moduleid='" + ModuleId.ToString("") + "' />][<tag type='endif' />][<tag type='valueof' databind='PostText' />]"; CtrlPaging.UseListDisplay = true; try { _catid = Utils.RequestQueryStringParam(Context, "catid"); _catname = Utils.RequestQueryStringParam(Context, "catref"); #region "set templates based on entry id (eid) from url" _ename = Utils.RequestQueryStringParam(Context, "entry"); _modkey = Utils.RequestQueryStringParam(Context, "modkey"); _pagemid = Utils.RequestQueryStringParam(Context, "pagemid"); _pagenum = Utils.RequestQueryStringParam(Context, "page"); _pagesize = Utils.RequestQueryStringParam(Context, "pagesize"); _orderbyindex = Utils.RequestQueryStringParam(Context, "orderby"); // see if we need to display the entry page. if ((_modkey == ModuleKey | _modkey == "") && (_eid != "" | _ename != "")) { _displayentrypage = true; } // if we have entry detail display, but no catd, get the default one. if (_displayentrypage && _catid == "" && Utils.IsNumeric(_eid)) { var prdData = ProductUtils.GetProductData(Convert.ToInt32(_eid), Utils.GetCurrentCulture()); var defcat = prdData.GetDefaultCategory(); if (defcat != null) { _catid = defcat.categoryid.ToString(""); } } if (ModSettings.Get("listonly").ToLower() == "true") { _displayentrypage = false; } // get template codes if (_displayentrypage) { _templH = ModSettings.Get("txtdisplayentryheader"); _templD = ModSettings.Get("txtdisplayentrybody"); _templF = ModSettings.Get("txtdisplayentryfooter"); } else { _templH = ModSettings.Get("txtdisplayheader"); _templD = ModSettings.Get("txtdisplaybody"); _templF = ModSettings.Get("txtdisplayfooter"); } #endregion // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, _templH, Utils.GetCurrentCulture(), DebugMode); //------------------------------------------------------------------------- //Get default sort order and filter from the displayheader template. Use template data, becuase repeater is not fully initialized yet. _strOrder = _navigationdata.OrderBy; if (String.IsNullOrEmpty(_strOrder)) { _strOrder = GenXmlFunctions.GetSqlOrderBy(rpDataHTempl); // get default } if (_orderbyindex != "") // if we have orderby set in url, find the meta tags { _strOrder = GenXmlFunctions.GetSqlOrderBy(rpDataHTempl, _orderbyindex); // save the selected orderby to the cookie, so we can page with it. _navigationdata.OrderBy = _strOrder; } //------------------------------------------------------------------------- var cachekey = "GenXmlTemplate*rpDataH" + _templH + "*" + ModuleId.ToString(); _templateHeader = (GenXmlTemplate)Utils.GetCache(cachekey); if (_templateHeader == null || StoreSettings.Current.DebugMode) { _templateHeader = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } rpDataH.ItemTemplate = _templateHeader; // insert page header text NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, _templateHeader, ModSettings.Settings(), null, DebugMode); // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, _templD, Utils.GetCurrentCulture(), DebugMode); //if body template doesn't contain a default moduleid add it. if (!rpDataTempl.ToLower().Contains("nbs:modeldefault")) { rpDataTempl = "[<tag type='nbs:modeldefault' />]" + rpDataTempl; } // always add a productid hidden field to the data template (for add to cart) rpDataTempl = "[<tag type='hidden' id='productid' value='databind:itemid' />]" + rpDataTempl; cachekey = "GenXmlTemplate*rpData" + _templD + "*" + ModuleId.ToString(); var gXml = (GenXmlTemplate)Utils.GetCache(cachekey); if (gXml == null || StoreSettings.Current.DebugMode) { gXml = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } rpData.ItemTemplate = gXml; // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, _templF, Utils.GetCurrentCulture(), DebugMode); cachekey = "GenXmlTemplate*rpDataF" + _templF + "*" + ModuleId.ToString(); gXml = (GenXmlTemplate)Utils.GetCache(cachekey); if (gXml == null || StoreSettings.Current.DebugMode) { gXml = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } rpDataF.ItemTemplate = gXml; } catch (Exception exc) { // remove any cookie which might store SQL in error. _navigationdata.Delete(); DisplayProductError(exc.ToString()); } }
private void DisplayDataEntryRepeater(String entryId) { var productData = ProductUtils.GetProductData(entryId, Utils.GetCurrentCulture()); if (productData != null && productData.Exists && productData.Info.TypeCode == "PRD") { if (PortalSettings.HomeTabId == TabId) { PageIncludes.IncludeCanonicalLink(Page, Globals.AddHTTP(PortalSettings.PortalAlias.HTTPAlias)); //home page always default of site. } else { PageIncludes.IncludeCanonicalLink(Page, NBrightBuyUtils.GetEntryUrl(PortalId, _eid, "", productData.SEOName, TabId.ToString(""))); } // overwrite SEO data if (productData.SEOName != "") { BasePage.Title = productData.SEOTitle; } else { BasePage.Title = productData.ProductName; } if (productData.SEODescription != "") { BasePage.Description = productData.SEODescription; } if (productData.SEOTagwords != "") { BasePage.KeyWords = productData.SEOTagwords; } // if debug , output the xml used. if (DebugMode) { productData.Info.XMLDoc.Save(PortalSettings.HomeDirectoryMapPath + "debug_entry.xml"); } // insert page header text NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, (GenXmlTemplate)rpData.ItemTemplate, ModSettings.Settings(), productData.Info, DebugMode); //render the detail page base.DoDetail(rpData, productData.Info); DoDetail(rpDataH, productData.Info); // do header here, so we pickup default cat for breadcrumb } else { DisplayProductError(""); } }
override protected void OnInit(EventArgs e) { EnablePaging = true; base.OnInit(e); if (ModSettings.Get("themefolder") == "") // if we don't have module setting jump out { rpDataH.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS"); return; } CtrlPaging.Visible = false; // don't bother with paging on this module. try { #region "set templates based on entry id (eid) from url" _entryid = Utils.RequestQueryStringParam(Context, "eid"); if (_entryid != "") { _displayentrypage = true; } // get template codes if (_displayentrypage) { _templH = ModSettings.Get("txtdetailheader"); _templD = ModSettings.Get("txtdetailbody"); _templF = ModSettings.Get("txtdetailfooter"); } else { _templH = ModSettings.Get("txtdisplayheader"); _templD = ModSettings.Get("txtdisplaybody"); _templF = ModSettings.Get("txtdisplayfooter"); } _templIH = ModSettings.Get("txtitemdetailheader"); _templID = ModSettings.Get("txtitemdetailbody"); _templIF = ModSettings.Get("txtitemdetailfooter"); #endregion // Get Search var rpSearchTempl = ModCtrl.GetTemplateData(ModSettings, "orderadminsearch.html", Utils.GetCurrentCulture(), DebugMode); _templSearch = NBrightBuyUtils.GetGenXmlTemplate(rpSearchTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); rpSearch.ItemTemplate = _templSearch; // Get Display Header var rpDataHTempl = ModCtrl.GetTemplateData(ModSettings, _templH, Utils.GetCurrentCulture(), DebugMode); var templateHeader = NBrightBuyUtils.GetGenXmlTemplate(rpDataHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); rpDataH.ItemTemplate = templateHeader; // insert page header text NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, templateHeader, ModSettings.Settings(), null, DebugMode); // Get Display Body var rpDataTempl = ModCtrl.GetTemplateData(ModSettings, _templD, Utils.GetCurrentCulture(), DebugMode); rpData.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpDataFTempl = ModCtrl.GetTemplateData(ModSettings, _templF, Utils.GetCurrentCulture(), DebugMode); rpDataF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpDataFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); if (Utils.IsNumeric(_entryid)) { var rpItemHTempl = ModCtrl.GetTemplateData(ModSettings, _templIH, Utils.GetCurrentCulture(), DebugMode); rpItemH.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpItemHTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Body var rpItemTempl = ModCtrl.GetTemplateData(ModSettings, _templID, Utils.GetCurrentCulture(), DebugMode); rpItem.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpItemTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); // Get Display Footer var rpItemFTempl = ModCtrl.GetTemplateData(ModSettings, _templIF, Utils.GetCurrentCulture(), DebugMode); rpItemF.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(rpItemFTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); } else { rpItemH.Visible = false; rpItem.Visible = false; rpItemF.Visible = false; } } catch (Exception exc) { //display the error on the template (don;t want to log it here, prefer to deal with errors directly.) var l = new Literal(); l.Text = exc.ToString(); phData.Controls.Add(l); } }
private void RazorPageLoad() { var obj = new NBrightInfo(true); // no cache key, we don't want to cache this form. var searchcookie = new NavigationData(PortalId, ModSettings.Get("targetmodulekey")); var paramcatid = Utils.RequestQueryStringParam(Context, "catid"); if (!Utils.IsNumeric(paramcatid)) { paramcatid = "0"; } if (searchcookie.CategoryId == Convert.ToInt32(paramcatid)) // filter mode DOES NOT persist catid (stop confusion when user selects a category) { if (searchcookie.SearchFormData != "") { obj.XMLData = searchcookie.SearchFormData; } } else { searchcookie.ResetSearch(); } var strOut = NBrightBuyUtils.RazorTemplRender(RazorTemplate, -1, "", obj, ControlPath, ThemeFolder, Utils.GetCurrentCulture(), ModSettings.Settings()); var lit = new Literal(); lit.Text = strOut; phData.Controls.Add(lit); }
override protected void OnInit(EventArgs e) { base.OnInit(e); try { // check for new plugins var pi = new PluginData(PortalId, true); pi.UpdateSystemPlugins(); pi.CheckforNewSystemConfig(); #region "load templates" var t1 = "backoffice.html"; // Get Display Body var dataTempl = ModCtrl.GetTemplateData(ModSettings, t1, Utils.GetCurrentCulture(), DebugMode); // insert page header text var headerTempl = NBrightBuyUtils.GetGenXmlTemplate(dataTempl, ModSettings.Settings(), PortalSettings.HomeDirectory); NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, headerTempl, ModSettings.Settings(), null, DebugMode); // remove any DNN modules from the BO page var tabInfo = PortalSettings.Current.ActiveTab; var modCount = tabInfo.Modules.Count; for (int i = 0; i < modCount; i++) { tabInfo.Modules.RemoveAt(0); } var aryTempl = Utils.ParseTemplateText(dataTempl); foreach (var s in aryTempl) { var htmlDecode = System.Web.HttpUtility.HtmlDecode(s); if (htmlDecode != null) { switch (htmlDecode.ToLower()) { case "<tag:menu>": var c1 = LoadControl(ControlPath + "/Menu.ascx"); phData.Controls.Add(c1); break; case "<tag:container>": var c2 = LoadControl(ControlPath + "/Container.ascx"); phData.Controls.Add(c2); break; default: var lc = new Literal { Text = s }; phData.Controls.Add(lc); break; } } } #endregion } catch (Exception exc) { //display the error on the template (don;t want to log it here, prefer to deal with errors directly.) var l = new Literal(); l.Text = exc.ToString(); phData.Controls.Add(l); } }
override protected void OnInit(EventArgs e) { base.OnInit(e); if (ModSettings.Get("themefolder") == "") // if we don't have module setting jump out { rpPaymentGateways.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS"); return; } try { var pluginData = new PluginData(PortalSettings.Current.PortalId); _provList = pluginData.GetPaymentProviders(); _cartInfo = new CartData(PortalId); var orderid = Utils.RequestQueryStringParam(Context, "orderid"); var templOk = ModSettings.Get("paymentoktemplate"); var templFail = ModSettings.Get("paymentfailtemplate"); var templHeader = ""; var templFooter = ""; var templText = ""; if ((_provList.Count == 0 || _cartInfo.PurchaseInfo.GetXmlPropertyDouble("genxml/appliedtotal") <= 0) && orderid == "") { #region "No Payment providers, so process as a ordering system" var displayTempl = templOk; if (!_cartInfo.IsValidated()) { displayTempl = templFail; } rpDetailDisplay.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(ModCtrl.GetTemplateData(ModSettings, displayTempl, Utils.GetCurrentCulture(), DebugMode), ModSettings.Settings(), PortalSettings.HomeDirectory); _templateHeader = (GenXmlTemplate)rpDetailDisplay.ItemTemplate; // we may have voucher discounts that give a zero appliedtotal, so process. var discountprov = DiscountCodeInterface.Instance(); if (discountprov != null) { discountprov.UpdatePercentUsage(PortalId, UserId, _cartInfo.PurchaseInfo); discountprov.UpdateVoucherAmount(PortalId, UserId, _cartInfo.PurchaseInfo); } #endregion } else { #region "Payment Details" // display the payment method by default templHeader = ModSettings.Get("paymentordersummary"); templFooter = ModSettings.Get("paymentfooter"); var templPaymentText = ""; var msg = ""; if (Utils.IsNumeric(orderid)) { // orderid exists, so must be return from bank; Process it!! _orderData = new OrderData(PortalId, Convert.ToInt32(orderid)); _prov = PaymentsInterface.Instance(_orderData.PaymentProviderKey); msg = _prov.ProcessPaymentReturn(Context); if (msg == "") // no message so successful { _orderData = new OrderData(PortalId, Convert.ToInt32(orderid)); // get the updated order. _orderData.PaymentOk("050"); templText = templOk; } else { _orderData = new OrderData(PortalId, Convert.ToInt32(orderid)); // reload the order, becuase the status and typecode may have changed by the payment provider. _orderData.AddAuditMessage(msg, "paymsg", "payment.ascx", "False"); _orderData.Save(); templText = templFail; } templFooter = ""; // return from bank, hide footer } else { // not returning from bank, so display list of payment providers. rpPaymentGateways.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(GetPaymentProviderTemplates(), ModSettings.Settings(), PortalSettings.HomeDirectory); } if (templText == "") { templText = templHeader; // if we are NOT returning from bank, then display normal header summary template } templPaymentText = ModCtrl.GetTemplateData(ModSettings, templText, Utils.GetCurrentCulture(), DebugMode); rpDetailDisplay.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(templPaymentText, ModSettings.Settings(), PortalSettings.HomeDirectory); _templateHeader = (GenXmlTemplate)rpDetailDisplay.ItemTemplate; if (templFooter != "") { var templPaymentFooterText = ModCtrl.GetTemplateData(ModSettings, templFooter, Utils.GetCurrentCulture(), DebugMode); rpDetailFooter.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(templPaymentFooterText, ModSettings.Settings(), PortalSettings.HomeDirectory); } #endregion } // insert page header text NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, _templateHeader, ModSettings.Settings(), null, DebugMode); } catch (Exception exc) { //display the error on the template (don;t want to log it here, prefer to deal with errors directly.) var l = new Literal(); l.Text = exc.ToString(); phData.Controls.Add(l); } }