/// <summary> /// Includes page urls on the sitemap /// </summary> /// <remarks> /// Pages that are included: /// - are not deleted /// - are not disabled /// - are normal pages (not links,...) /// - are visible (based on date and permissions) /// </remarks> public override List<SitemapUrl> GetUrls(int portalId, PortalSettings ps, string version) { TabController objTabs = new TabController(); SitemapUrl pageUrl = null; List<SitemapUrl> urls = new List<SitemapUrl>(); useLevelBasedPagePriority = bool.Parse(PortalController.GetPortalSetting("SitemapLevelMode", portalId, "False")); minPagePriority = float.Parse(PortalController.GetPortalSetting("SitemapMinPriority", portalId, "0.1")); includeHiddenPages = bool.Parse(PortalController.GetPortalSetting("SitemapIncludeHidden", portalId, "True")); this.ps = ps; foreach (TabInfo objTab in objTabs.GetTabsByPortal(portalId).Values) { if (!objTab.IsDeleted && !objTab.DisableLink && objTab.TabType == TabType.Normal && (Null.IsNull(objTab.StartDate) || objTab.StartDate < DateTime.Now) && (Null.IsNull(objTab.EndDate) || objTab.EndDate > DateTime.Now) && IsTabPublic(objTab.TabPermissions)) { if (includeHiddenPages | objTab.IsVisible) { foreach (string languageCode in CommonLibrary.Services.Localization.Localization.GetLocales(portalId).Keys) { pageUrl = GetPageUrl(objTab, languageCode); urls.Add(pageUrl); } } } } return urls; }
public ErrorContainer(PortalSettings _PortalSettings, string strError, Exception exc) { UserInfo objUserInfo = UserController.GetCurrentUserInfo(); if (objUserInfo.IsSuperUser) { Container = FormatException(strError, exc); } else { Container = FormatException(strError); } }
public static string SendMail(UserInfo user, MessageType msgType, PortalSettings settings) { int toUser = user.UserID; string locale = user.Profile.PreferredLocale; string subject = ""; string body = ""; ArrayList custom = null; switch (msgType) { case MessageType.UserRegistrationAdmin: subject = "EMAIL_USER_REGISTRATION_ADMINISTRATOR_SUBJECT"; body = "EMAIL_USER_REGISTRATION_ADMINISTRATOR_BODY"; toUser = settings.AdministratorId; UserInfo admin = UserController.GetUserById(settings.PortalId, settings.AdministratorId); locale = admin.Profile.PreferredLocale; break; case MessageType.UserRegistrationPrivate: subject = "EMAIL_USER_REGISTRATION_PRIVATE_SUBJECT"; body = "EMAIL_USER_REGISTRATION_PRIVATE_BODY"; break; case MessageType.UserRegistrationPublic: subject = "EMAIL_USER_REGISTRATION_PUBLIC_SUBJECT"; body = "EMAIL_USER_REGISTRATION_PUBLIC_BODY"; break; case MessageType.UserRegistrationVerified: subject = "EMAIL_USER_REGISTRATION_VERIFIED_SUBJECT"; body = "EMAIL_USER_REGISTRATION_VERIFIED_BODY"; if (HttpContext.Current != null) { custom = new ArrayList(); custom.Add(HttpContext.Current.Server.UrlEncode(user.Username)); } break; case MessageType.PasswordReminder: subject = "EMAIL_PASSWORD_REMINDER_SUBJECT"; body = "EMAIL_PASSWORD_REMINDER_BODY"; break; case MessageType.ProfileUpdated: subject = "EMAIL_PROFILE_UPDATED_SUBJECT"; body = "EMAIL_PROFILE_UPDATED_BODY"; break; case MessageType.UserUpdatedOwnPassword: subject = "EMAIL_USER_UPDATED_OWN_PASSWORD_SUBJECT"; body = "EMAIL_USER_UPDATED_OWN_PASSWORD_BODY"; break; } subject = Localization.Localization.GetSystemMessage(locale, settings, subject, user, Localization.Localization.GlobalResourceFile, custom, "", settings.AdministratorId); body = Localization.Localization.GetSystemMessage(locale, settings, body, user, Localization.Localization.GlobalResourceFile, custom, "", settings.AdministratorId); SendEmail(settings.Email, UserController.GetUserById(settings.PortalId, toUser).Email, subject, body); return ""; }
public abstract List<Sitemap.SitemapUrl> GetUrls(int portalId, PortalSettings ps, string version);
public TokenReplace(Scope AccessLevel, string Language, PortalSettings PortalSettings, UserInfo User) : this(AccessLevel, Language, PortalSettings, User, Null.NullInteger) { }
public static bool DownloadFile(PortalSettings settings, int FileId, bool ClientCache, bool ForceDownload) { return DownloadFile(GetFolderPortalId(settings), FileId, ClientCache, ForceDownload); }
public static string DeleteFile(string strSourceFile, PortalSettings settings) { return DeleteFile(strSourceFile, settings, true); }
//----------------------------------------------------------------------------- //<summary> //Creates a User Folder //</summary> //<param name="_PortalSettings">Portal Settings for the Portal</param> //<param name="parentFolder">The Parent Folder Name</param> //<param name="UserID">The UserID, in order to generate the path/foldername</param> //<param name="StorageLocation">The Storage Location</param> //<remarks> //</remarks> //<history> // [jlucarino] 02/26/2010 Created //</history> //----------------------------------------------------------------------------- public static void AddUserFolder(PortalSettings _PortalSettings, string parentFolder, int StorageLocation, int UserID) { int PortalId = 0; string ParentFolderName = null; System.IO.DirectoryInfo dinfoNew = default(System.IO.DirectoryInfo); string RootFolder = ""; string SubFolder = ""; PortalId = _PortalSettings.PortalId; ParentFolderName = _PortalSettings.HomeDirectoryMapPath; RootFolder = GetUserFolderPathElement(UserID, EnumUserFolderElement.Root); SubFolder = GetUserFolderPathElement(UserID, EnumUserFolderElement.SubFolder); //create root folder string folderPath = ""; folderPath = System.IO.Path.Combine(Path.Combine(ParentFolderName, "Users"), RootFolder); dinfoNew = new System.IO.DirectoryInfo(folderPath); if (!dinfoNew.Exists) { dinfoNew.Create(); AddFolder(PortalId, folderPath.Substring(ParentFolderName.Length).Replace("\\", "/"), StorageLocation); } //create two-digit subfolder folderPath = System.IO.Path.Combine(folderPath, SubFolder); dinfoNew = new System.IO.DirectoryInfo(folderPath); if (!dinfoNew.Exists) { dinfoNew.Create(); AddFolder(PortalId, folderPath.Substring(ParentFolderName.Length).Replace("\\", "/"), StorageLocation); } //create folder from UserID folderPath = System.IO.Path.Combine(folderPath, UserID.ToString()); dinfoNew = new System.IO.DirectoryInfo(folderPath); if (!dinfoNew.Exists) { dinfoNew.Create(); int folderID = AddFolder(PortalId, folderPath.Substring(ParentFolderName.Length).Replace("\\", "/"), StorageLocation); //Give user Read Access to this folder CommonLibrary.Services.FileSystem.FolderInfo folder = new CommonLibrary.Services.FileSystem.FolderController().GetFolderInfo(PortalId, folderID); foreach (PermissionInfo permission in PermissionController.GetPermissionsByFolder()) { if (permission.PermissionKey.ToUpper() == "READ" || permission.PermissionKey.ToUpper() == "WRITE") { FolderPermissionInfo folderPermission = new FolderPermissionInfo(permission); folderPermission.FolderID = folder.FolderID; folderPermission.UserID = UserID; folderPermission.RoleID = Null.NullInteger; folderPermission.AllowAccess = true; folder.FolderPermissions.Add(folderPermission); } } FolderPermissionController.SaveFolderPermissions(folder); } }
private static void SendNotification(UserInfo objUser, RoleInfo objRole, PortalSettings PortalSettings, UserRoleActions Action) { RoleController objRoles = new RoleController(); ArrayList Custom = new ArrayList(); Custom.Add(objRole.RoleName); Custom.Add(objRole.Description); switch (Action) { case UserRoleActions.add: case UserRoleActions.update: string preferredLocale = objUser.Profile.PreferredLocale; if (string.IsNullOrEmpty(preferredLocale)) { preferredLocale = PortalSettings.DefaultLanguage; } CultureInfo ci = new CultureInfo(preferredLocale); UserRoleInfo objUserRole = objRoles.GetUserRole(PortalSettings.PortalId, objUser.UserID, objRole.RoleID); if (Null.IsNull(objUserRole.EffectiveDate)) { Custom.Add(DateTime.Today.ToString("g", ci)); } else { Custom.Add(objUserRole.EffectiveDate.ToString("g", ci)); } if (Null.IsNull(objUserRole.ExpiryDate)) { Custom.Add("-"); } else { Custom.Add(objUserRole.ExpiryDate.ToString("g", ci)); } break; case UserRoleActions.delete: Custom.Add(""); break; } Message _message = new Message(); _message.FromUserID = PortalSettings.AdministratorId; _message.ToUserID = objUser.UserID; _message.Subject = Services.Localization.Localization.GetSystemMessage(objUser.Profile.PreferredLocale, PortalSettings, "EMAIL_ROLE_" + RoleController.UserRoleActionsCaption[(int)Action] + "_SUBJECT", objUser); _message.Body = Localization.GetSystemMessage(objUser.Profile.PreferredLocale, PortalSettings, "EMAIL_ROLE_" + RoleController.UserRoleActionsCaption[(int)Action] + "_BODY", objUser, Services.Localization.Localization.GlobalResourceFile, Custom); _message.Status = MessageStatusType.Unread; //_messagingController.SaveMessage(_message); //Services.Mail.Mail.SendEmail(PortalSettings.Email, objUser.Email, _message.Subject, _message.Body); }
public void AddLog(PortalSettings _PortalSettings, int UserID, Services.Log.EventLog.EventLogController.EventLogType objLogType) { LogProperties objProperties = new LogProperties(); AddLog(objProperties, _PortalSettings, UserID, objLogType.ToString(), false); }
public void AddLog(object objCBO, PortalSettings _PortalSettings, int UserID, string UserName, Services.Log.EventLog.EventLogController.EventLogType objLogType) { AddLog(objCBO, _PortalSettings, UserID, UserName, objLogType.ToString()); }
public void AddLog(object objCBO, PortalSettings _PortalSettings, int UserID, string UserName, string LogType) { LogController objLogController = new LogController(); LogInfo objLogInfo = new LogInfo(); objLogInfo.LogUserID = UserID; objLogInfo.LogTypeKey = LogType.ToString(); if (_PortalSettings != null) { objLogInfo.LogPortalID = _PortalSettings.PortalId; objLogInfo.LogPortalName = _PortalSettings.PortalName; } switch (objCBO.GetType().FullName) { case "CommonLibrary.Entities.Portals.PortalInfo": PortalInfo objPortal = (PortalInfo)objCBO; objLogInfo.LogProperties.Add(new LogDetailInfo("PortalID", objPortal.PortalID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("PortalName", objPortal.PortalName)); objLogInfo.LogProperties.Add(new LogDetailInfo("Description", objPortal.Description)); objLogInfo.LogProperties.Add(new LogDetailInfo("KeyWords", objPortal.KeyWords)); objLogInfo.LogProperties.Add(new LogDetailInfo("LogoFile", objPortal.LogoFile)); break; case "CommonLibrary.Entities.Tabs.TabInfo": TabInfo objTab = (TabInfo)objCBO; objLogInfo.LogProperties.Add(new LogDetailInfo("TabID", objTab.TabID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("PortalID", objTab.PortalID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("TabName", objTab.TabName)); objLogInfo.LogProperties.Add(new LogDetailInfo("Title", objTab.Title)); objLogInfo.LogProperties.Add(new LogDetailInfo("Description", objTab.Description)); objLogInfo.LogProperties.Add(new LogDetailInfo("KeyWords", objTab.KeyWords)); objLogInfo.LogProperties.Add(new LogDetailInfo("Url", objTab.Url)); objLogInfo.LogProperties.Add(new LogDetailInfo("ParentId", objTab.ParentId.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("IconFile", objTab.IconFile)); objLogInfo.LogProperties.Add(new LogDetailInfo("IsVisible", objTab.IsVisible.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("SkinSrc", objTab.SkinSrc)); objLogInfo.LogProperties.Add(new LogDetailInfo("ContainerSrc", objTab.ContainerSrc)); break; case "CommonLibrary.Entities.Modules.ModuleInfo": ModuleInfo objModule = (ModuleInfo)objCBO; objLogInfo.LogProperties.Add(new LogDetailInfo("ModuleId", objModule.ModuleID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("ModuleTitle", objModule.ModuleTitle)); objLogInfo.LogProperties.Add(new LogDetailInfo("TabModuleID", objModule.TabModuleID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("TabID", objModule.TabID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("PortalID", objModule.PortalID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("ModuleDefId", objModule.ModuleDefID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("FriendlyName", objModule.DesktopModule.FriendlyName)); objLogInfo.LogProperties.Add(new LogDetailInfo("IconFile", objModule.IconFile)); objLogInfo.LogProperties.Add(new LogDetailInfo("Visibility", objModule.Visibility.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("ContainerSrc", objModule.ContainerSrc)); break; case "CommonLibrary.Entities.Users.UserInfo": UserInfo objUser = (UserInfo)objCBO; objLogInfo.LogProperties.Add(new LogDetailInfo("UserID", objUser.UserID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("FirstName", objUser.Profile.FirstName)); objLogInfo.LogProperties.Add(new LogDetailInfo("LastName", objUser.Profile.LastName)); objLogInfo.LogProperties.Add(new LogDetailInfo("UserName", objUser.Username)); objLogInfo.LogProperties.Add(new LogDetailInfo("Email", objUser.Email)); break; case "CommonLibrary.Security.Roles.RoleInfo": RoleInfo objRole = (RoleInfo)objCBO; objLogInfo.LogProperties.Add(new LogDetailInfo("RoleID", objRole.RoleID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("RoleName", objRole.RoleName)); objLogInfo.LogProperties.Add(new LogDetailInfo("PortalID", objRole.PortalID.ToString())); objLogInfo.LogProperties.Add(new LogDetailInfo("Description", objRole.Description)); objLogInfo.LogProperties.Add(new LogDetailInfo("IsPublic", objRole.IsPublic.ToString())); break; default: objLogInfo.LogProperties.Add(new LogDetailInfo("logdetail", XmlUtils.Serialize(objCBO))); break; } objLogController.AddLog(objLogInfo); }
public void AddLog(LogProperties objProperties, PortalSettings _PortalSettings, int UserID, string LogTypeKey, bool BypassBuffering) { LogController objLogController = new LogController(); LogInfo objLogInfo = new LogInfo(); objLogInfo.LogUserID = UserID; objLogInfo.LogTypeKey = LogTypeKey; objLogInfo.LogProperties = objProperties; objLogInfo.BypassBuffering = BypassBuffering; if (_PortalSettings != null) { objLogInfo.LogPortalID = _PortalSettings.PortalId; objLogInfo.LogPortalName = _PortalSettings.PortalName; } objLogController.AddLog(objLogInfo); }
public void AddLog(string PropertyName, string PropertyValue, PortalSettings _PortalSettings, int UserID, string LogType) { LogProperties objProperties = new LogProperties(); LogDetailInfo objLogDetailInfo = new LogDetailInfo(); objLogDetailInfo.PropertyName = PropertyName; objLogDetailInfo.PropertyValue = PropertyValue; objProperties.Add(objLogDetailInfo); AddLog(objProperties, _PortalSettings, UserID, LogType, false); }
public void AddLog(string PropertyName, string PropertyValue, PortalSettings _PortalSettings, int UserID, Services.Log.EventLog.EventLogController.EventLogType objLogType) { LogProperties objProperties = new LogProperties(); LogDetailInfo objLogDetailInfo = new LogDetailInfo(); objLogDetailInfo.PropertyName = PropertyName; objLogDetailInfo.PropertyValue = PropertyValue; objProperties.Add(objLogDetailInfo); AddLog(objProperties, _PortalSettings, UserID, objLogType.ToString(), false); }
public static void AddFolder(PortalSettings _PortalSettings, string parentFolder, string newFolder) { AddFolder(_PortalSettings, parentFolder, newFolder, (int)CommonLibrary.Services.FileSystem.FolderController.StorageLocationTypes.InsecureFileSystem); }
public static void AddFolder(PortalSettings _PortalSettings, string parentFolder, string newFolder, int StorageLocation) { int PortalId; string ParentFolderName; System.IO.DirectoryInfo dinfo = new System.IO.DirectoryInfo(parentFolder); System.IO.DirectoryInfo dinfoNew; if (_PortalSettings.ActiveTab.ParentId == _PortalSettings.SuperTabId) { PortalId = Null.NullInteger; ParentFolderName = Common.Globals.HostMapPath; } else { PortalId = _PortalSettings.PortalId; ParentFolderName = _PortalSettings.HomeDirectoryMapPath; } dinfoNew = new System.IO.DirectoryInfo(parentFolder + newFolder); if (!dinfoNew.Exists) { dinfoNew = dinfo.CreateSubdirectory(newFolder); } string FolderPath = dinfoNew.FullName.Substring(ParentFolderName.Length).Replace("\\", "/"); AddFolder(PortalId, FolderPath, StorageLocation); }
public static void AddUserRole(UserInfo objUser, RoleInfo objRole, PortalSettings PortalSettings, System.DateTime effDate, System.DateTime expDate, int userId, bool notifyUser) { RoleController objRoleController = new RoleController(); UserRoleInfo objUserRole = objRoleController.GetUserRole(PortalSettings.PortalId, objUser.UserID, objRole.RoleID); Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController(); objRoleController.AddUserRole(PortalSettings.PortalId, objUser.UserID, objRole.RoleID, effDate, expDate); objUser.RefreshRoles = true; UserController.UpdateUser(PortalSettings.PortalId, objUser); if (objUserRole == null) { objEventLog.AddLog("Role", objRole.RoleName, PortalSettings, userId, Services.Log.EventLog.EventLogController.EventLogType.USER_ROLE_CREATED); if (notifyUser) { SendNotification(objUser, objRole, PortalSettings, UserRoleActions.@add); } } else { objEventLog.AddLog("Role", objRole.RoleName, PortalSettings, userId, Services.Log.EventLog.EventLogController.EventLogType.USER_ROLE_UPDATED); if (notifyUser) { objUserRole = objRoleController.GetUserRole(PortalSettings.PortalId, objUser.UserID, objRole.RoleID); SendNotification(objUser, objRole, PortalSettings, UserRoleActions.update); } } }
public static string CopyFile(string strSourceFile, string strDestFile, PortalSettings settings) { return UpdateFile(strSourceFile, strDestFile, GetFolderPortalId(settings), true, false, true); }
public static bool DeleteUserRole(int userId, RoleInfo objRole, PortalSettings PortalSettings, bool notifyUser) { UserInfo objUser = UserController.GetUserById(PortalSettings.PortalId, userId); return DeleteUserRole(objUser, objRole, PortalSettings, notifyUser); }
public static string DeleteFile(string strSourceFile, PortalSettings settings, bool ClearCache) { string retValue = ""; int PortalId = GetFolderPortalId(settings); string folderName = Globals.GetSubFolderPath(strSourceFile, PortalId); string fileName = GetFileName(strSourceFile); CommonLibrary.Services.FileSystem.FolderController objFolders = new CommonLibrary.Services.FileSystem.FolderController(); CommonLibrary.Services.FileSystem.FolderInfo objFolder = objFolders.GetFolder(PortalId, folderName, false); if (FolderPermissionController.CanAdminFolder(objFolder)) { try { DeleteFile(strSourceFile); DeleteFile(strSourceFile + Globals.glbProtectedExtension); CommonLibrary.Services.FileSystem.FileController objFileController = new CommonLibrary.Services.FileSystem.FileController(); objFileController.DeleteFile(PortalId, fileName, objFolder.FolderID, ClearCache); } catch (IOException ioEx) { retValue += "<br>" + string.Format(Localization.GetString("FileInUse"), strSourceFile); ioEx.ToString(); } catch (Exception ex) { retValue = ex.Message; } } else { retValue += "<br>" + string.Format(Localization.GetString("InsufficientFolderPermission"), folderName); } return retValue; }
public static bool DeleteUserRole(int roleId, UserInfo objUser, PortalSettings PortalSettings, bool notifyUser) { RoleController objRoleController = new RoleController(); RoleInfo objRole = objRoleController.GetRole(roleId, PortalSettings.PortalId); return DeleteUserRole(objUser, objRole, PortalSettings, notifyUser); }
private static void AddNode(TabInfo objTab, NodeCollection objNodes, Hashtable objBreadCrumbs, PortalSettings objPortalSettings, ToolTipSource eToolTips) { Node objNode = new Node(); if (objTab.Title == "~") { objNodes.AddBreak(); } else { if (objBreadCrumbs.Contains(objTab.TabID)) { objNode.BreadCrumb = true; if (objTab.TabID == objPortalSettings.ActiveTab.TabID) { objNode.Selected = true; } } if (objTab.DisableLink) objNode.Enabled = false; objNode.ID = objTab.TabID.ToString(); objNode.Key = objNode.ID; objNode.Text = objTab.LocalizedTabName; objNode.NavigateURL = objTab.FullUrl; objNode.ClickAction = eClickAction.Navigate; objNode.Image = objTab.IconFile; switch (eToolTips) { case ToolTipSource.TabName: objNode.ToolTip = objTab.LocalizedTabName; break; case ToolTipSource.Title: objNode.ToolTip = objTab.Title; break; case ToolTipSource.Description: objNode.ToolTip = objTab.Description; break; } objNodes.Add(objNode); } }
public static bool DeleteUserRole(UserInfo objUser, RoleInfo objRole, PortalSettings PortalSettings, bool notifyUser) { RoleController objRoleController = new RoleController(); bool canDelete = objRoleController.DeleteUserRole(PortalSettings.PortalId, objUser.UserID, objRole.RoleID); if (canDelete) { if (notifyUser) { SendNotification(objUser, objRole, PortalSettings, UserRoleActions.delete); } } return canDelete; }
public TokenReplace(Scope AccessLevel, string Language, PortalSettings PortalSettings, UserInfo User, int ModuleID) { this.CurrentAccessLevel = AccessLevel; if (AccessLevel != Scope.NoSettings) { if (PortalSettings == null) { if (HttpContext.Current != null) this.PortalSettings = PortalController.GetCurrentPortalSettings(); } else { this.PortalSettings = PortalSettings; } if (User == null) { if (HttpContext.Current != null) { this.User = (UserInfo)HttpContext.Current.Items["UserInfo"]; } else { this.User = new UserInfo(); } this.AccessingUser = this.User; } else { this.User = User; if (HttpContext.Current != null) { this.AccessingUser = (UserInfo)HttpContext.Current.Items["UserInfo"]; } else { this.AccessingUser = new UserInfo(); } } if (string.IsNullOrEmpty(Language)) { this.Language = new Localization.Localization().CurrentCulture; } else { this.Language = Language; } if (ModuleID != Null.NullInteger) { this.ModuleId = ModuleID; } } PropertySource["date"] = new DateTimePropertyAccess(); PropertySource["datetime"] = new DateTimePropertyAccess(); PropertySource["ticks"] = new TicksPropertyAccess(); PropertySource["culture"] = new CulturePropertyAccess(); }
public static bool CanRemoveUserFromRole(PortalSettings PortalSettings, int UserId, int RoleId) { return !((PortalSettings.AdministratorId == UserId && PortalSettings.AdministratorRoleId == RoleId) || PortalSettings.RegisteredRoleId == RoleId); }
public static bool CanDeletePackage(PackageInfo package, PortalSettings portalSettings) { bool bCanDelete = true; switch (package.PackageType) { case "Skin": case "Container": string strFolderPath = string.Empty; string strRootSkin = package.PackageType == "Skin" ? SkinController.RootSkin : SkinController.RootContainer; SkinPackageInfo _SkinPackageInfo = SkinController.GetSkinByPackageID(package.PackageID); foreach (System.Collections.Generic.KeyValuePair<int, string> kvp in _SkinPackageInfo.Skins) { if (kvp.Value.Contains(Common.Globals.HostMapPath)) { strFolderPath = Path.Combine(Path.Combine(Common.Globals.HostMapPath, strRootSkin), _SkinPackageInfo.SkinName); } else { strFolderPath = Path.Combine(Path.Combine(portalSettings.HomeDirectoryMapPath, strRootSkin), _SkinPackageInfo.SkinName); } break; } bCanDelete = SkinController.CanDeleteSkin(strFolderPath, portalSettings.HomeDirectoryMapPath); break; case "Provider": XmlDocument configDoc = Config.Load(); string providerName = package.Name; if (providerName.IndexOf(".") > Null.NullInteger) { providerName = providerName.Substring(providerName.IndexOf(".") + 1); } switch (providerName) { case "SchedulingProvider": providerName = "DNNScheduler"; break; case "SearchIndexProvider": providerName = "ModuleIndexProvider"; break; case "SearchProvider": providerName = "SearchDataStoreProvider"; break; } XPathNavigator providerNavigator = configDoc.CreateNavigator().SelectSingleNode("/configuration/dotnetnuke/*[@defaultProvider='" + providerName + "']"); bCanDelete = (providerNavigator == null); break; } return bCanDelete; }
public static int GetFolderPortalId(PortalSettings settings) { int FolderPortalId = Null.NullInteger; bool isHost = settings.ActiveTab.ParentId == settings.SuperTabId; if (!isHost) { FolderPortalId = settings.PortalId; } return FolderPortalId; }
public static string FormatSkinSrc(string SkinSrc, PortalSettings PortalSettings) { string strSkinSrc = SkinSrc; if (!String.IsNullOrEmpty(strSkinSrc)) { switch (strSkinSrc.ToLowerInvariant().Substring(0, 3)) { case "[g]": strSkinSrc = Regex.Replace(strSkinSrc, "\\[g]", Common.Globals.HostPath, RegexOptions.IgnoreCase); break; case "[l]": strSkinSrc = Regex.Replace(strSkinSrc, "\\[l]", PortalSettings.HomeDirectory, RegexOptions.IgnoreCase); break; } } return strSkinSrc; }
public static string UnzipFile(string fileName, string DestFolder, PortalSettings settings) { ZipInputStream objZipInputStream = null; string strMessage = ""; try { int FolderPortalId = GetFolderPortalId(settings); bool isHost = settings.ActiveTab.ParentId == settings.SuperTabId; PortalController objPortalController = new PortalController(); CommonLibrary.Services.FileSystem.FolderController objFolderController = new CommonLibrary.Services.FileSystem.FolderController(); CommonLibrary.Services.FileSystem.FileController objFileController = new CommonLibrary.Services.FileSystem.FileController(); string sourceFolderName = Globals.GetSubFolderPath(fileName, FolderPortalId); string sourceFileName = GetFileName(fileName); CommonLibrary.Services.FileSystem.FolderInfo folder = objFolderController.GetFolder(FolderPortalId, sourceFolderName, false); CommonLibrary.Services.FileSystem.FileInfo file = objFileController.GetFile(sourceFileName, FolderPortalId, folder.FolderID); int storageLocation = folder.StorageLocation; ZipEntry objZipEntry; string strFileName = ""; string strExtension; try { objZipInputStream = new ZipInputStream(GetFileStream(file)); } catch (Exception ex) { return ex.Message; } ArrayList sortedFolders = new ArrayList(); objZipEntry = objZipInputStream.GetNextEntry(); while (objZipEntry != null) { if (objZipEntry.IsDirectory) { try { sortedFolders.Add(objZipEntry.Name.ToString()); } catch (Exception ex) { objZipInputStream.Close(); return ex.Message; } } objZipEntry = objZipInputStream.GetNextEntry(); } sortedFolders.Sort(); foreach (string s in sortedFolders) { try { AddFolder(settings, DestFolder, s.ToString(), storageLocation); } catch (Exception ex) { return ex.Message; } } objZipInputStream = new ZipInputStream(GetFileStream(file)); objZipEntry = objZipInputStream.GetNextEntry(); while (objZipEntry != null) { if (!objZipEntry.IsDirectory) { if (objPortalController.HasSpaceAvailable(FolderPortalId, objZipEntry.Size)) { strFileName = Path.GetFileName(objZipEntry.Name); if (!String.IsNullOrEmpty(strFileName)) { strExtension = Path.GetExtension(strFileName).Replace(".", ""); if (("," + Host.FileExtensions.ToLower()).IndexOf("," + strExtension.ToLower()) != 0 || isHost) { try { string folderPath = System.IO.Path.GetDirectoryName(DestFolder + objZipEntry.Name.Replace("/", "\\")); DirectoryInfo Dinfo = new DirectoryInfo(folderPath); if (!Dinfo.Exists) { AddFolder(settings, DestFolder, objZipEntry.Name.Substring(0, objZipEntry.Name.Replace("/", "\\").LastIndexOf("\\"))); } string zipEntryFileName = DestFolder + objZipEntry.Name.Replace("/", "\\"); strMessage += AddFile(FolderPortalId, objZipInputStream, zipEntryFileName, "", objZipEntry.Size, Globals.GetSubFolderPath(zipEntryFileName, settings.PortalId), false, false); } catch (Exception ex) { if (objZipInputStream != null) { objZipInputStream.Close(); } return ex.Message; } } else { strMessage += "<br>" + string.Format(Localization.GetString("RestrictedFileType"), strFileName, Host.FileExtensions.Replace(",", ", *.")); } } } else { strMessage += "<br>" + string.Format(Localization.GetString("DiskSpaceExceeded"), strFileName); } } objZipEntry = objZipInputStream.GetNextEntry(); } } finally { if (objZipInputStream != null) { objZipInputStream.Close(); objZipInputStream.Dispose(); } } return strMessage; }