Exemple #1
0
        private IDictionary <string, object> GetConfigration(PortalSettings portalSettings)
        {
            var settings = new Dictionary <string, object>();
            var user     = portalSettings.UserInfo;
            var portalId = portalSettings.PortalId;

            var menuStructure = PersonaBarController.Instance.GetMenu(portalSettings, user);

            settings.Add("applicationPath", Globals.ApplicationPath);
            settings.Add("buildNumber", Host.CrmVersion.ToString(CultureInfo.InvariantCulture));
            settings.Add("userId", user.UserID);
            settings.Add("avatarUrl", Globals.ResolveUrl(Utilities.GetProfileAvatar(user)));
            settings.Add("culture", Thread.CurrentThread.CurrentUICulture.Name);
            settings.Add("logOff", Globals.NavigateURL("Logoff"));
            settings.Add("visible", Visible);
            settings.Add("userMode", portalSettings.UserMode.ToString());
            settings.Add("userSettings", PersonaBarUserSettingsController.Instance.GetPersonaBarUserSettings());
            settings.Add("menuStructure", JObject.FromObject(menuStructure));
            settings.Add("sku", DotNetNukeContext.Current.Application.SKU);
            settings.Add("debugMode", HttpContext.Current != null && HttpContext.Current.IsDebuggingEnabled);
            settings.Add("portalId", portalId);
            if (BeaconService.Instance.IsBeaconEnabledForPersonaBar())
            {
                settings.Add("beaconUrl", GetBeaconUrl());
            }

            var customModules = new List <string>()
            {
                "serversummary"
            };

            settings.Add("customModules", customModules);

            return(settings);
        }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            if (ControlPanel.Visible)
            {
                PageBase.RegisterStyleSheet(Page, "~/admin/ControlPanel/module.css");
                ClientScriptManager cs = Page.ClientScript;
                if (!cs.IsClientScriptIncludeRegistered("hoverintent"))
                {
                    cs.RegisterClientScriptInclude("hoverintent", Globals.ResolveUrl("~/Resources/Shared/Scripts/jquery/jquery.hoverIntent.min.js"));
                }

                if (!cs.IsClientScriptIncludeRegistered("ControlPanel"))
                {
                    if (HttpContext.Current.IsDebuggingEnabled)
                    {
                        cs.RegisterClientScriptInclude("ControlPanel", Globals.ResolveUrl("~/Resources/ControlPanel/ControlPanel.debug.js"));
                    }
                    else
                    {
                        cs.RegisterClientScriptInclude("ControlPanel", Globals.ResolveUrl("~/Resources/ControlPanel/ControlPanel.js"));
                    }
                }
            }
            cmdVisibility.Visible = false;
        }
Exemple #3
0
        /// <summary>
        /// Enables processing of HTTP Web requests by a custom HttpHandler that implements the <see cref="T:System.Web.IHttpHandler"/> interface.
        /// </summary>
        /// <param name="context">An <see cref="T:System.Web.HttpContext"/> object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) used to service HTTP requests.</param>
        public void ProcessRequest(HttpContext context)
        {
            var portalId = PortalSettings.PortalId;

            // Generate Pages Array
            var pagesArray = new StringBuilder();

            pagesArray.Append("var dnnpagesSelectBox = new Array(");

            var domainName = string.Format("http://{0}", Globals.GetDomainName(context.Request, true));

            foreach (TabInfo tab in TabController.GetPortalTabs(
                         portalId, -1, false, null, true, false, true, true, true))
            {
                var tabUrl = PortalController.GetPortalSettingAsBoolean("ContentLocalizationEnabled", portalId, false) &&
                             !string.IsNullOrEmpty(tab.CultureCode)
                                    ? Globals.FriendlyUrl(
                    tab,
                    string.Format("{0}&language={1}", Globals.ApplicationURL(tab.TabID), tab.CultureCode))
                                    : Globals.FriendlyUrl(tab, Globals.ApplicationURL(tab.TabID));


                tabUrl = Globals.ResolveUrl(Regex.Replace(tabUrl, domainName, "~", RegexOptions.IgnoreCase));

                var tabName = GlobalObject.escape(tab.TabName);

                if (tab.Level.Equals(0))
                {
                    pagesArray.AppendFormat("new Array('| {0}','{1}'),", tabName, tabUrl);
                }
                else
                {
                    var separator = new StringBuilder();

                    for (int index = 0; index < tab.Level; index++)
                    {
                        separator.Append("--");
                    }

                    pagesArray.AppendFormat("new Array('|{0} {1}','{2}'),", separator, tabName, tabUrl);
                }
            }

            if (pagesArray.ToString().EndsWith(","))
            {
                pagesArray.Remove(pagesArray.Length - 1, 1);
            }

            pagesArray.Append(");");

            context.Response.ContentType = "text/javascript";
            context.Response.Write(pagesArray.ToString());
        }
