/// <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);
     }
 }
Пример #3
0
 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);
Пример #5
0
        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);
 }
Пример #18
0
 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);
 }
Пример #20
0
 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;
 }
Пример #22
0
 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);
 }
Пример #23
0
 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);
     }
 }
Пример #24
0
 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;
 }
Пример #25
0
 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();
 }
Пример #26
0
 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;
 }
Пример #29
0
 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;
 }