private String GetSettings(HttpContext context, String templateName) { try { var strOut = ""; //get uploaded params var ajaxInfo = GetAjaxFields(context); var tabid = ajaxInfo.GetXmlProperty("genxml/hidden/itemid"); var selectlang = ajaxInfo.GetXmlProperty("genxml/hidden/selectlang"); var lang = ajaxInfo.GetXmlProperty("genxml/hidden/lang"); var baselang = ajaxInfo.GetXmlProperty("genxml/hidden/baselang"); // get template var objCtrl = new NBrightDataController(); var bodyTempl = GetTemplateData(templateName, lang); var dataRecord = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "SETTINGS", "NBrightPL"); strOut = GenXmlFunctions.RenderRepeater(dataRecord, bodyTempl); return(strOut); } catch (Exception ex) { return(ex.ToString()); } }
protected override void OnLoad(EventArgs e) { try { var objCtrl = new NBrightDataController(); var dataRecord = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "PL", PortalSettings.ActiveTab.TabID.ToString("")); if (dataRecord != null) { var dataRecordLang = objCtrl.GetDataLang(dataRecord.ItemID, Utils.GetCurrentCulture()); if (dataRecordLang != null) { var bPage = (DotNetNuke.Framework.CDefault) this.Page; if (dataRecordLang.GetXmlProperty("genxml/textbox/pagetitle") != "") { bPage.Title = dataRecordLang.GetXmlProperty("genxml/textbox/pagetitle"); } if (dataRecordLang.GetXmlProperty("genxml/textbox/tagwords") != "") { bPage.KeyWords = dataRecordLang.GetXmlProperty("genxml/textbox/tagwords"); } if (dataRecordLang.GetXmlProperty("genxml/textbox/pagedescription") != "") { bPage.Description = dataRecordLang.GetXmlProperty("genxml/textbox/pagedescription"); } } } } catch (Exception exc) { //ignore } }
private NBrightInfo AddNew() { var objCtrl = new NBrightDataController(); var nbi = new NBrightInfo(true); nbi.PortalId = _portalId; nbi.TypeCode = "PL"; nbi.ModuleId = -1; nbi.ItemID = -1; nbi.GUIDKey = TabInfo.TabID.ToString(""); var itemId = objCtrl.Update(nbi); nbi.ItemID = itemId; foreach (var lang in DnnUtils.GetCultureCodeList(_portalId)) { var nbi2 = new NBrightInfo(true); nbi2.PortalId = _portalId; nbi2.TypeCode = "PLLANG"; nbi2.ModuleId = -1; nbi2.ItemID = -1; nbi2.Lang = lang; nbi2.ParentItemId = itemId; nbi2.GUIDKey = TabInfo.TabID.ToString(""); nbi2.SetXmlProperty("genxml/textbox/pagename", TabInfo.TabName); nbi2.SetXmlProperty("genxml/textbox/pagetitle", TabInfo.Title); nbi2.SetXmlProperty("genxml/textbox/tagwords", TabInfo.KeyWords); nbi2.SetXmlProperty("genxml/textbox/pagedescription", TabInfo.Description); nbi2.ItemID = objCtrl.Update(nbi2); } return(nbi); }
private String SaveSettings(HttpContext context) { try { //get uploaded params var ajaxInfo = GetAjaxFields(context); var tabid = ajaxInfo.GetXmlProperty("genxml/hidden/tabid"); var selectlang = ajaxInfo.GetXmlProperty("genxml/hidden/selectlang"); var objCtrl = new NBrightDataController(); var dataRecord = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "SETTINGS", "NBrightPL"); if (dataRecord == null) { dataRecord = new NBrightInfo(true); // populate empty XML so we can update nodes. dataRecord.GUIDKey = "NBrightPL"; dataRecord.PortalId = PortalSettings.Current.PortalId; dataRecord.TypeCode = "SETTINGS"; dataRecord.Lang = ""; } dataRecord.ModuleId = -99; // always use -99, so we don't get picked up as data by NBrightMod. var strIn = HttpUtility.UrlDecode(Utils.RequestParam(context, "inputxml")); dataRecord.UpdateAjax(strIn); objCtrl.Update(dataRecord); return(""); } catch (Exception ex) { return(ex.ToString()); } }
public void ResetLanguage(String resetToLang) { if (resetToLang != DataLangRecord.Lang) { var resetToLangData = new TabData(DataRecord.ItemID, resetToLang); var objCtrl = new NBrightDataController(); DataLangRecord.XMLData = resetToLangData.DataLangRecord.XMLData; objCtrl.Update(DataLangRecord); } }
public void Save() { var objCtrl = new NBrightDataController(); objCtrl.Update(DataRecord); objCtrl.Update(DataLangRecord); var menucachekey = "NBrightPL*" + PortalSettings.Current.PortalId + "*" + _lang; Utils.RemoveCache(menucachekey); }
private void TranslateForm(HttpContext context) { try { var objCtrl = new NBrightDataController(); var settings = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "SETTINGS", "NBrightPL"); var clientId = settings.GetXmlProperty("genxml/textbox/bingclientid"); var clientSecret = settings.GetXmlProperty("genxml/textbox/bingclientsecret"); var headerValue = Utils.GetTranslatorHeaderValue(clientId, clientSecret); //get uploaded params var ajaxInfo = GetAjaxFields(context); var tabid = ajaxInfo.GetXmlProperty("genxml/hidden/tabid"); var selectlang = ajaxInfo.GetXmlProperty("genxml/hidden/lang"); var baselang = ajaxInfo.GetXmlProperty("genxml/hidden/baselangtrans"); if (selectlang == "") { selectlang = Utils.GetCurrentCulture(); } if (baselang == "") { baselang = Utils.GetCurrentCulture(); } if (Utils.IsNumeric(tabid) && (baselang != selectlang)) { var baseData = new TabData(tabid, baselang); var tabData = new TabData(tabid, selectlang); //save data if (tabData.Exists && baseData.Exists) { baselang = baselang.Substring(0, 2); selectlang = selectlang.Substring(0, 2); var nodList = baseData.DataLangRecord.XMLDoc.SelectNodes("genxml/textbox/*"); if (nodList != null) { foreach (XmlNode nod in nodList) { var newText = Utils.GetTranslatedText(headerValue, nod.InnerText, baselang, selectlang); tabData.DataLangRecord.SetXmlProperty("genxml/textbox/" + nod.Name, newText); } tabData.Save(); } } } } catch (Exception ex) { // ignore } }
public int Validate() { var errorcount = 0; var objCtrl = new NBrightDataController(); DataRecord.ValidateXmlFormat(); if (DataLangRecord == null) { // we have no datalang record for this language, so get an existing one and save it. var l = objCtrl.GetList(_portalId, -1, "PLLANG", " and NB1.ParentItemId = " + DataRecord.ItemID.ToString("")); if (l.Count > 0) { DataLangRecord = (NBrightInfo)l[0].Clone(); DataLangRecord.ItemID = -1; DataLangRecord.Lang = _lang; DataLangRecord.ValidateXmlFormat(); objCtrl.Update(DataLangRecord); } } // fix langauge records foreach (var lang in DnnUtils.GetCultureCodeList(_portalId)) { var l = objCtrl.GetList(_portalId, -1, "PLLANG", " and NB1.ParentItemId = " + DataRecord.ItemID.ToString("") + " and NB1.Lang = '" + lang + "'"); if (l.Count == 0 && DataLangRecord != null) { var nbi = (NBrightInfo)DataLangRecord.Clone(); nbi.ItemID = -1; nbi.Lang = lang; objCtrl.Update(nbi); errorcount += 1; } if (l.Count > 1) { // we have more records than shoudl exists, remove any old ones. var l2 = objCtrl.GetList(_portalId, -1, "PLLANG", " and NB1.ParentItemId = " + DataRecord.ItemID.ToString("") + " and NB1.Lang = '" + lang + "'", "order by Modifieddate desc"); var lp = 1; foreach (var i in l2) { if (lp >= 2) { objCtrl.Delete(i.ItemID); } lp += 1; } } } return(errorcount); }
/// ----------------------------------------------------------------------------- /// <summary> /// ImportModule implements the IPortable ImportModule Interface /// </summary> /// <remarks> /// </remarks> /// <param name = "moduleId">The ID of the Module being imported</param> /// <param name = "content">The Content being imported</param> /// <param name = "version">The Version of the Module Content being imported</param> /// <param name = "userId">The UserID of the User importing the Content</param> /// <history> /// </history> /// ----------------------------------------------------------------------------- public void ImportModule(int moduleId, string content, string version, int userId) { var xmlDoc = new XmlDocument(); var objModCtrl = new ModuleController(); var objCtrl = new NBrightDataController(); var objModInfo = objModCtrl.GetModule(moduleId); if (objModInfo != null) { var portalId = objModInfo.PortalID; // import All records xmlDoc.LoadXml(content); var xmlNodList = xmlDoc.SelectNodes("root/item"); if (xmlNodList != null) { foreach (XmlNode xmlNod1 in xmlNodList) { var nbi = new NBrightInfo(); nbi.FromXmlItem(xmlNod1.OuterXml); objCtrl.Update(nbi); } } // relink the tabid using breadcrumb var tl = DnnUtils.GetPortalTabs(portalId); foreach (var t in tl) { var tabInfo = (TabInfo)t.Value; var strFilter = " and NB1.GUIDKey = '" + tabInfo.TabPath + "' "; var l = objCtrl.GetList(portalId, moduleId, "PL", strFilter); foreach (var i in l) { i.GUIDKey = tabInfo.TabID.ToString(""); objCtrl.Update(i); } var l2 = objCtrl.GetList(portalId, moduleId, "PLLANG", strFilter); foreach (var i in l2) { i.GUIDKey = tabInfo.TabID.ToString(""); objCtrl.Update(i); } } } }
/// ----------------------------------------------------------------------------- /// <summary> /// ExportModule implements the IPortable ExportModule Interface /// </summary> /// <remarks> /// </remarks> /// <param name = "moduleId">The Id of the module to be exported</param> /// <history> /// </history> /// ----------------------------------------------------------------------------- public string ExportModule(int ModuleId) { var objModCtrl = new ModuleController(); var xmlOut = "<root>"; var objModInfo = objModCtrl.GetModule(ModuleId); if (objModInfo != null) { var portalId = objModInfo.PortalID; var objTabCtrl = new TabController(); var objCtrl = new NBrightDataController(); var l = objCtrl.GetList(portalId, -1, "PL"); foreach (var nbi in l) { if (Utils.IsNumeric(nbi.GUIDKey)) { var tabInfo = objTabCtrl.GetTab(Convert.ToInt32(nbi.GUIDKey), portalId, true); if (tabInfo != null) { nbi.SetXmlProperty("genxml/exporttabid", tabInfo.TabID.ToString()); nbi.GUIDKey = tabInfo.TabPath; // use breadcrumd to relink on import. xmlOut += nbi.ToXmlItem(); } } } var l2 = objCtrl.GetList(portalId, -1, "PLLANG"); foreach (var nbi in l2) { if (Utils.IsNumeric(nbi.GUIDKey)) { var tabInfo = objTabCtrl.GetTab(Convert.ToInt32(nbi.GUIDKey), portalId, true); if (tabInfo != null) { nbi.SetXmlProperty("genxml/exporttabid", tabInfo.TabID.ToString()); nbi.GUIDKey = tabInfo.TabPath; // use breadcrumd to relink on import. xmlOut += nbi.ToXmlItem(); } } } } xmlOut += "</root>"; return(xmlOut); }
private void LoadData(int tabId) { Exists = false; if (_lang != "") { _portalId = PortalSettings.Current.PortalId; var objTabCtrl = new DotNetNuke.Entities.Tabs.TabController(); TabInfo = objTabCtrl.GetTab(tabId, _portalId, true); if (TabInfo != null) { var objCtrl = new NBrightDataController(); DataRecord = objCtrl.GetByGuidKey(_portalId, -1, "PL", tabId.ToString("")); if (DataRecord == null) { DataRecord = AddNew(); // add new record. } if (_lang == "") { _lang = Utils.GetCurrentCulture(); } if (DataRecord != null) { Exists = true; DataRecord.GUIDKey = TabInfo.TabID.ToString(""); DataLangRecord = objCtrl.GetDataLang(DataRecord.ItemID, _lang); if (DataLangRecord == null) // rebuild langauge if we have a missing lang record { Validate(); DataLangRecord = objCtrl.GetDataLang(DataRecord.ItemID, _lang); DataLangRecord.GUIDKey = TabInfo.TabID.ToString(""); } Info = objCtrl.Get(DataRecord.ItemID, _lang); Save(); } } } }
protected override void OnLoad(EventArgs e) { if (!Page.IsPostBack) { var objCtrl = new NBrightDataController(); // public attributes var strSeparator = ""; if (!String.IsNullOrEmpty(Separator)) { if (Separator.Contains("src=")) { Separator = Separator.Replace("src=\"", "src=\"" + PortalSettings.ActiveTab.SkinPath); } strSeparator = Separator; } else { if (!HtmlList) { strSeparator = " <img alt=\"*\" src=\"" + Globals.ApplicationPath + "/images/breadcrumb.gif\"> "; } } var strCssClass = ""; if (!string.IsNullOrEmpty(CssClass)) { strCssClass = CssClass; } int intRootLevel = 0; if (Utils.IsNumeric(RootLevel)) { intRootLevel = int.Parse(RootLevel); } var strBreadCrumbs = ""; // process bread crumbs int intTab = 0; if (!(HideWithNoBreadCrumb && (PortalSettings.ActiveTab.BreadCrumbs.Count == 1))) { for (intTab = intRootLevel; intTab <= PortalSettings.ActiveTab.BreadCrumbs.Count - 1; intTab++) { if (intTab != intRootLevel) { strBreadCrumbs += strSeparator; } var objTab = (TabInfo)PortalSettings.ActiveTab.BreadCrumbs[intTab]; var dataRecord = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "PL", objTab.TabID.ToString("")); var pagename = ""; if (dataRecord != null) { var dataRecordLang = objCtrl.GetDataLang(dataRecord.ItemID, Utils.GetCurrentCulture()); if (dataRecordLang != null) { pagename = dataRecordLang.GetXmlProperty("genxml/textbox/pagename"); } } else { // no PL data, so use normal tab data pagename = objTab.TabName; } if (HtmlList) { strBreadCrumbs += "<ul class=\"" + strCssClass + "\">"; if (objTab.DisableLink) { strBreadCrumbs += "<li>" + pagename + "</li>"; } else { strBreadCrumbs += "<li>" + "<a href=\"" + objTab.FullUrl + "\">" + pagename + "</a>" + "</li>"; } strBreadCrumbs += "</ul>"; } else { if (objTab.DisableLink) { strBreadCrumbs += "<span class=\"" + strCssClass + "\">" + pagename + "</span>"; } else { strBreadCrumbs += "<a href=\"" + objTab.FullUrl + "\" class=\"" + strCssClass + "\">" + pagename + "</a>"; } } } } lBreadCrumb = new Literal(); lBreadCrumb.Text = strBreadCrumbs; NBrightPLBreadCrumb.Controls.Add(lBreadCrumb); } }
public void ProcessRequest(HttpContext context) { #region "Initialize" var strOut = ""; var paramCmd = Utils.RequestQueryStringParam(context, "cmd"); var itemId = Utils.RequestQueryStringParam(context, "itemid"); var lang = Utils.RequestQueryStringParam(context, "lang"); var language = Utils.RequestQueryStringParam(context, "language"); var baselang = Utils.RequestQueryStringParam(context, "baselang"); #region "setup language" // because we are using a webservice the system current thread culture might not be set correctly, // so use the lang/lanaguge param to set it. if (lang == "") { lang = language; } if (!string.IsNullOrEmpty(lang)) { _lang = lang; } // default to current thread if we have no language. if (_lang == "") { _lang = System.Threading.Thread.CurrentThread.CurrentCulture.ToString(); } System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(_lang); #endregion #endregion #region "Do processing of command" var objCtrl = new NBrightDataController(); strOut = "ERROR!! - No Security rights for current user!"; switch (paramCmd) { case "test": strOut = "<root>" + UserController.GetCurrentUserInfo().Username + "</root>"; break; case "getformdata": strOut = GetTabData(context, "viewbody.html"); break; case "getbasedata": strOut = GetTabData(context, "viewbodybase.html"); break; case "saveformdata": if (CheckRights()) { strOut = SaveTabData(context); } break; case "getsetting": if (CheckRights()) { strOut = GetSettings(context, "settings.html"); } break; case "savesetting": if (CheckRights()) { strOut = SaveSettings(context); } break; case "translate": if (CheckRights()) { TranslateForm(context); strOut = "reload"; } break; } #endregion #region "return results" //send back xml as plain text context.Response.Clear(); context.Response.ContentType = "text/plain"; context.Response.Write(strOut); context.Response.End(); #endregion }