Exemple #4
0
        private IDictionary <string, object> GetConfigration(PortalSettings portalSettings)
        {
            var settings          = new Dictionary <string, object>();
            var user              = portalSettings.UserInfo;
            var portalId          = portalSettings.PortalId;
            var preferredTimeZone = TimeZoneHelper.GetPreferredTimeZone(user.Profile.PreferredTimeZone);

            var menuStructure = PersonaBarController.Instance.GetMenu(portalSettings, user);

            settings.Add("applicationPath", Globals.ApplicationPath);
            settings.Add("buildNumber", Host.CrmVersion.ToString(CultureInfo.InvariantCulture));
            settings.Add("userId", user.UserID);
            settings.Add("avatarUrl", Globals.ResolveUrl(Utilities.GetProfileAvatar(user)));
            settings.Add("culture", Thread.CurrentThread.CurrentUICulture.Name);
            settings.Add("logOff", this.NavigationManager.NavigateURL("Logoff"));
            settings.Add("visible", this.Visible);
            settings.Add("userMode", Personalization.GetUserMode().ToString());
            settings.Add("userSettings", PersonaBarUserSettingsController.Instance.GetPersonaBarUserSettings());
            settings.Add("menuStructure", JObject.FromObject(menuStructure));
            settings.Add("sku", DotNetNukeContext.Current.Application.SKU);
            settings.Add("debugMode", HttpContext.Current != null && HttpContext.Current.IsDebuggingEnabled);
            settings.Add("portalId", portalId);
            settings.Add("preferredTimeZone", preferredTimeZone);

            if (!settings.ContainsKey("isAdmin"))
            {
                settings.Add("isAdmin", user.IsInRole(portalSettings.AdministratorRoleName));
            }

            if (!settings.ContainsKey("isHost"))
            {
                settings.Add("isHost", user.IsSuperUser);
            }

            var customModules = new List <string>()
            {
                "serversummary"
            };

            settings.Add("customModules", customModules);

            settings.Add("disableEditBar", Host.DisableEditBar);

            var customPersonaBarThemePath   = HostingEnvironment.MapPath("~/Portals/_default/PersonaBarTheme.css");
            var customPersonaBarThemeExists = File.Exists(customPersonaBarThemePath);

            settings.Add("personaBarTheme", customPersonaBarThemeExists);

            return(settings);
        }
Exemple #5
0
        /// <summary>
        /// GetFriendlyAlias gets the Alias root of the friendly url
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <param name="path">The path to format.</param>
        /// <param name="portalAlias">The portal alias of the site.</param>
        /// <returns>The formatted url</returns>
        /// <history>
        ///		[cnurse]	12/16/2004	created
        /// </history>
        private string GetFriendlyAlias(string path, string portalAlias)
        {
            string friendlyPath = path;
            string matchString  = "";

            if (!(portalAlias == Null.NullString))
            {
                if (!(HttpContext.Current.Items["UrlRewrite:OriginalUrl"] == null))
                {
                    string originalUrl = HttpContext.Current.Items["UrlRewrite:OriginalUrl"].ToString();

                    //For Each entry As String In arrAlias
                    Match portalMatch = Regex.Match(originalUrl, "^" + Globals.AddHTTP(portalAlias), RegexOptions.IgnoreCase);
                    if (!(portalMatch == Match.Empty))
                    {
                        matchString = Globals.AddHTTP(portalAlias);
                    }

                    if (matchString == "")
                    {
                        //Manage the special case where original url contains the alias as
                        //http://www.domain.com/Default.aspx?alias=www.domain.com/child"
                        portalMatch = Regex.Match(originalUrl, "^?alias=" + portalAlias, RegexOptions.IgnoreCase);
                        if (!(portalMatch == Match.Empty))
                        {
                            matchString = Globals.AddHTTP(portalAlias);
                        }
                    }
                }
            }

            if (!String.IsNullOrEmpty(matchString))
            {
                if (path.IndexOf("~") != -1)
                {
                    friendlyPath = friendlyPath.Replace("~", matchString);
                }
                else
                {
                    friendlyPath = matchString + friendlyPath;
                }
            }
            else
            {
                friendlyPath = Globals.ResolveUrl(friendlyPath);
            }

            return(friendlyPath);
        }
