Example #1
0
        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());
            }
        }
Example #2
0
        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
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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());
            }
        }
Example #5
0
 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);
     }
 }
Example #6
0
        public void Save()
        {
            var objCtrl = new NBrightDataController();

            objCtrl.Update(DataRecord);
            objCtrl.Update(DataLangRecord);
            var menucachekey = "NBrightPL*" + PortalSettings.Current.PortalId + "*" + _lang;

            Utils.RemoveCache(menucachekey);
        }
Example #7
0
        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
            }
        }
Example #8
0
        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);
        }
Example #11
0
 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();
             }
         }
     }
 }
Example #12
0
        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 = "&nbsp;<img alt=\"*\" src=\"" + Globals.ApplicationPath + "/images/breadcrumb.gif\">&nbsp;";
                    }
                }

                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);
            }
        }
Example #13
0
        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
        }