public static string GetReviewToastMarkup(PortalSettings PortalSettings) { string Markup = string.Empty; Pages page = GetLatestVersion(PortalSettings.ActiveTab.TabID, PortalSettings.UserInfo); WorkflowState State = null; bool ShowReview = false; if (page != null && page.StateID.HasValue) { State = WorkflowManager.GetStateByID(page.StateID.Value); if (State != null && WorkflowManager.HasReviewPermission(page.StateID.Value, PortalSettings.UserInfo)) { ShowReview = WorkflowManager.GetWorkflowType(State.WorkflowID) == WorkflowTypes.ContentApproval && !WorkflowManager.IsFirstState(State.WorkflowID, State.StateID) && !WorkflowManager.IsLastState(State.WorkflowID, State.StateID); } } if (State != null) { string URL = ServiceProvider.NavigationManager.NavigateURL("", "mid=0", "icp=true", "guid=33d8efed-0f1d-471e-80a4-6a7f10e87a42"); string ReviewChangesBtn = ShowReview ? "ReviewChangeMarkup.append(ReviewChangesBtn);" : string.Empty; string Subject = ShowReview ? State.Name : DotNetNuke.Services.Localization.Localization.GetString("PendingReview", Components.Constants.LocalResourcesFile); string Message = !ShowReview ? "ReviewChangeMarkup.append('" + DotNetNuke.Services.Localization.Localization.GetString("ThisPageIsWaiting", Components.Constants.LocalResourcesFile) + "');" : string.Empty; string UnlockChangesBtn = TabPermissionController.CanManagePage(PortalSettings.ActiveTab) ? "ReviewChangeMarkup.append(UnlockChangesBtn);" : string.Empty; string LocalCanvasMarkup = string.Empty; string FirstStateName = WorkflowManager.GetFirstStateID(State.WorkflowID).Name; string ReviewChangeFunction = !ShowReview ? "ConfirmReviewChange('" + FirstStateName + "');" : "$('.gjs-cv-canvas__frames').removeClass('lockcanvas'); VJIsLocked='False'; $('.toast-close-button').click();"; if (State != null && ShowReview || (!string.IsNullOrEmpty(UnlockChangesBtn) && !WorkflowManager.IsFirstState(State.WorkflowID, State.StateID) && !WorkflowManager.IsLastState(State.WorkflowID, State.StateID))) { Markup = "var ReviewChangeMarkup=$('<div>'); var ReviewChangesBtn = $('<button>'); ReviewChangesBtn.text('" + DotNetNuke.Services.Localization.Localization.GetString("ReviewPage", Components.Constants.LocalResourcesFile) + "'); ReviewChangesBtn.addClass('btn btn-success btn-sm'); ReviewChangesBtn.click(function(){OpenPopUp(null,600,'right','','" + URL + "'); }); var UnlockChangesBtn = $('<button>'); UnlockChangesBtn.text('" + DotNetNuke.Services.Localization.Localization.GetString("MakeChanges", Components.Constants.LocalResourcesFile) + "'); UnlockChangesBtn.addClass('btn btn-danger btn-sm'); UnlockChangesBtn.click(function(){" + ReviewChangeFunction + " });" + Message + " " + ReviewChangesBtn + " " + UnlockChangesBtn + " window.parent.ShowNotification('" + Subject + "',ReviewChangeMarkup, 'info', '', false,false);" + LocalCanvasMarkup + ""; } } return(Markup); }
public static string GetAccessRoles(UserInfo UserInfo) { List <string> AccessRoles = new List <string>(); if (UserInfo.UserID > 0) { AccessRoles.Add("user"); } else { AccessRoles.Add("anonymous"); } if (UserInfo.UserID > -1 && (UserInfo.IsInRole("Administrators"))) { AccessRoles.Add("admin"); } if (UserInfo.IsSuperUser) { AccessRoles.Add("host"); } if (TabPermissionController.CanManagePage(PortalSettings.Current.ActiveTab)) { AccessRoles.Add("editpage"); } return(string.Join(",", AccessRoles)); }
public static T ConvertToPageItem <T>(TabInfo tab, IEnumerable <TabInfo> portalTabs) where T : PageItem, new() { return(new T { Id = tab.TabID, Name = tab.LocalizedTabName, Url = tab.FullUrl, ChildrenCount = portalTabs?.Count(ct => ct.ParentId == tab.TabID) ?? 0, Status = GetTabStatus(tab), ParentId = tab.ParentId, Level = tab.Level, IsSpecial = TabController.IsSpecialTab(tab.TabID, PortalSettings.Current), TabPath = tab.TabPath.Replace("//", "/"), PageType = GetPageType(tab.Url), CanViewPage = TabPermissionController.CanViewPage(tab), CanManagePage = TabPermissionController.CanManagePage(tab), CanAddPage = TabPermissionController.CanAddPage(tab), CanAdminPage = TabPermissionController.CanAdminPage(tab), CanCopyPage = TabPermissionController.CanCopyPage(tab), CanDeletePage = TabPermissionController.CanDeletePage(tab), CanAddContentToPage = TabPermissionController.CanAddContentToPage(tab), CanNavigateToPage = TabPermissionController.CanNavigateToPage(tab), LastModifiedOnDate = tab.LastModifiedOnDate.ToString("MM/dd/yyyy h:mm:ss tt", CultureInfo.CreateSpecificCulture(tab.CultureCode ?? "en-US")), FriendlyLastModifiedOnDate = tab.LastModifiedOnDate.ToString("MM/dd/yyyy h:mm:ss tt"), PublishDate = tab.HasBeenPublished ? WorkflowHelper.GetTabLastPublishedOn(tab).ToString("MM/dd/yyyy h:mm:ss tt", CultureInfo.CreateSpecificCulture(tab.CultureCode ?? "en-US")) : "", PublishStatus = GetTabPublishStatus(tab), Tags = tab.Terms.Select(t => t.Name).ToArray(), TabOrder = tab.TabOrder }); }
public HttpResponseMessage CopyPermissionsToChildren() { if (TabPermissionController.CanManagePage() && UserController.GetCurrentUserInfo().IsInRole("Administrators") && ActiveTabHasChildren() && !PortalSettings.ActiveTab.IsSuperTab) { TabController.CopyPermissionsToChildren(PortalSettings.ActiveTab, PortalSettings.ActiveTab.TabPermissions); return(Request.CreateResponse(HttpStatusCode.OK)); } return(Request.CreateResponse(HttpStatusCode.InternalServerError)); }
private bool IsPageAdmin() { return //TabPermissionController.CanAddContentToPage() || (TabPermissionController.CanAddPage() || TabPermissionController.CanAdminPage() || TabPermissionController.CanCopyPage() || TabPermissionController.CanDeletePage() || TabPermissionController.CanExportPage() || TabPermissionController.CanImportPage() || TabPermissionController.CanManagePage()); }
public virtual JObject GetPagePermissions(TabInfo tab) { var permissions = new JObject { { "addContentToPage", TabPermissionController.CanAddContentToPage(tab) }, { "addPage", TabPermissionController.CanAddPage(tab) }, { "adminPage", TabPermissionController.CanAdminPage(tab) }, { "copyPage", TabPermissionController.CanCopyPage(tab) }, { "deletePage", TabPermissionController.CanDeletePage(tab) }, { "exportPage", TabPermissionController.CanExportPage(tab) }, { "importPage", TabPermissionController.CanImportPage(tab) }, { "managePage", TabPermissionController.CanManagePage(tab) } }; return(permissions); }
public HttpResponseMessage GetContentLocalizationEnabled() { try { if (!TabPermissionController.CanManagePage()) { return(GetForbiddenResponse()); } return(Request.CreateResponse(HttpStatusCode.OK, new { Success = true, PortalSettings.ContentLocalizationEnabled })); } catch (Exception ex) { Logger.Error(ex); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.ToString())); } }
public void CopyPermissionsToDescendantPages(int pageId) { var portalSettings = PortalController.Instance.GetCurrentPortalSettings(); var portalId = portalSettings.PortalId; var tab = _tabController.GetTab(pageId, portalId, false); if (tab == null) { throw new PageNotFoundException(); } if (!TabPermissionController.CanManagePage(tab) || tab.IsSuperTab) { throw new PermissionsNotMetException(tab.TabID, Localization.GetString("CannotCopyPermissionsToDescendantPages")); } TabController.CopyPermissionsToChildren(tab, tab.TabPermissions); }
protected override string RenderView() { var slug = Request.Params["slug"]; if (!string.IsNullOrEmpty(slug)) { return(MvcRenderingEngine.Render("ProductReviews", "Index", new { slug })); } if (!TabPermissionController.CanManagePage()) { if (PortalSettings.HomeTabId != Null.NullInteger) { if (PortalSettings.HomeTabId != PortalSettings.ActiveTab.TabID) { Response.Redirect(Globals.NavigateURL(PortalSettings.HomeTabId)); } } } return(string.Empty); }
protected override string RenderView() { // Remove plupload.js as it's not used (erwin) // ------------------------------------------ //RegisterScript("plupload/plupload.full.js"); //RegisterScript("plupload/FileUpload.js"); RegisterUnobtrusiveValidateScripts(); RegisterViewScript("Products.js"); var isConcreteItemModule = false; var slug = (string)Settings["Slug"]; if (!string.IsNullOrEmpty(slug)) { isConcreteItemModule = true; } if (string.IsNullOrEmpty(slug)) { slug = Request.Params["slug"]; } if (!string.IsNullOrEmpty(slug)) { return(MvcRenderingEngine.Render("Products", "Index", new { slug, isConcreteItemModule })); } if (!TabPermissionController.CanManagePage()) { if (PortalSettings.HomeTabId != Null.NullInteger) { if (PortalSettings.HomeTabId != PortalSettings.ActiveTab.TabID) { Response.Redirect(Globals.NavigateURL(PortalSettings.HomeTabId)); } } } return(string.Empty); }
public virtual bool CanManagePage(int tabId) { return(this.CanAdminPage(tabId) || TabPermissionController.CanManagePage(this.GetTabById(tabId))); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); imgAddModule.Click += imgAddModule_Click; optMode.SelectedIndexChanged += optMode_SelectedIndexChanged; optModuleType.SelectedIndexChanged += optModuleType_SelectedIndexChanged; cboTabs.SelectedIndexChanged += cboTabs_SelectedIndexChanged; cmdVisibility.Click += cmdVisibility_Click; cboPanes.SelectedIndexChanged += cboPanes_SelectedIndexChanged; cboPosition.SelectedIndexChanged += cboPosition_SelectedIndexChanged; imgAdmin.Click += imgAdmin_Click; cmdAdmin.Click += cmdAdmin_Click; imgHost.Click += imgHost_Click; cmdHost.Click += cmdHost_Click; cmdAddModule.Click += AddModule_Click; cmdAddTab.Click += PageFunctions_Click; cmdAddTabIcon.Click += PageFunctions_Click; cmdEditTab.Click += PageFunctions_Click; cmdEditTabIcon.Click += PageFunctions_Click; cmdDeleteTab.Click += PageFunctions_Click; cmdDeleteTabIcon.Click += PageFunctions_Click; cmdCopyTab.Click += PageFunctions_Click; cmdCopyTabIcon.Click += PageFunctions_Click; cmdExportTab.Click += PageFunctions_Click; cmdExportTabIcon.Click += PageFunctions_Click; cmdImportTab.Click += PageFunctions_Click; cmdImportTabIcon.Click += PageFunctions_Click; cmdExtensions.Click += CommonTasks_Click; cmdExtensionsIcon.Click += CommonTasks_Click; cmdFiles.Click += CommonTasks_Click; cmdFilesIcon.Click += CommonTasks_Click; cmdRoles.Click += CommonTasks_Click; cmdRolesIcon.Click += CommonTasks_Click; cmdSite.Click += CommonTasks_Click; cmdSiteIcon.Click += CommonTasks_Click; cmdUsers.Click += CommonTasks_Click; cmdUsersIcon.Click += CommonTasks_Click; try { if (IsPageAdmin()) { tblControlPanel.Visible = true; cmdVisibility.Visible = true; rowControlPanel.Visible = true; Localize(); if (Globals.IsAdminControl()) { cmdAddModule.Enabled = false; } if (!Page.IsPostBack) { optModuleType.Items.FindByValue("0").Selected = true; if (!TabPermissionController.CanAddPage()) { DisableAction(imgAddTabIcon, "iconbar_addtab_bw.gif", cmdAddTabIcon, cmdAddTab); } if (!TabPermissionController.CanManagePage()) { DisableAction(imgEditTabIcon, "iconbar_edittab_bw.gif", cmdEditTabIcon, cmdEditTab); } if (!TabPermissionController.CanDeletePage() || TabController.IsSpecialTab(TabController.CurrentPage.TabID, PortalSettings)) { DisableAction(imgDeleteTabIcon, "iconbar_deletetab_bw.gif", cmdDeleteTabIcon, cmdDeleteTab); } else { ClientAPI.AddButtonConfirm(cmdDeleteTab, Localization.GetString("DeleteTabConfirm", LocalResourceFile)); ClientAPI.AddButtonConfirm(cmdDeleteTabIcon, Localization.GetString("DeleteTabConfirm", LocalResourceFile)); } if (!TabPermissionController.CanCopyPage()) { DisableAction(imgCopyTabIcon, "iconbar_copytab_bw.gif", cmdCopyTabIcon, cmdCopyTab); } if (!TabPermissionController.CanExportPage()) { DisableAction(imgExportTabIcon, "iconbar_exporttab_bw.gif", cmdExportTabIcon, cmdExportTab); } if (!TabPermissionController.CanImportPage()) { DisableAction(imgImportTabIcon, "iconbar_importtab_bw.gif", cmdImportTabIcon, cmdImportTab); } if (!TabPermissionController.CanAddContentToPage()) { pnlModules.Visible = false; } if (!GetModulePermission(PortalSettings.PortalId, "Site Settings")) { DisableAction(imgSiteIcon, "iconbar_site_bw.gif", cmdSiteIcon, cmdSite); } if (GetModulePermission(PortalSettings.PortalId, "User Accounts") == false) { DisableAction(imgUsersIcon, "iconbar_users_bw.gif", cmdUsersIcon, cmdUsers); } if (GetModulePermission(PortalSettings.PortalId, "Security Roles") == false) { DisableAction(imgRolesIcon, "iconbar_roles_bw.gif", cmdRolesIcon, cmdRoles); } if (GetModulePermission(PortalSettings.PortalId, "Digital Asset Management") == false) { DisableAction(imgFilesIcon, "iconbar_files_bw.gif", cmdFilesIcon, cmdFiles); } if (GetModulePermission(PortalSettings.PortalId, "Extensions") == false) { DisableAction(imgExtensionsIcon, "iconbar_extensions_bw.gif", cmdExtensionsIcon, cmdExtensions); } UserInfo objUser = UserController.GetCurrentUserInfo(); if (objUser != null) { if (objUser.IsSuperUser) { hypMessage.ImageUrl = Upgrade.UpgradeIndicator(DotNetNukeContext.Current.Application.Version, Request.IsLocal, Request.IsSecureConnection); if (!String.IsNullOrEmpty(hypMessage.ImageUrl)) { hypMessage.ToolTip = Localization.GetString("hypUpgrade.Text", LocalResourceFile); hypMessage.NavigateUrl = Upgrade.UpgradeRedirect(); } cmdHost.Visible = true; } else //branding { if (PortalSecurity.IsInRole(PortalSettings.AdministratorRoleName) && Host.DisplayCopyright) { hypMessage.ImageUrl = "~/images/branding/iconbar_logo.png"; hypMessage.ToolTip = DotNetNukeContext.Current.Application.Description; hypMessage.NavigateUrl = Localization.GetString("hypMessageUrl.Text", LocalResourceFile); } else { hypMessage.Visible = false; } cmdHost.Visible = false; cmdAdmin.Visible = GetModulePermission(PortalSettings.PortalId, "Console"); } imgHost.Visible = cmdHost.Visible; imgAdmin.Visible = cmdAdmin.Visible; } BindData(); int intItem; for (intItem = 0; intItem <= PortalSettings.ActiveTab.Panes.Count - 1; intItem++) { cboPanes.Items.Add(Convert.ToString(PortalSettings.ActiveTab.Panes[intItem])); } if (cboPanes.Items.FindByValue(Globals.glbDefaultPane) != null) { cboPanes.Items.FindByValue(Globals.glbDefaultPane).Selected = true; } if (cboPermission.Items.Count > 0) { cboPermission.SelectedIndex = 0; //view } LoadPositions(); if (!string.IsNullOrEmpty(Host.HelpURL)) { var version = Globals.FormatVersion(DotNetNukeContext.Current.Application.Version, false); cmdHelp.NavigateUrl = Globals.FormatHelpUrl(Host.HelpURL, PortalSettings, version); cmdHelpIcon.NavigateUrl = cmdHelp.NavigateUrl; cmdHelp.Enabled = true; cmdHelpIcon.Enabled = true; } else { cmdHelp.Enabled = false; cmdHelpIcon.Enabled = false; } SetMode(false); SetVisibility(false); } //Register jQuery jQuery.RequestRegistration(); } else if (IsModuleAdmin()) { tblControlPanel.Visible = true; cmdVisibility.Visible = false; rowControlPanel.Visible = false; if (!Page.IsPostBack) { SetMode(false); SetVisibility(false); } } else { tblControlPanel.Visible = false; } } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }
public override IConsoleResultModel Run() { try { var desktopModule = DesktopModuleController.GetDesktopModuleByModuleName(ModuleName, PortalId); if (desktopModule == null) { return(new ConsoleErrorResultModel(string.Format(LocalizeString("Prompt_DesktopModuleNotFound"), ModuleName))); } var message = new KeyValuePair <HttpStatusCode, string>(); var page = TabController.Instance.GetTab(PageId, PortalSettings.PortalId); if (page == null) { message = new KeyValuePair <HttpStatusCode, string>(HttpStatusCode.NotFound, string.Format(Localization.GetString("Prompt_PageNotFound", LocalResourceFile), PageId)); return(null); } if (!TabPermissionController.CanManagePage(page)) { message = new KeyValuePair <HttpStatusCode, string>(HttpStatusCode.NotFound, Localization.GetString("Prompt_InsufficientPermissions", LocalResourceFile)); return(null); } var moduleList = new List <ModuleInfo>(); foreach (var objModuleDefinition in ModuleDefinitionController.GetModuleDefinitionsByDesktopModuleID(desktopModule.DesktopModuleID).Values) { var objModule = new ModuleInfo(); objModule.Initialize(PortalSettings.PortalId); objModule.PortalID = PortalSettings.PortalId; objModule.TabID = PageId; objModule.ModuleOrder = 0; objModule.ModuleTitle = string.IsNullOrEmpty(ModuleTitle) ? objModuleDefinition.FriendlyName : ModuleTitle; objModule.PaneName = Pane; objModule.ModuleDefID = objModuleDefinition.ModuleDefID; if (objModuleDefinition.DefaultCacheTime > 0) { objModule.CacheTime = objModuleDefinition.DefaultCacheTime; if (PortalSettings.DefaultModuleId > Null.NullInteger && PortalSettings.DefaultTabId > Null.NullInteger) { var defaultModule = ModuleController.Instance.GetModule(PortalSettings.DefaultModuleId, PortalSettings.DefaultTabId, true); if (defaultModule != null) { objModule.CacheTime = defaultModule.CacheTime; } } } ModuleController.Instance.InitialModulePermission(objModule, objModule.TabID, 0); if (PortalSettings.ContentLocalizationEnabled) { var defaultLocale = LocaleController.Instance.GetDefaultLocale(PortalSettings.PortalId); //check whether original tab is exists, if true then set culture code to default language, //otherwise set culture code to current. objModule.CultureCode = TabController.Instance.GetTabByCulture(objModule.TabID, PortalSettings.PortalId, defaultLocale) != null ? defaultLocale.Code : PortalSettings.CultureCode; } else { objModule.CultureCode = Null.NullString; } objModule.AllTabs = false; objModule.Alignment = null; ModuleController.Instance.AddModule(objModule); moduleList.Add(objModule); // Set position so future additions to page can operate correctly var position = ModuleController.Instance.GetTabModule(objModule.TabModuleID).ModuleOrder + 1; } if (moduleList == null) { return(new ConsoleErrorResultModel(message.Value)); } if (moduleList.Count == 0) { return(new ConsoleErrorResultModel(LocalizeString("Prompt_NoModulesAdded"))); } var modules = moduleList.Select(newModule => ModuleController.Instance.GetTabModule(newModule.TabModuleID)).ToList(); return(new ConsoleResultModel(string.Format(LocalizeString("Prompt_ModuleAdded"), modules.Count, moduleList.Count == 1 ? string.Empty : "s")) { Data = modules, Records = modules.Count }); } catch (Exception ex) { Logger.Error(ex); return(new ConsoleErrorResultModel(LocalizeString("Prompt_AddModuleError"))); } }
/// <summary> /// Checks if current user is page admin of the currentpage /// </summary> /// <returns>Returns true if current user has any admin permission. Otherwise returns false</returns> public static bool IsPageAdmin() { return(TabPermissionController.CanAddContentToPage() || TabPermissionController.CanAddPage() || TabPermissionController.CanAdminPage() || TabPermissionController.CanCopyPage() || TabPermissionController.CanDeletePage() || TabPermissionController.CanExportPage() || TabPermissionController.CanImportPage() || TabPermissionController.CanManagePage()); }
public List <ModuleInfo> AddNewModule(PortalSettings portalSettings, string title, int desktopModuleId, int tabId, string paneName, int position, int permissionType, string align, out KeyValuePair <HttpStatusCode, string> message) { message = new KeyValuePair <HttpStatusCode, string>(); var page = TabController.Instance.GetTab(tabId, portalSettings.PortalId); if (page == null) { message = new KeyValuePair <HttpStatusCode, string>(HttpStatusCode.NotFound, string.Format(Localization.GetString("Prompt_PageNotFound", Constants.LocalResourcesFile), tabId)); return(null); } if (!TabPermissionController.CanManagePage(page)) { message = new KeyValuePair <HttpStatusCode, string>(HttpStatusCode.NotFound, Localization.GetString("Prompt_InsufficientPermissions", Constants.LocalResourcesFile)); return(null); } var moduleList = new List <ModuleInfo>(); foreach (var objModuleDefinition in ModuleDefinitionController.GetModuleDefinitionsByDesktopModuleID(desktopModuleId).Values) { var objModule = new ModuleInfo(); objModule.Initialize(portalSettings.PortalId); objModule.PortalID = portalSettings.PortalId; objModule.TabID = tabId; objModule.ModuleOrder = position; objModule.ModuleTitle = string.IsNullOrEmpty(title) ? objModuleDefinition.FriendlyName : title; objModule.PaneName = paneName; objModule.ModuleDefID = objModuleDefinition.ModuleDefID; if (objModuleDefinition.DefaultCacheTime > 0) { objModule.CacheTime = objModuleDefinition.DefaultCacheTime; if (portalSettings.DefaultModuleId > Null.NullInteger && portalSettings.DefaultTabId > Null.NullInteger) { var defaultModule = ModuleController.Instance.GetModule(portalSettings.DefaultModuleId, portalSettings.DefaultTabId, true); if (defaultModule != null) { objModule.CacheTime = defaultModule.CacheTime; } } } ModuleController.Instance.InitialModulePermission(objModule, objModule.TabID, permissionType); if (portalSettings.ContentLocalizationEnabled) { var defaultLocale = LocaleController.Instance.GetDefaultLocale(portalSettings.PortalId); //check whether original tab is exists, if true then set culture code to default language, //otherwise set culture code to current. objModule.CultureCode = TabController.Instance.GetTabByCulture(objModule.TabID, portalSettings.PortalId, defaultLocale) != null ? defaultLocale.Code : portalSettings.CultureCode; } else { objModule.CultureCode = Null.NullString; } objModule.AllTabs = false; objModule.Alignment = align; ModuleController.Instance.AddModule(objModule); moduleList.Add(objModule); // Set position so future additions to page can operate correctly position = ModuleController.Instance.GetTabModule(objModule.TabModuleID).ModuleOrder + 1; } return(moduleList); }
protected bool CanEdit(int editTabId, string cultureCode) { Locale locale = LocaleController.Instance.GetLocale(cultureCode); return(TabPermissionController.CanManagePage(new TabController().GetTabByCulture(editTabId, PortalSettings.PortalId, locale))); }
internal static bool IsPageAdminInternal() { bool _IsPageAdmin = Null.NullBoolean; if (TabPermissionController.CanAddContentToPage() || TabPermissionController.CanAddPage() || TabPermissionController.CanAdminPage() || TabPermissionController.CanCopyPage() || TabPermissionController.CanDeletePage() || TabPermissionController.CanExportPage() || TabPermissionController.CanImportPage() || TabPermissionController.CanManagePage()) { _IsPageAdmin = true; } return(_IsPageAdmin); }
protected void CmdUpdateClick(object sender, EventArgs e) { if (TabPermissionController.CanManagePage()) { TabInfo selectedTab = null; if (!string.IsNullOrEmpty(this.PageLst.SelectedValue)) { int selectedTabID = int.Parse(this.PageLst.SelectedValue); selectedTab = TabController.Instance.GetTab(selectedTabID, PortalSettings.ActiveTab.PortalID, false); } TabRelativeLocation tabLocation = TabRelativeLocation.NOTSET; if (!string.IsNullOrEmpty(this.LocationLst.SelectedValue)) { tabLocation = (TabRelativeLocation)Enum.Parse(typeof(TabRelativeLocation), this.LocationLst.SelectedValue); } TabInfo tab = this.CurrentTab; tab.TabName = this.Name.Text; tab.IsVisible = this.IncludeInMenu.Checked; tab.DisableLink = this.IsDisabled.Checked; tab.IsSecure = this.IsSecure.Checked; tab.SkinSrc = this.SkinLst.SelectedValue; string errMsg = string.Empty; try { RibbonBarManager.SaveTabInfoObject(tab, selectedTab, tabLocation, null); } catch (DotNetNukeException ex) { Exceptions.LogException(ex); errMsg = (ex.ErrorCode != DotNetNukeErrorCode.NotSet) ? this.GetString("Err." + ex.ErrorCode) : ex.Message; } catch (Exception ex) { Exceptions.LogException(ex); errMsg = ex.Message; } // Clear the Tab's Cached modules DataCache.ClearModuleCache(PortalSettings.ActiveTab.TabID); // Update Cached Tabs as TabPath may be needed before cache is cleared TabInfo tempTab; if (TabController.Instance.GetTabsByPortal(PortalSettings.ActiveTab.PortalID).TryGetValue(tab.TabID, out tempTab)) { tempTab.TabPath = tab.TabPath; } if (string.IsNullOrEmpty(errMsg)) { this.Response.Redirect(this._navigationManager.NavigateURL(tab.TabID)); } else { errMsg = string.Format("<p>{0}</p><p>{1}</p>", this.GetString("Err.Header"), errMsg); Web.UI.Utilities.RegisterAlertOnPageLoad(this, new MessageWindowParameters(errMsg) { Title = this.GetString("Err.Title") }); } } }
protected bool IsPageAdmin() { bool isPageAdmin = Null.NullBoolean; if (TabPermissionController.CanAddContentToPage() || TabPermissionController.CanAddPage() || TabPermissionController.CanAdminPage() || TabPermissionController.CanCopyPage() || TabPermissionController.CanDeletePage() || TabPermissionController.CanExportPage() || TabPermissionController.CanImportPage() || TabPermissionController.CanManagePage()) { isPageAdmin = true; } return(isPageAdmin); }
protected virtual bool HasToolPermissions(string toolName) { bool isHostTool = false; if (this.ToolInfo.ToolName == toolName) { isHostTool = this.ToolInfo.IsHostTool; } else if (this.AllTools.ContainsKey(toolName)) { isHostTool = this.AllTools[toolName].IsHostTool; } if (isHostTool && !UserController.Instance.GetCurrentUserInfo().IsSuperUser) { return(false); } bool returnValue = true; switch (toolName) { case "PageSettings": case "CopyDesignToChildren": case "CopyPermissionsToChildren": returnValue = TabPermissionController.CanManagePage(); if (returnValue && toolName == "CopyPermissionsToChildren") { if (!PortalSecurity.IsInRole("Administrators")) { returnValue = false; } } break; case "CopyPage": returnValue = TabPermissionController.CanCopyPage(); break; case "DeletePage": returnValue = TabPermissionController.CanDeletePage(); break; case "ImportPage": returnValue = TabPermissionController.CanImportPage(); break; case "ExportPage": returnValue = TabPermissionController.CanExportPage(); break; case "NewPage": returnValue = TabPermissionController.CanAddPage(); break; case "Help": returnValue = !string.IsNullOrEmpty(Host.HelpURL); break; default: // if it has a module definition, look it up and check permissions // if it doesn't exist, assume no permission string friendlyName = string.Empty; if (this.ToolInfo.ToolName == toolName) { friendlyName = this.ToolInfo.ModuleFriendlyName; } else if (this.AllTools.ContainsKey(toolName)) { friendlyName = this.AllTools[toolName].ModuleFriendlyName; } if (!string.IsNullOrEmpty(friendlyName)) { returnValue = false; ModuleInfo moduleInfo; if (isHostTool) { moduleInfo = GetInstalledModule(Null.NullInteger, friendlyName); } else { moduleInfo = GetInstalledModule(PortalSettings.PortalId, friendlyName); } if (moduleInfo != null) { returnValue = ModulePermissionController.CanViewModule(moduleInfo); } } break; } return(returnValue); }
protected string BuildToolUrl(string toolName, bool isHostTool, string moduleFriendlyName, string controlKey, string navigateUrl, bool showAsPopUp) { if ((isHostTool && !UserController.GetCurrentUserInfo().IsSuperUser)) { return("javascript:void(0);"); } if ((!string.IsNullOrEmpty(navigateUrl))) { return(navigateUrl); } string returnValue = "javascript:void(0);"; switch (toolName) { case "PageSettings": if (TabPermissionController.CanManagePage()) { returnValue = Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=settingTab"); } break; case "CopyPage": if (TabPermissionController.CanCopyPage()) { returnValue = Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "Tab", "action=copy&activeTab=copyTab"); } break; case "DeletePage": if (TabPermissionController.CanDeletePage()) { returnValue = Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "Tab", "action=delete"); } break; case "PageTemplate": if (TabPermissionController.CanManagePage()) { returnValue = Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=advancedTab"); } break; case "PagePermission": if (TabPermissionController.CanAdminPage()) { returnValue = Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=permissionsTab"); } break; case "ImportPage": if (TabPermissionController.CanImportPage()) { returnValue = Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "ImportTab"); } break; case "ExportPage": if (TabPermissionController.CanExportPage()) { returnValue = Globals.NavigateURL(PortalSettings.ActiveTab.TabID, "ExportTab"); } break; case "NewPage": if (DotNetNuke.Security.Permissions.TabPermissionController.CanAddPage()) { returnValue = Globals.NavigateURL("Tab", "activeTab=settingTab"); } break; default: if ((!string.IsNullOrEmpty(moduleFriendlyName))) { var additionalParams = new List <string>(); if ((toolName == "UploadFile" || toolName == "HostUploadFile")) { additionalParams.Add("ftype=File"); additionalParams.Add("rtab=" + PortalSettings.ActiveTab.TabID); } returnValue = GetTabURL(additionalParams, toolName, isHostTool, moduleFriendlyName, controlKey, showAsPopUp); } break; } return(returnValue); }
protected string BuildToolUrl(string toolName, bool isHostTool, string moduleFriendlyName, string controlKey, string navigateUrl, bool showAsPopUp) { if (isHostTool && !UserController.Instance.GetCurrentUserInfo().IsSuperUser) { return("javascript:void(0);"); } if (!string.IsNullOrEmpty(navigateUrl)) { return(navigateUrl); } string returnValue = "javascript:void(0);"; switch (toolName) { case "PageSettings": if (TabPermissionController.CanManagePage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=settingTab"); } break; case "CopyPage": if (TabPermissionController.CanCopyPage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=copy&activeTab=copyTab"); } break; case "DeletePage": if (TabPermissionController.CanDeletePage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=delete"); } break; case "PageTemplate": if (TabPermissionController.CanManagePage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=advancedTab"); } break; case "PageLocalization": if (TabPermissionController.CanManagePage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=localizationTab"); } break; case "PagePermission": if (TabPermissionController.CanAdminPage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=permissionsTab"); } break; case "ImportPage": if (TabPermissionController.CanImportPage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "ImportTab"); } break; case "ExportPage": if (TabPermissionController.CanExportPage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "ExportTab"); } break; case "NewPage": if (TabPermissionController.CanAddPage()) { returnValue = this._navigationManager.NavigateURL("Tab", "activeTab=settingTab"); } break; case "PublishPage": if (TabPermissionController.CanAdminPage()) { returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID); } break; default: if (!string.IsNullOrEmpty(moduleFriendlyName)) { var additionalParams = new List <string>(); returnValue = this.GetTabURL(additionalParams, toolName, isHostTool, moduleFriendlyName, controlKey, showAsPopUp); } break; } return(returnValue); }
public static ReviewSettings GetPageReviewSettings(PortalSettings PortalSettings) { int TabID = PortalSettings.ActiveTab.TabID; UserInfo UserInfo = PortalSettings.UserInfo; Pages page = GetLatestVersion(TabID, PortalSettings.UserInfo); bool IsPageDraft = false; bool IsContentApproval = false; bool IsLocked = false; string NextStateName = string.Empty; bool IsModeratorEditPermission = false; int CurruntWorkflowID = WorkflowManager.GetDefaultWorkflow(TabID); if (page != null && page.StateID.HasValue) { WorkflowState State = WorkflowManager.GetStateByID(page.StateID.Value); if (State != null) { bool IsFirstState = WorkflowManager.IsFirstState(State.WorkflowID, State.StateID); bool IsLastState = WorkflowManager.IsLastState(State.WorkflowID, State.StateID); IsPageDraft = WorkflowManager.IsFirstState(State.WorkflowID, State.StateID); IsLocked = !IsFirstState && !IsLastState; if (IsLastState && State.WorkflowID != CurruntWorkflowID) { State = WorkflowManager.GetFirstStateID(CurruntWorkflowID); } if (WorkflowManager.GetWorkflowType(State.WorkflowID) == Core.Components.Enum.WorkflowTypes.ContentApproval) { IsContentApproval = true; if (WorkflowManager.HasReviewPermission(State.StateID, UserInfo) && TabPermissionController.CanManagePage(PortalSettings.ActiveTab)) { WorkflowState NextState = Core.Managers.WorkflowManager.GetStateByID(Core.Managers.WorkflowManager.GetNextStateID(State.WorkflowID, State.StateID)); NextStateName = NextState != null ? NextState.Name : string.Empty; IsModeratorEditPermission = true; } else { WorkflowState NextState = Core.Managers.WorkflowManager.GetStateByID(Core.Managers.WorkflowManager.GetNextStateID(State.WorkflowID, Core.Managers.WorkflowManager.GetFirstStateID(State.WorkflowID).StateID)); NextStateName = NextState != null ? NextState.Name : string.Empty; } } } } else { if (CurruntWorkflowID > 0) { IsContentApproval = Core.Managers.WorkflowManager.GetWorkflowType(CurruntWorkflowID) == Core.Components.Enum.WorkflowTypes.ContentApproval; WorkflowState NextState = Core.Managers.WorkflowManager.GetStateByID(Core.Managers.WorkflowManager.GetNextStateID(CurruntWorkflowID, Core.Managers.WorkflowManager.GetFirstStateID(CurruntWorkflowID).StateID)); NextStateName = NextState != null ? NextState.Name : string.Empty; } } ReviewSettings ReviewSetting = new ReviewSettings { IsPageDraft = IsPageDraft, IsContentApproval = IsContentApproval, NextStateName = NextStateName, IsLocked = IsLocked, IsModeratorEditPermission = IsModeratorEditPermission }; return(ReviewSetting); }