Exemple #6
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            if (!string.IsNullOrEmpty(CssClass))
            {
                CssClass = string.Format("{0} TermsSelector", CssClass);
            }
            else
            {
                CssClass = "TermsSelector";
            }

            var includeSystem = IncludeSystemVocabularies.ToString().ToLowerInvariant();
            var includeTags   = IncludeTags.ToString().ToLowerInvariant();
            var apiPath       = Globals.ResolveUrl($"~/API/InternalServices/ItemListService/GetTerms?includeSystem={includeSystem}&includeTags={includeTags}&q=");

            Options.Preload = "focus";
            Options.Plugins.Add("remove_button");
            Options.Render = new RenderOption
            {
                Option = "function(item, escape) {return '<div>' + item.text + '</div>';}"
            };

            Options.Load  = $@"function(query, callback) {{
                                $.ajax({{
                                        url: '{apiPath}' + encodeURIComponent(query),
                                    type: 'GET',
                                    error: function() {{
                                        callback();
                                    }},
                                    success: function(data) {{
                                        callback(data);
                                    }}
                                }});
                            }}
";
            Options.Items = _initOptions;
        }
Exemple #7
0
        void FillTypeColumns(int moduleId, TokenReplace objTokenReplace, PortalSettings portalSettings,
                             TabController tabCtrl,
                             DataRow row, FieldSetting field)
        {
            var link = row[field.Title].ToString();
            //Link showed to the user
            bool openInNewWindow;

            if (field.ShowOpenInNewWindow)  //mit URL gepeicherten Wert lesen
            {
                openInNewWindow = UrlUtil.OpenUrlInNewWindow(link);
            }
            else
            {
                switch (Globals.GetURLType(UrlUtil.StripURL(link)))
                {
                case TabType.File:
                    openInNewWindow = true;
                    break;

                case TabType.Tab:     //link to internal tab
                    openInNewWindow = false;
                    break;

                default:
                    openInNewWindow = link.Like(Globals.ApplicationMapPath + "*");
                    break;
                }
            }

            //set caption:
            var caption = field.OutputFormat;

            if (!string.IsNullOrEmpty(caption))
            {
                caption = objTokenReplace.ReplaceEnvironmentTokens(caption, row);
            }
            var isLink = true;

            //Link readable by browsers
            link = UrlUtil.StripURL(link);
            var url = Globals.LinkClick(link, portalSettings.ActiveTab.TabID, moduleId, field.TrackDownloads, field.EnforceDownload);

            if (link != string.Empty)
            {
                switch (Globals.GetURLType(link))
                {
                case TabType.Tab:
                    var tab = tabCtrl.GetTab(int.Parse(link), portalSettings.PortalId, false);
                    if (tab != null)
                    {
                        if (caption == string.Empty)
                        {
                            if (!field.Abbreviate)
                            {
                                var strPath = string.Empty;
                                if (tab.BreadCrumbs != null && tab.BreadCrumbs.Count > 0)
                                {
                                    foreach (TabInfo b in tab.BreadCrumbs)
                                    {
                                        var strLabel = b.TabName;
                                        if (strPath != string.Empty)
                                        {
                                            strPath +=
                                                string.Format(
                                                    "<img src=\"{0}/images/breadcrumb.gif\" border=\"0\" alt=\"Spacer\"/>",
                                                    Globals.ApplicationPath);
                                        }
                                        strPath += strLabel;
                                    }
                                }
                                caption = tab.TabPath.Replace("//",
                                                              string.Format(
                                                                  "<img src=\"{0}/images/breadcrumb.gif\" border=\"0\" alt=\"Spacer\"/>",
                                                                  Globals.ApplicationPath));
                            }
                            else
                            {
                                caption = tab.TabName;
                            }
                        }
                        url = field.EnforceDownload ? url : Globals.NavigateURL(int.Parse(link));
                    }
                    else
                    {
                        caption = Localization.GetString("PageNotFound.ErrorMessage",
                                                         Globals.ResolveUrl(
                                                             string.Format("~{0}{1}/SharedResources.resx",
                                                                           Definition.PathOfModule,
                                                                           Localization.LocalResourceDirectory)));
                        url    = string.Empty;
                        isLink = false;
                    }
                    break;

                case TabType.File:
                    if (caption == string.Empty)
                    {
                        if (link.ToLowerInvariant().StartsWith("fileid="))
                        {
                            var file = FileManager.Instance.GetFile(int.Parse(link.Substring(7)));
                            if (file != null)
                            {
                                if (!field.Abbreviate)
                                {
                                    caption = file.Folder + file.FileName;
                                }
                                else
                                {
                                    caption = file.FileName;
                                }
                            }
                        }
                        else if (field.Abbreviate && link.IndexOf("/", StringComparison.Ordinal) > -1)
                        {
                            caption = link.Substring(Convert.ToInt32(link.LastIndexOf("/", StringComparison.Ordinal) + 1));
                        }
                        else
                        {
                            caption = link;
                        }
                    }
                    break;

                case TabType.Url:
                case TabType.Normal:
                    if (caption == string.Empty)
                    {
                        if (field.Abbreviate && link.IndexOf("/", StringComparison.Ordinal) > -1)
                        {
                            caption = link.Substring(Convert.ToInt32(link.LastIndexOf("/", StringComparison.Ordinal) + 1));
                        }
                        else
                        {
                            caption = link;
                        }
                    }
                    if (!field.TrackDownloads)
                    {
                        url = link;
                    }
                    break;
                }


                if (field.EnforceDownload)
                {
                    url += "&amp;forcedownload=true";
                }

                string strFieldvalue;
                if (isLink)
                {
                    strFieldvalue = string.Format("<!--{1}--><a href=\"{0}\"{2}>{1}</a>", url,
                                                  caption, (openInNewWindow ? " target=\"_blank\"" : ""));
                }
                else
                {
                    strFieldvalue = caption;
                }
                row[field.Title] = strFieldvalue;
                row[field.Title + DataTableColumn.Appendix_Caption]  = caption;
                row[field.Title + DataTableColumn.Appendix_Original] = link;
                row[field.Title + DataTableColumn.Appendix_Url]      = url;
            }
        }
