public void NextPlaceHolder(object sender, EventArgs e)
        {
            switch (CurrentWizardPlaceHolder)
            {
            case WizardPlaceHolder.ChooseSiteTemplate:
                if (string.IsNullOrEmpty(SiteTemplateDir.Value))
                {
                    FailMessage("必须选择一个站的模板进行操作");
                    return;
                }
                ltlSiteTemplateName.Text =
                    $"{GetSiteTemplateName(SiteTemplateDir.Value)}({SiteTemplateDir.Value})";
                SetActivePlaceHolder(WizardPlaceHolder.CreateSiteParameters, CreateSiteParameters);
                break;

            case WizardPlaceHolder.CreateSiteParameters:
                var userKeyPrefix    = StringUtils.Guid();
                var siteTemplatePath = PathUtility.GetSiteTemplatesPath(SiteTemplateDir.Value);

                Body.AddAdminLog("整站替换",
                                 $"站点:{PublishmentSystemInfo.PublishmentSystemName}");

                PageUtils.Redirect(PageProgressBar.GetRecoveryUrl(PublishmentSystemId, IsDeleteChannels.SelectedValue, IsDeleteTemplates.SelectedValue, IsDeleteFiles.SelectedValue, false, siteTemplatePath, IsOverride.SelectedValue, IsOverride.SelectedValue, userKeyPrefix));
                break;
            }
        }
Example #2
0
        public void BtnSubmit_Click(object sender, EventArgs e)
		{
		    var siteTemplateDir = HihSiteTemplateDir.Value;

            var userKeyPrefix = StringUtils.Guid();
            var siteTemplatePath = PathUtility.GetSiteTemplatesPath(siteTemplateDir);

            Body.AddAdminLog("整站替换", $"站点:{SiteInfo.SiteName}");

            PageUtils.Redirect(PageProgressBar.GetRecoveryUrl(SiteId, RblIsDeleteChannels.SelectedValue, RblIsDeleteTemplates.SelectedValue, RblIsDeleteFiles.SelectedValue, false, siteTemplatePath, RblIsOverride.SelectedValue, RblIsOverride.SelectedValue, userKeyPrefix));
        }
Example #3
0
        public void NextPlaceHolder(object sender, EventArgs e)
        {
            switch (CurrentWizardPlaceHolder)
            {
            case WizardPlaceHolder.ChooseSiteTemplate:
                if (UseSiteTemplate.Checked)
                {
                    RowSiteTemplateName.Visible = RowIsImportContents.Visible = RowIsImportTableStyles.Visible = RowIsUserSiteTemplateAuxiliaryTables.Visible = true;
                    phAuxiliaryTable.Visible    = true;
                    SiteTemplateName.Text       =
                        $"{GetSiteTemplateName(SiteTemplateDir.Value)}({SiteTemplateDir.Value})";

                    var siteTemplatePath      = PathUtility.GetSiteTemplatesPath(SiteTemplateDir.Value);
                    var filePath              = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileConfiguration);
                    var publishmentSystemInfo = ConfigurationIe.GetPublishmentSytemInfo(filePath);

                    PublishmentSystemName.Text = publishmentSystemInfo.PublishmentSystemName;
                    PublishmentSystemDir.Text  = publishmentSystemInfo.PublishmentSystemDir;
                    var extend = new PublishmentSystemInfoExtend(publishmentSystemInfo.SettingsXml);
                    if (!string.IsNullOrEmpty(extend.Charset))
                    {
                        Charset.SelectedValue = extend.Charset;
                    }
                }
                else
                {
                    RowSiteTemplateName.Visible = RowIsImportContents.Visible = RowIsImportTableStyles.Visible = RowIsUserSiteTemplateAuxiliaryTables.Visible = false;
                    phAuxiliaryTable.Visible    = true;
                }
                SetActivePlaceHolder(WizardPlaceHolder.CreateSiteParameters, CreateSiteParameters);
                break;

            case WizardPlaceHolder.CreateSiteParameters:
                string errorMessage;
                var    thePublishmentSystemId = Validate_PublishmentSystemInfo(out errorMessage);
                if (thePublishmentSystemId > 0)
                {
                    var url = PageProgressBar.GetCreatePublishmentSystemUrl(thePublishmentSystemId, UseSiteTemplate.Checked, IsImportContents.Checked, IsImportTableStyles.Checked, SiteTemplateDir.Value, bool.Parse(IsUserSiteTemplateAuxiliaryTables.SelectedValue), StringUtils.Guid(), string.Empty);
                    PageUtils.Redirect(url);
                }
                else
                {
                    ltlErrorMessage.Text = errorMessage;
                    SetActivePlaceHolder(WizardPlaceHolder.OperatingError, OperatingError);
                }
                break;
            }
        }
