/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (StopProcessing) { // Do not process } else { CurrentUserInfo uinfo = CMSContext.CurrentUser; if (uinfo.IsGlobalAdministrator || !DisplayOnlyToGlobalAdministrator) { // Create new string builder for links StringBuilder sb = new StringBuilder(); // Store current site name string curSiteName = CMSContext.CurrentSiteName; // Get default user name string queryStringKey = (string.IsNullOrEmpty(DefaultUserName)) ? null : "?username="******"~/cmsdesk/default.aspx"); if (!string.IsNullOrEmpty(DefaultUserName)) { url = URLHelper.AddParameterToUrl(url, "username", DefaultUserName); } if (CMSContext.CurrentPageInfo != null) { url = URLHelper.AddParameterToUrl(url, "nodeid", CMSContext.CurrentPageInfo.NodeID.ToString()); } sb.AppendFormat(CMSDeskText, string.Concat("<a href=\"", URLHelper.EncodeQueryString(url), "\">", CMSDeskLinkText, "</a>")); separatorNeeded = true; } // If site manager link is shown if (ShowCMSSiteManagerLink && (!CheckPermissions || uinfo.UserSiteManagerAdmin)) { // Check if separator needed if (separatorNeeded) { sb.Append(Separator); } string url = ResolveUrl("~/cmssitemanager/default.aspx"); if (!string.IsNullOrEmpty(DefaultUserName)) { url = URLHelper.AddParameterToUrl(url, "username", DefaultUserName); } sb.AppendFormat(CMSSiteManagerText, string.Concat("<a href=\"", url, "\">", CMSSiteManagerLinkText, "</a>")); separatorNeeded = true; } // If edit document link is shown if (ShowEditDocumentLink && (!CheckPermissions || (uinfo.CheckEditor(curSiteName) && CMSPage.IsUserAuthorizedPerContent() && (uinfo.IsAuthorizedPerDocument(CMSContext.CurrentDocument, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Allowed)))) { // Check if separator needed if (separatorNeeded) { sb.Append(" " + Separator + " "); } string url = URLHelper.EncodeQueryString(UIHelper.GetDocumentEditUrl(CMSContext.CurrentDocument.NodeID, CMSContext.CurrentDocumentCulture.CultureCode)); if (PreferOnSiteEdit && PortalHelper.IsOnSiteEditingEnabled(CurrentSiteName)) { url = URLHelper.ResolveUrl(PortalHelper.OnSiteEditRelativeURL); string retUrl = URLHelper.CurrentURL; // handle default alias path if ((ViewMode == CMS.PortalEngine.ViewModeEnum.LiveSite) && (URLRewriter.CurrentPageInfoSource == PageInfoSource.DefaultAliasPath)) { string aliasPath = PageInfoProvider.GetDefaultAliasPath(URLHelper.GetCurrentDomain(), CMSContext.CurrentSiteName); if (!String.IsNullOrEmpty(aliasPath)) { string query = URLHelper.GetQuery(retUrl); retUrl = URLHelper.ResolveUrl(DocumentURLProvider.GetUrl(aliasPath)); retUrl = URLHelper.AppendQuery(retUrl, query); } } url = URLHelper.UpdateParameterInUrl(url, "returnurl", HTMLHelper.HTMLEncode(HttpUtility.UrlEncode(retUrl))); } sb.AppendFormat(EditDocumentText, string.Concat("<a href=\"", url, "\">", EditDocumentLinkText, "</a>")); } ltlAdminActions.Text = sb.ToString(); } } }
/// <summary> /// Initializes the control properties. /// </summary> protected void SetupControl() { if (this.StopProcessing) { // Do not process } else { CurrentUserInfo uinfo = CMSContext.CurrentUser; if (uinfo.IsGlobalAdministrator || !DisplayOnlyToGlobalAdministrator) { // Create new string builder for links StringBuilder sb = new StringBuilder(); // Store current site name string curSiteName = CMSContext.CurrentSiteName; // Get default user name string queryStringKey = (string.IsNullOrEmpty(DefaultUserName)) ? null : "?username="******"~/cmsdesk/default.aspx"); if (!string.IsNullOrEmpty(DefaultUserName)) { url = URLHelper.AddParameterToUrl(url, "username", DefaultUserName); } if (CMSContext.CurrentPageInfo != null) { url = URLHelper.AddParameterToUrl(url, "nodeid", CMSContext.CurrentPageInfo.NodeId.ToString()); } sb.AppendFormat(CMSDeskText, string.Concat("<a href=\"", URLHelper.EncodeQueryString(url), "\">", CMSDeskLinkText, "</a>")); separatorNeeded = true; } // If site manager link is shown if (ShowCMSSiteManagerLink && (!CheckPermissions || uinfo.UserSiteManagerAdmin)) { // Check if separator needed if (separatorNeeded) { sb.Append(Separator); } string url = ResolveUrl("~/cmssitemanager/default.aspx"); if (!string.IsNullOrEmpty(DefaultUserName)) { url = URLHelper.AddParameterToUrl(url, "username", DefaultUserName); } sb.AppendFormat(CMSSiteManagerText, string.Concat("<a href=\"", url, "\">", CMSSiteManagerLinkText, "</a>")); separatorNeeded = true; } // If edit document link is shown if (ShowEditDocumentLink && (!CheckPermissions || (uinfo.CheckEditor(curSiteName) && CMSPage.IsUserAuthorizedPerContent() && (uinfo.IsAuthorizedPerDocument(CMSContext.CurrentDocument, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Allowed)))) { // Check if separator needed if (separatorNeeded) { sb.Append(" " + Separator + " "); } sb.AppendFormat(EditDocumentText, string.Concat("<a href=\"", URLHelper.EncodeQueryString(UIHelper.GetDocumentEditUrl(CMSContext.CurrentDocument.NodeID, CMSContext.CurrentDocumentCulture.CultureCode)), "\">", EditDocumentLinkText, "</a>")); } ltlAdminActions.Text = sb.ToString(); } } }