Exemple #8
0
        public override void RenderValuesToHtmlInsideDataSet(DataSet ds, int moduleId, bool noScript)
        {
            if (ds != null)
            {
                var fields = new ArrayList();
                //List of columns that contains URLs
                var tableData    = ds.Tables[DataSetTableName.Data];
                var tokenReplace = new TokenReplace {
                    ModuleId = moduleId
                };
                foreach (DataRow row in ds.Tables[DataSetTableName.Fields].Rows)
                {
                    if (row[FieldsTableColumn.Type].ToString() == Name)
                    {
                        var fieldId = (int)row[FieldsTableColumn.Id];
                        var field   = new FieldSettings
                        {
                            Title               = row[FieldsTableColumn.Title].ToString(),
                            OutputFormat        = row[FieldsTableColumn.OutputSettings].AsString(),
                            Abbreviate          = GetFieldSetting("Abbreviate", fieldId, ds).AsBoolean(),
                            ShowOpenInNewWindow = GetFieldSetting("ShowOpenInNewWindow", fieldId, ds).AsBoolean(),
                            EnforceDownload     = GetFieldSetting("EnforceDownload", fieldId, ds).AsBoolean()
                        };
                        fields.Add(field);
                        tableData.Columns.Add(new DataColumn(field.Title + DataTableColumn.Appendix_Url, typeof(string)));
                        tableData.Columns.Add(new DataColumn(field.Title + DataTableColumn.Appendix_Caption,
                                                             typeof(string)));
                        tableData.Columns.Add(new DataColumn(field.Title + DataTableColumn.Appendix_Original,
                                                             typeof(string)));
                    }
                }
                if (fields.Count > 0)
                {
                    var portalSettings = PortalController.GetCurrentPortalSettings();


                    foreach (DataRow row in tableData.Rows)
                    {
                        foreach (FieldSettings field in fields)
                        {
                            var strFieldvalue   = string.Empty;
                            var strFileId       = row[field.Title].ToString();
                            var openInNewWindow = !field.ShowOpenInNewWindow || UrlUtil.OpenUrlInNewWindow(strFileId);
                            strFileId = UrlUtil.StripURL(strFileId);
                            var strUrl = "";
                            //Link readable by browsers

                            var strCaption = string.Empty;
                            if (strFileId != string.Empty)
                            {
                                strUrl =
                                    HttpUtility.HtmlEncode(Globals.LinkClick(strFileId, portalSettings.ActiveTab.TabID,
                                                                             moduleId));
                                var fName          = "";
                                var strDisplayName = "";
                                if (strFileId.Like("FileID=*"))
                                {
                                    var f = FileManager.Instance.GetFile(int.Parse(UrlUtils.GetParameterValue(strFileId)));
                                    if (f != null)
                                    {
                                        fName = f.FileName;
                                        if (field.Abbreviate)
                                        {
                                            strDisplayName = (f.Folder + fName);
                                        }
                                        else
                                        {
                                            strDisplayName = fName;
                                        }
                                    }
                                }
                                else
                                {
                                    fName          = Globals.ResolveUrl(strUrl);
                                    strDisplayName = field.Abbreviate
                                        ? fName.Substring(Convert.ToInt32(fName.LastIndexOf("/", StringComparison.Ordinal) + 1))
                                        : fName;
                                }
                                strCaption = field.OutputFormat;
                                strCaption = string.IsNullOrEmpty(strCaption)
                                    ? fName
                                    : tokenReplace.ReplaceEnvironmentTokens(strCaption, row);
                                if (field.EnforceDownload)
                                {
                                    strUrl += "&amp;forcedownload=true";
                                }
                                strFieldvalue = string.Format("<!--{0}--><a href=\"{1}\" {2}>{3}</a>", strDisplayName,
                                                              strUrl, (openInNewWindow ? " target=\"_blank\"" : ""),
                                                              strCaption);
                            }
                            row[field.Title] = strFieldvalue;
                            row[field.Title + DataTableColumn.Appendix_Caption]  = strCaption;
                            row[field.Title + DataTableColumn.Appendix_Original] = strFileId;
                            row[field.Title + DataTableColumn.Appendix_Url]      = strUrl;
                        }
                    }
                }
            }
        }