Example #4
0
        public void BtnSubmit_Click(object sender, EventArgs e)
        {
            HideAll();

            var theSiteId = Validate_SiteInfo(out string errorMessage);

            if (theSiteId > 0)
            {
                var siteTemplateDir    = IsSiteTemplate ? HihSiteTemplateDir.Value : string.Empty;
                var onlineTemplateName = IsOnlineTemplate ? HihOnlineTemplateName.Value : string.Empty;
                PageUtils.Redirect(PageProgressBar.GetCreateSiteUrl(theSiteId,
                                                                    CbIsImportContents.Checked, CbIsImportTableStyles.Checked, siteTemplateDir, onlineTemplateName, StringUtils.Guid()));
            }
            else
            {
                FailMessage(errorMessage);

                ShowSubmit();
            }
        }
Example #5
0
        public IHttpActionResult Submit()
        {
            try
            {
                var request = new AuthenticatedRequest();
                if (!request.IsAdminLoggin ||
                    !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.SiteAdd))
                {
                    return(Unauthorized());
                }

                var createType          = request.GetPostString("createType");
                var createTemplateId    = request.GetPostString("createTemplateId");
                var siteName            = request.GetPostString("siteName");
                var isRoot              = request.GetPostBool("isRoot");
                var parentId            = request.GetPostInt("parentId");
                var siteDir             = request.GetPostString("siteDir");
                var domainName          = request.GetPostString("domainName");
                var tableRule           = ETableRuleUtils.GetEnumType(request.GetPostString("tableRule"));
                var tableChoose         = request.GetPostString("tableChoose");
                var tableHandWrite      = request.GetPostString("tableHandWrite");
                var isImportContents    = request.GetPostBool("isImportContents");
                var isImportTableStyles = request.GetPostBool("isImportTableStyles");

                if (!isRoot)
                {
                    if (DirectoryUtils.IsSystemDirectory(siteDir))
                    {
                        return(BadRequest("文件夹名称不能为系统文件夹名称,请更改文件夹名称!"));
                    }
                    if (!DirectoryUtils.IsDirectoryNameCompliant(siteDir))
                    {
                        return(BadRequest("文件夹名称不符合系统要求,请更改文件夹名称!"));
                    }
                    var list = DataProvider.SiteDao.GetLowerSiteDirList(parentId);
                    if (list.IndexOf(siteDir.ToLower()) != -1)
                    {
                        return(BadRequest("已存在相同的发布路径,请更改文件夹名称!"));
                    }
                }

                var channelInfo = new ChannelInfo();

                channelInfo.ChannelName          = channelInfo.IndexName = "首页";
                channelInfo.ParentId             = 0;
                channelInfo.ContentModelPluginId = string.Empty;

                var tableName = string.Empty;
                if (tableRule == ETableRule.Choose)
                {
                    tableName = tableChoose;
                }
                else if (tableRule == ETableRule.HandWrite)
                {
                    tableName = tableHandWrite;
                    if (!DataProvider.DatabaseDao.IsTableExists(tableName))
                    {
                        DataProvider.ContentDao.CreateContentTable(tableName, DataProvider.ContentDao.TableColumnsDefault);
                    }
                    else
                    {
                        DataProvider.DatabaseDao.AlterSystemTable(tableName, DataProvider.ContentDao.TableColumnsDefault);
                    }
                }

                var siteInfo = new SiteInfo
                {
                    SiteName   = AttackUtils.FilterXss(siteName),
                    SiteDir    = siteDir,
                    DomainName = domainName,
                    TableName  = tableName,
                    ParentId   = parentId,
                    IsRoot     = isRoot
                };

                siteInfo.Additional.IsCheckContentLevel = false;
                siteInfo.Additional.Charset             = ECharsetUtils.GetValue(ECharset.utf_8);

                var siteId = DataProvider.ChannelDao.InsertSiteInfo(channelInfo, siteInfo, request.AdminName);

                if (string.IsNullOrEmpty(tableName))
                {
                    tableName = ContentDao.GetContentTableName(siteId);
                    DataProvider.ContentDao.CreateContentTable(tableName, DataProvider.ContentDao.TableColumnsDefault);
                    DataProvider.SiteDao.UpdateTableName(siteId, tableName);
                }

                if (request.AdminPermissionsImpl.IsSystemAdministrator && !request.AdminPermissionsImpl.IsConsoleAdministrator)
                {
                    var siteIdList = request.AdminPermissionsImpl.GetSiteIdList() ?? new List <int>();
                    siteIdList.Add(siteId);
                    var adminInfo = AdminManager.GetAdminInfoByUserId(request.AdminId);
                    DataProvider.AdministratorDao.UpdateSiteIdCollection(adminInfo, TranslateUtils.ObjectCollectionToString(siteIdList));
                }

                var siteTemplateDir    = string.Empty;
                var onlineTemplateName = string.Empty;
                if (StringUtils.EqualsIgnoreCase(createType, "local"))
                {
                    siteTemplateDir = createTemplateId;
                }
                else if (StringUtils.EqualsIgnoreCase(createType, "cloud"))
                {
                    onlineTemplateName = createTemplateId;
                }

                var redirectUrl = PageProgressBar.GetCreateSiteUrl(siteId,
                                                                   isImportContents, isImportTableStyles, siteTemplateDir, onlineTemplateName, StringUtils.Guid());
                SystemManager.UpdateSites();
                return(Ok(new
                {
                    Value = redirectUrl
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }