/// ----------------------------------------------------------------------------- /// <summary> /// AddPortal manages the Installation of a new DotNetNuke Portal /// </summary> /// <remarks> /// </remarks> /// <history> /// [cnurse] 11/06/2004 created /// </history> /// ----------------------------------------------------------------------------- public static int AddPortal(XmlNode node, bool status, int indent) { try { int intPortalId = 0; string strHostPath = Common.Globals.HostMapPath; string strChildPath = ""; string strDomain = ""; if ((HttpContext.Current != null)) { strDomain = Globals.GetDomainName(HttpContext.Current.Request, true).ToLowerInvariant().Replace("/install", ""); } string strPortalName = XmlUtils.GetNodeValue(node.CreateNavigator(), "portalname"); if (status) { HtmlUtils.WriteFeedback(HttpContext.Current.Response, indent, "Creating Portal: " + strPortalName + "<br>"); } PortalController objPortalController = new PortalController(); XmlNode adminNode = node.SelectSingleNode("administrator"); string strFirstName = XmlUtils.GetNodeValue(adminNode.CreateNavigator(), "firstname"); string strLastName = XmlUtils.GetNodeValue(adminNode.CreateNavigator(), "lastname"); string strUserName = XmlUtils.GetNodeValue(adminNode.CreateNavigator(), "username"); string strPassword = XmlUtils.GetNodeValue(adminNode.CreateNavigator(), "password"); string strEmail = XmlUtils.GetNodeValue(adminNode.CreateNavigator(), "email"); string strDescription = XmlUtils.GetNodeValue(node.CreateNavigator(), "description"); string strKeyWords = XmlUtils.GetNodeValue(node.CreateNavigator(), "keywords"); string strTemplate = XmlUtils.GetNodeValue(node.CreateNavigator(), "templatefile"); string strServerPath = Globals.ApplicationMapPath + "\\"; bool isChild = bool.Parse(XmlUtils.GetNodeValue(node.CreateNavigator(), "ischild")); string strHomeDirectory = XmlUtils.GetNodeValue(node.CreateNavigator(), "homedirectory"); //Get the Portal Alias XmlNodeList portalAliases = node.SelectNodes("portalaliases/portalalias"); string strPortalAlias = strDomain; if (portalAliases.Count > 0) { if (!string.IsNullOrEmpty(portalAliases[0].InnerText)) { strPortalAlias = portalAliases[0].InnerText; } } //Create default email if (string.IsNullOrEmpty(strEmail)) { strEmail = "admin@" + strDomain.Replace("www.", ""); //Remove any domain subfolder information ( if it exists ) if (strEmail.IndexOf("/") != -1) { strEmail = strEmail.Substring(0, strEmail.IndexOf("/")); } } if (isChild) { strChildPath = strPortalAlias.Substring(strPortalAlias.LastIndexOf("/") + 1); } //Create Portal intPortalId = objPortalController.CreatePortal(strPortalName, strFirstName, strLastName, strUserName, strPassword, strEmail, strDescription, strKeyWords, strHostPath, strTemplate, strHomeDirectory, strPortalAlias, strServerPath, strServerPath + strChildPath, isChild); if (intPortalId > -1) { //Add Extra Aliases foreach (XmlNode portalAlias in portalAliases) { if (!string.IsNullOrEmpty(portalAlias.InnerText)) { if (status) { HtmlUtils.WriteFeedback(HttpContext.Current.Response, indent, "Creating Portal Alias: " + portalAlias.InnerText + "<br>"); } objPortalController.AddPortalAlias(intPortalId, portalAlias.InnerText); } } //Force Administrator to Update Password on first log in PortalInfo objPortal = objPortalController.GetPortal(intPortalId); UserInfo objAdminUser = UserController.GetUserById(intPortalId, objPortal.AdministratorId); objAdminUser.Membership.UpdatePassword = true; UserController.UpdateUser(intPortalId, objAdminUser); } return intPortalId; } catch (Exception ex) { HtmlUtils.WriteFeedback(HttpContext.Current.Response, indent, "<font color='red'>Error: " + ex.Message + "</font><br>"); // failure return -1; } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); #region Bind Handles optHost.CheckedChanged += new EventHandler(optHost_CheckedChanged); optSite.CheckedChanged += new EventHandler(optSite_CheckedChanged); cmdPreview.Click += new EventHandler(cmdPreview_Click); #endregion try { PortalController objPortals = new PortalController(); if (Request.QueryString["pid"] != null && (PortalSettings.ActiveTab.ParentId == PortalSettings.SuperTabId || UserController.GetCurrentUserInfo().IsSuperUser)) { _objPortal = objPortals.GetPortal(Int32.Parse(Request.QueryString["pid"])); } else { _objPortal = objPortals.GetPortal(PortalSettings.PortalId); } if (!Page.IsPostBack) { ViewState["SkinControlWidth"] = _Width; ViewState["SkinRoot"] = _SkinRoot; ViewState["SkinSrc"] = _SkinSrc; if (!String.IsNullOrEmpty(_Width)) { cboSkin.Width = System.Web.UI.WebControls.Unit.Parse(_Width); } if (!String.IsNullOrEmpty(_SkinSrc)) { switch (_SkinSrc.Substring(0, 3)) { case "[L]": optHost.Checked = false; optSite.Checked = true; break; case "[G]": optSite.Checked = false; optHost.Checked = true; break; } } else { string strRoot = _objPortal.HomeDirectoryMapPath + SkinRoot; if (Directory.Exists(strRoot) && Directory.GetDirectories(strRoot).Length > 0) { optHost.Checked = false; optSite.Checked = true; } } LoadSkins(); } } catch (Exception exc) { Exceptions.ProcessModuleLoadException(this, exc); } }
private static void GetModuleContent(XmlNode nodeModule, int ModuleId, int TabId, int PortalId) { ModuleController objModules = new ModuleController(); ModuleInfo objModule = objModules.GetModule(ModuleId, TabId, true); string strVersion = nodeModule.SelectSingleNode("content").Attributes["version"].Value; string strType = nodeModule.SelectSingleNode("content").Attributes["type"].Value; string strcontent = nodeModule.SelectSingleNode("content").InnerXml; strcontent = strcontent.Substring(9, strcontent.Length - 12); if (!String.IsNullOrEmpty(objModule.DesktopModule.BusinessControllerClass) && !String.IsNullOrEmpty(strcontent)) { PortalInfo objportal; PortalController objportals = new PortalController(); objportal = objportals.GetPortal(PortalId); if (objModule.DesktopModule.SupportedFeatures == Null.NullInteger) { CreateEventQueueMessage(objModule, strcontent, strVersion, objportal.AdministratorId); } else { strcontent = HttpContext.Current.Server.HtmlDecode(strcontent); if (objModule.DesktopModule.IsPortable) { try { object objObject = Framework.Reflection.CreateObject(objModule.DesktopModule.BusinessControllerClass, objModule.DesktopModule.BusinessControllerClass); if (objObject is IPortable) { ((IPortable)objObject).ImportModule(objModule.ModuleID, strcontent, strVersion, objportal.AdministratorId); } } catch { CreateEventQueueMessage(objModule, strcontent, strVersion, objportal.AdministratorId); } } } } }
public bool DeleteUserRole(int PortalId, int UserId, int RoleId) { UserInfo objUser = UserController.GetUserById(PortalId, UserId); UserRoleInfo objUserRole = GetUserRole(PortalId, UserId, RoleId); PortalController objPortals = new PortalController(); bool blnDelete = true; PortalInfo objPortal = objPortals.GetPortal(PortalId); if (objPortal != null && objUserRole != null) { if (CanRemoveUserFromRole(objPortal, UserId, RoleId)) { provider.RemoveUserFromRole(PortalId, objUser, objUserRole); Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController(); objEventLog.AddLog(objUserRole, PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, "", Services.Log.EventLog.EventLogController.EventLogType.ROLE_UPDATED); } else { blnDelete = false; } } return blnDelete; }
private static void DeserializeTabPermissions(XmlNodeList nodeTabPermissions, TabInfo objTab, bool IsAdminTemplate) { Security.Permissions.PermissionController objPermissionController = new Security.Permissions.PermissionController(); Security.Permissions.PermissionInfo objPermission; Security.Permissions.TabPermissionInfo objTabPermission; RoleController objRoleController = new RoleController(); RoleInfo objRole; int RoleID; int PermissionID = 0; string PermissionKey; string PermissionCode; string RoleName; bool AllowAccess; ArrayList arrPermissions; int i; foreach (XmlNode xmlTabPermission in nodeTabPermissions) { PermissionKey = XmlUtils.GetNodeValue(xmlTabPermission.CreateNavigator(), "permissionkey"); PermissionCode = XmlUtils.GetNodeValue(xmlTabPermission.CreateNavigator(), "permissioncode"); RoleName = XmlUtils.GetNodeValue(xmlTabPermission.CreateNavigator(), "rolename"); AllowAccess = XmlUtils.GetNodeValueBoolean(xmlTabPermission, "allowaccess"); arrPermissions = objPermissionController.GetPermissionByCodeAndKey(PermissionCode, PermissionKey); for (i = 0; i <= arrPermissions.Count - 1; i++) { objPermission = (Security.Permissions.PermissionInfo)arrPermissions[i]; PermissionID = objPermission.PermissionID; } RoleID = int.MinValue; switch (RoleName) { case Globals.glbRoleAllUsersName: RoleID = Convert.ToInt32(Globals.glbRoleAllUsers); break; case Common.Globals.glbRoleUnauthUserName: RoleID = Convert.ToInt32(Globals.glbRoleUnauthUser); break; default: PortalController objPortals = new PortalController(); PortalInfo objPortal = objPortals.GetPortal(objTab.PortalID); objRole = objRoleController.GetRoleByName(objPortal.PortalID, RoleName); if (objRole != null) { RoleID = objRole.RoleID; } else { if (IsAdminTemplate && RoleName.ToLower() == "administrators") { RoleID = objPortal.AdministratorRoleId; } } break; } if (RoleID != int.MinValue) { objTabPermission = new Security.Permissions.TabPermissionInfo(); objTabPermission.TabID = objTab.TabID; objTabPermission.PermissionID = PermissionID; objTabPermission.RoleID = RoleID; objTabPermission.AllowAccess = AllowAccess; objTab.TabPermissions.Add(objTabPermission); } } }
public static string GetSubFolderPath(string strFileNamePath, int portalId) { string ParentFolderName; if (portalId == Null.NullInteger) { ParentFolderName = Globals.HostMapPath.Replace("/", "\\"); } else { PortalController objPortals = new PortalController(); PortalInfo objPortal = objPortals.GetPortal(portalId); ParentFolderName = objPortal.HomeDirectoryMapPath.Replace("/", "\\"); } string strFolderpath = strFileNamePath.Substring(0, strFileNamePath.LastIndexOf("\\") + 1); return strFolderpath.Substring(ParentFolderName.Length).Replace("\\", "/"); }
public static ArrayList GetFileList(int PortalId, string strExtensions, bool NoneSpecified, string Folder, bool includeHidden) { ArrayList arrFileList = new ArrayList(); if (NoneSpecified) { arrFileList.Add(new FileItem("", "<" + Localization.GetString("None_Specified") + ">")); } string portalRoot; if (PortalId == Null.NullInteger) { portalRoot = HostMapPath; } else { PortalController objPortals = new PortalController(); PortalInfo objPortal = objPortals.GetPortal(PortalId); portalRoot = objPortal.HomeDirectoryMapPath; } FolderInfo objFolder = FileSystemUtils.GetFolder(PortalId, Folder); if (objFolder != null) { FileController objFiles = new FileController(); IDataReader dr = null; try { dr = objFiles.GetFiles(PortalId, objFolder.FolderID); while (dr.Read()) { if (FilenameMatchesExtensions(dr["FileName"].ToString(), strExtensions)) { string filePath = (portalRoot + dr["Folder"].ToString() + dr["fileName"].ToString()).Replace("/", "\\"); int StorageLocation = 0; if (dr["StorageLocation"] != null) { StorageLocation = Convert.ToInt32(dr["StorageLocation"]); switch (StorageLocation) { case 1: filePath = filePath + glbProtectedExtension; break; case 2: break; default: break; } } if (StorageLocation != 2) { if (File.Exists(filePath)) { if (includeHidden) { arrFileList.Add(new FileItem(dr["FileID"].ToString(), dr["FileName"].ToString())); } else { System.IO.FileAttributes attributes = File.GetAttributes(filePath); if ((attributes & FileAttributes.Hidden) != FileAttributes.Hidden) { arrFileList.Add(new FileItem(dr["FileID"].ToString(), dr["FileName"].ToString())); } } } } else { arrFileList.Add(new FileItem(dr["FileID"].ToString(), dr["FileName"].ToString())); } } } } catch (Exception ex) { Exceptions.LogException(ex); } finally { CBO.CloseDataReader(dr, true); } } return arrFileList; }
public PortalSettings(int tabID, PortalAliasInfo objPortalAliasInfo) { _ActiveTab = new TabInfo(); PortalId = objPortalAliasInfo.PortalID; PortalAlias = objPortalAliasInfo; PortalController controller = new PortalController(); PortalInfo portal = controller.GetPortal(PortalId); if (portal != null) { GetPortalSettings(tabID, portal); } }
public PortalSettings(int tabID, int portalID) { PortalController controller = new PortalController(); PortalInfo portal = controller.GetPortal(portalID); GetPortalSettings(tabID, portal); }