Exemple #9
0
        /// <summary>
        /// Initialises the control
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        ///     [cnurse]	12/13/2004	Documented
        /// </history>
        public override void Initialize()
        {
            //initialize the control
            cntlFtb                      = new FreeTextBox();
            cntlFtb.PreRender           += new EventHandler(cntlFtb_PreRender);
            cntlFtb.Language             = Thread.CurrentThread.CurrentUICulture.Name;
            cntlFtb.ButtonImagesLocation = ResourceLocation.ExternalFile;
            cntlFtb.JavaScriptLocation   = ResourceLocation.ExternalFile;

            //Set Design Mode Css for WYSIWYG
// TODO AC When the style sheets are added, we get js errors resulting in nothing working, add this back at a later time.
//            SetDesignModeCss();

            cntlFtb.ToolbarImagesLocation = ResourceLocation.ExternalFile;
            cntlFtb.ID = ControlID;
            cntlFtb.AutoGenerateToolbarsFromString = false;

            //Build the Standard ToolBar Collection
            cntlFtb.Toolbars.Clear();
            cntlFtb.Toolbars.Add(AddStyleToolBar());
            cntlFtb.Toolbars.Add(AddColorToolBar());

            Toolbar tb = AddTextToolBar();

            if (tb.Items.Count > 0)
            {
                cntlFtb.Toolbars.Add(AddTextToolBar());
            }

            cntlFtb.Toolbars.Add(AddFormatToolBar());
            cntlFtb.Toolbars.Add(AddEditToolBar());
            cntlFtb.Toolbars.Add(AddInsertToolBar());
            cntlFtb.Toolbars.Add(AddTableToolBar());
            if (enableProFeatures)
            {
                cntlFtb.Toolbars.Add(AddFormToolBar());
            }
            cntlFtb.Toolbars.Add(AddSpecialToolBar());

            cntlFtb.ImageGalleryUrl = Globals.ResolveUrl("~/Providers/HtmlEditorProviders/Ftb3HtmlEditorProvider/ftb3/ftb.imagegallery.aspx?cif=~" + RootImageDirectory + "&rif=~" + RootImageDirectory + "&portalid=" + PortalSettings.PortalId);
            cntlFtb.SupportFolder   = Globals.ResolveUrl("~/Providers/HtmlEditorProviders/Ftb3HtmlEditorProvider/ftb3/");
            switch (toolbarStyle)
            {
            case "OfficeMac":

                cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.OfficeMac;
                break;

            case "Office2000":

                cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.Office2000;
                break;

            case "OfficeXP":

                cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.OfficeXP;
                break;

            case "Office2003":

                cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.Office2003;
                break;

            default:

                cntlFtb.ToolbarStyleConfiguration = ToolbarStyleConfiguration.NotSet;
                break;
            }
        }