コード例 #1
0
        private static void CacheMappedDirectory()
        {
            Services.FileSystem.FolderController objFolderController = new Services.FileSystem.FolderController();
            PortalController objPortalController = new PortalController();
            ArrayList        arrPortals          = objPortalController.GetPortals();
            int i;

            for (i = 0; i <= arrPortals.Count - 1; i++)
            {
                PortalInfo objPortalInfo = (PortalInfo)arrPortals[i];
                objFolderController.SetMappedDirectory(objPortalInfo, HttpContext.Current);
            }
        }
コード例 #2
0
        public int CreatePortal(string PortalName, UserInfo objAdminUser, string Description, string KeyWords, string TemplatePath, string TemplateFile, string HomeDirectory, string PortalAlias, string ServerPath, string ChildPath, bool IsChildPortal)
        {
            Services.FileSystem.FolderController objFolderController = new Services.FileSystem.FolderController();
            string strMessage = Null.NullString;
            int AdministratorId = Null.NullInteger;
            int intPortalId = CreatePortal(PortalName, HomeDirectory);
            if (intPortalId != -1)
            {
                if (String.IsNullOrEmpty(HomeDirectory))
                {
                    HomeDirectory = "Portals/" + intPortalId.ToString();
                }
                string MappedHomeDirectory = objFolderController.GetMappedDirectory(Common.Globals.ApplicationPath + "/" + HomeDirectory + "/");
                strMessage += CreateProfileDefinitions(intPortalId, TemplatePath, TemplateFile);
                if (strMessage == Null.NullString)
                {
                    try
                    {
                        objAdminUser.PortalID = intPortalId;
                        UserCreateStatus createStatus = UserController.CreateUser(ref objAdminUser);
                        if (createStatus == UserCreateStatus.Success)
                        {
                            AdministratorId = objAdminUser.UserID;
                        }
                        else
                        {
                            strMessage += UserController.GetUserCreateStatus(createStatus);
                        }
                    }
                    catch (Exception Exc)
                    {
                        strMessage += Localization.GetString("CreateAdminUser.Error") + Exc.Message + Exc.StackTrace;
                    }
                }
                else
                {
                    throw new Exception(strMessage);
                }
                if (String.IsNullOrEmpty(strMessage) && AdministratorId > 0)
                {
                    try
                    {
                        if (Directory.Exists(MappedHomeDirectory))
                        {
                            Globals.DeleteFolderRecursive(MappedHomeDirectory);
                        }
                    }
                    catch (Exception Exc)
                    {
                        strMessage += Localization.GetString("DeleteUploadFolder.Error") + Exc.Message + Exc.StackTrace;
                    }
                    if (strMessage == Null.NullString)
                    {
                        try
                        {
                            if (IsChildPortal)
                            {
                                if (!Directory.Exists(ChildPath))
                                {
                                    System.IO.Directory.CreateDirectory(ChildPath);
                                }
                                if (!File.Exists(ChildPath + "\\" + Globals.glbDefaultPage))
                                {
                                    System.IO.File.Copy(Common.Globals.HostMapPath + "subhost.aspx", ChildPath + "\\" + Globals.glbDefaultPage);
                                }
                            }
                        }
                        catch (Exception Exc)
                        {
                            strMessage += Localization.GetString("ChildPortal.Error") + Exc.Message + Exc.StackTrace;
                        }
                    }
                    else
                    {
                        throw new Exception(strMessage);
                    }
                    if (strMessage == Null.NullString)
                    {
                        try
                        {
                            System.IO.Directory.CreateDirectory(MappedHomeDirectory);
                            //ensure that the Templates folder exists
                            string templateFolder = String.Format("{0}Templates", MappedHomeDirectory);
                            if (!Directory.Exists(templateFolder))
                            {
                                System.IO.Directory.CreateDirectory(templateFolder);
                            }

                            //ensure that the Users folder exists
                            string usersFolder = String.Format("{0}Users", MappedHomeDirectory);
                            if (!Directory.Exists(usersFolder))
                            {
                                System.IO.Directory.CreateDirectory(usersFolder);
                            }

                            //copy the default page template
                            CopyPageTemplate("Default.page.template", MappedHomeDirectory);
                            CopyPageTemplate("UserProfile.page.template", MappedHomeDirectory);

                            // process zip resource file if present
                            ProcessResourceFile(MappedHomeDirectory, TemplatePath + TemplateFile);
                        }
                        catch (Exception Exc)
                        {
                            strMessage += Localization.GetString("ChildPortal.Error") + Exc.Message + Exc.StackTrace;
                        }
                    }
                    else
                    {
                        throw new Exception(strMessage);
                    }
                    if (strMessage == Null.NullString)
                    {
                        try
                        {
                            ParseTemplate(intPortalId, TemplatePath, TemplateFile, AdministratorId, PortalTemplateModuleAction.Replace, true);
                        }
                        catch (Exception Exc)
                        {
                            strMessage += Localization.GetString("PortalTemplate.Error") + Exc.Message + Exc.StackTrace;
                        }
                    }
                    else
                    {
                        throw new Exception(strMessage);
                    }
                    if (strMessage == Null.NullString)
                    {
                        PortalInfo objportal = GetPortal(intPortalId);
                        objportal.Description = Description;
                        objportal.KeyWords = KeyWords;
                        objportal.UserTabId = TabController.GetTabByTabPath(objportal.PortalID, "//UserProfile");
                        UpdatePortalInfo(objportal.PortalID, objportal.PortalName, objportal.LogoFile, objportal.FooterText, objportal.ExpiryDate, objportal.UserRegistration, objportal.BannerAdvertising, objportal.Currency, objportal.AdministratorId, objportal.HostFee,
                        objportal.HostSpace, objportal.PageQuota, objportal.UserQuota, objportal.PaymentProcessor, objportal.ProcessorUserId, objportal.ProcessorPassword, objportal.Description, objportal.KeyWords, objportal.BackgroundFile, objportal.SiteLogHistory,
                        objportal.SplashTabId, objportal.HomeTabId, objportal.LoginTabId, objportal.RegisterTabId, objportal.UserTabId, objportal.DefaultLanguage, objportal.TimeZoneOffset, objportal.HomeDirectory);
                        objAdminUser.Profile.PreferredLocale = objportal.DefaultLanguage;
                        objAdminUser.Profile.TimeZone = objportal.TimeZoneOffset;
                        UserController.UpdateUser(objportal.PortalID, objAdminUser);
                        DesktopModuleController.AddDesktopModulesToPortal(intPortalId);
                        Localization.AddLanguagesToPortal(intPortalId);
                        AddPortalAlias(intPortalId, PortalAlias);
                        try
                        {
                            Services.Log.EventLog.LogInfo objEventLogInfo = new Services.Log.EventLog.LogInfo();
                            objEventLogInfo.BypassBuffering = true;
                            objEventLogInfo.LogTypeKey = CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.HOST_ALERT.ToString();
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("Install Portal:", PortalName));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("FirstName:", objAdminUser.FirstName));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("LastName:", objAdminUser.LastName));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("Username:"******"Email:", objAdminUser.Email));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("Description:", Description));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("Keywords:", KeyWords));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("TemplatePath:", TemplatePath));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("TemplateFile:", TemplateFile));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("HomeDirectory:", HomeDirectory));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("PortalAlias:", PortalAlias));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("ServerPath:", ServerPath));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("ChildPath:", ChildPath));
                            objEventLogInfo.LogProperties.Add(new CommonLibrary.Services.Log.EventLog.LogDetailInfo("IsChildPortal:", IsChildPortal.ToString()));
                            Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController();
                            objEventLog.AddLog(objEventLogInfo);
                        }
                        catch (Exception ex)
                        {
                            ex.ToString();
                        }
                    }
                    else
                    {
                        throw new Exception(strMessage);
                    }
                }
                else
                {
                    DeletePortalInfo(intPortalId);
                    intPortalId = -1;
                    throw new Exception(strMessage);
                }
            }
            else
            {
                strMessage += Localization.GetString("CreatePortal.Error");
                throw new Exception(strMessage);
            }
            return intPortalId;
        }