Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,36 @@ Standard Database setup option is unavailable</value>
<data name="Password.Required" xml:space="preserve">
<value>Password is required.</value>
</data>
<data name="PasswordStrengthFair.Text" xml:space="preserve">
<value>fair</value>
</data>
<data name="PasswordStrengthMinLength.Text" xml:space="preserve">
<value>-character minimum</value>
</data>
<data name="PasswordStrengthStrong.Text" xml:space="preserve">
<value>strong</value>
</data>
<data name="PasswordStrengthWeak.Text" xml:space="preserve">
<value>weak</value>
</data>
<data name="CriteriaValidationExpression.Text" xml:space="preserve">
<value>Validation Expression: {0}</value>
</data>
<data name="CriteriaAtLeastNSpecialChars.Text" xml:space="preserve">
<value>At least {0} non-alphanumeric characters</value>
</data>
<data name="CriteriaAtLeastNChars.Text" xml:space="preserve">
<value>At least {0} characters</value>
</data>
<data name="PasswordRulesHeadText.Text" xml:space="preserve">
<value>Password Policy:</value>
</data>
<data name="ConfirmPasswordUnmatched.Text" xml:space="preserve">
<value>Password does not match</value>
</data>
<data name="ConfirmPasswordMatched.Text" xml:space="preserve">
<value>Password Matched</value>
</data>
<data name="UserName.Required" xml:space="preserve">
<value>Username is required.</value>
</data>
Expand Down Expand Up @@ -546,4 +576,4 @@ Using Windows Explorer, browse to the folders of your website ( {0} ). Right-cli
<data name="InstallingSslStepSiteNotFound.Text" xml:space="preserve">
<value>Could not find site {0} to set HTTPS</value>
</data>
</root>
</root>
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="https://www.w3.org/XML/1998/namespace" />
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
Expand Down Expand Up @@ -307,7 +307,7 @@
<value>Websitesi için kullanmak istediğiniz dil.</value>
</data>
<data name="Password.Help" xml:space="preserve">
<value>SuperUser hesabının şifresi.</value>
<value>Süper Kullanıcı hesabının şifresi.</value>
</data>
<data name="UserName.Help" xml:space="preserve">
<value>Süper Kullanıcı hesabı için kullanıcı adı.</value>
Expand Down Expand Up @@ -470,7 +470,7 @@ Standart Veritabanı kurulum seçeneği mevcut değil</value>
<value>Parolalar eşleşmiyor.</value>
</data>
<data name="Confirm.Required" xml:space="preserve">
<value>Onay parolası gereklidir.</value>
<value>Parolayı onaylamanız gereklidir.</value>
</data>
<data name="DatabaseFilename.Required" xml:space="preserve">
<value>Veritabanı dosya adı gereklidir.</value>
Expand All @@ -490,6 +490,42 @@ Standart Veritabanı kurulum seçeneği mevcut değil</value>
<data name="Password.Required" xml:space="preserve">
<value>Şifre gereklidir.</value>
</data>
<data name="PasswordStrengthFair.Text" xml:space="preserve">
<value>orta</value>
</data>
<data name="PasswordStrengthMinLength.Text" xml:space="preserve">
<value>karakter minimum</value>
</data>
<data name="PasswordStrengthStrong.Text" xml:space="preserve">
<value>güçlü</value>
</data>
<data name="PasswordStrengthWeak.Text" xml:space="preserve">
<value>zayıf</value>
</data>
<data name="ConfirmPasswordUnmatched.Text" xml:space="preserve">
<value>Şifre eşleşmiyor</value>
</data>
<data name="ConfirmPasswordMatched.Text" xml:space="preserve">
<value>Şifre Eşleşti</value>
</data>
<data name="CriteriaValidationExpression.Text" xml:space="preserve">
<value>Doğrulama İfadesi: {0}</value>
</data>
<data name="CriteriaAtLeastNSpecialChars.Text" xml:space="preserve">
<value>En az {0} alfasayısal olmayan karakter</value>
</data>
<data name="CriteriaAtLeastNChars.Text" xml:space="preserve">
<value>En az {0} karakter</value>
</data>
<data name="PasswordRulesHeadText.Text" xml:space="preserve">
<value>Şifre Politikası:</value>
</data>
<data name="ConfirmPasswordUnmatched.Text" xml:space="preserve">
<value>Şifre eşleşmiyor</value>
</data>
<data name="ConfirmPasswordMatched.Text" xml:space="preserve">
<value>Şifre Eşleşti</value>
</data>
<data name="UserName.Required" xml:space="preserve">
<value>Kullanıcı adı zorunludur.</value>
</data>
Expand All @@ -499,6 +535,14 @@ Standart Veritabanı kurulum seçeneği mevcut değil</value>
<data name="HostWarning.Text" xml:space="preserve">
<value>Ana bilgisayar adınız yasaklı karakterler içeriyor (yalnızca a-Z, 0-9, - ve . izin verilir). Kullandığınız ana bilgisayar adını değiştirmelisiniz.</value>
</data>
<data name="FileAndFolderPermissionCheckFailed.Text" xml:space="preserve">
<value>&lt;div class="permission"&gt;&lt;img alt="Web sitesinin kök klasörü için güvenlik ayarlarını gösteren resim, ASPNET veya NT AUTHORITY/NETWORK SERVICE hesapları için Okuma, Yazma ve Değiştirme Kontrolü olarak ayarlanmalıdır." src="..\403-3.gif" align="right" hspace="10"/&gt;
&lt;p&gt;&lt;b&gt;&lt;font color='red'&gt;Siteniz izin kontrolünü geçemedi.&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
Windows Gezgini'ni kullanarak web sitenizin klasörlerine gidin ( {0} ). Klasörün üzerine sağ tıklayın ve açılır menüden Paylaşım ve Güvenlik'i seçin. Güvenlik sekmesini seçin. Uygun Kullanıcı Hesabını ekleyin ve İzinleri ayarlayın.
&lt;br/&gt;&lt;br/&gt;
&lt;h3&gt;Windows 8 veya daha yeni, Windows Server 2008 R2 veya daha yeni ve IIS7.5 veya daha yeni kullanılıyorsa&lt;/h3&gt;
&lt;p&gt;IIS AppPool\DefaultAppPool Kullanıcı Hesabının Web Sitesinin sanal kökünde Okuma, Yazma ve Değiştirme Kontrolüne sahip olması gerekir.&lt;/p&gt;&lt;p&gt;&lt;a class="dnnPrimaryAction" href=""&gt;Tekrar Kontrol Et&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</value>
</data>
<data name="InstallVersion.Text" xml:space="preserve">
<value>Yükleme Sürümü Ekleme</value>
</data>
Expand Down Expand Up @@ -538,12 +582,4 @@ Standart Veritabanı kurulum seçeneği mevcut değil</value>
<data name="InstallingSslStepSiteNotFound.Text" xml:space="preserve">
<value>Site {0} bulunamadı, HTTPS ayarlanamadı</value>
</data>
<data name="FileAndFolderPermissionCheckFailed.Text" xml:space="preserve">
<value>&lt;div class="permission"&gt;&lt;img alt="Web sitesinin kök klasörü için güvenlik ayarlarını gösteren resim, ASPNET veya NT AUTHORITY/NETWORK SERVICE hesapları için Okuma, Yazma ve Değiştirme Kontrolü olarak ayarlanmalıdır." src="..\403-3.gif" align="right" hspace="10"/&gt;
&lt;p&gt;&lt;b&gt;&lt;font color='red'&gt;Siteniz izin kontrolünü geçemedi.&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
Windows Gezgini'ni kullanarak web sitenizin klasörlerine gidin ( {0} ). Klasörün üzerine sağ tıklayın ve açılır menüden Paylaşım ve Güvenlik'i seçin. Güvenlik sekmesini seçin. Uygun Kullanıcı Hesabını ekleyin ve İzinleri ayarlayın.
&lt;br/&gt;&lt;br/&gt;
&lt;h3&gt;Windows 8 veya daha yeni, Windows Server 2008 R2 veya daha yeni ve IIS7.5 veya daha yeni kullanılıyorsa&lt;/h3&gt;
&lt;p&gt;IIS AppPool\DefaultAppPool Kullanıcı Hesabının Web Sitesinin sanal kökünde Okuma, Yazma ve Değiştirme Kontrolüne sahip olması gerekir.&lt;/p&gt;&lt;p&gt;&lt;a class="dnnPrimaryAction" href=""&gt;Tekrar Kontrol Et&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</value>
</data>
</root>
</root>
5 changes: 3 additions & 2 deletions DNN Platform/Website/Install/InstallWizard.aspx
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,8 @@
this.install = function () {
$.startProgressbar();
//Call PageMethod which triggers long running operation
PageMethods.RunInstall(function () {
PageMethods.RunInstall($("#PageLocale")[0].value, function () {

}, function (err) {
if (err._statusCode === 500 && !err._stackTrace) { //the error thrown by azure proxy, then need ignore.
return;
Expand Down Expand Up @@ -825,7 +826,7 @@

var installationLogStartLine = 0;
var getInstallationLog = function () {
PageMethods.GetInstallationLog(installationLogStartLine, function (result) {
PageMethods.GetInstallationLog(installationLogStartLine, $("#PageLocale")[0].value, function (result) {
if (result) {
if (installationLogStartLine === 0)
$('#installation-log').html(result);
Expand Down
42 changes: 33 additions & 9 deletions DNN Platform/Website/Install/InstallWizard.aspx.cs
Original file line number Diff line number Diff line change
Expand Up @@ -227,18 +227,20 @@ private static string StatusFile
}

/// <summary>Runs the installer.</summary>
/// <param name="cultureCode">The culture selected by the user in the wizard UI (from the PageLocale field), used as the source of truth for localization since the static culture field does not survive an AppDomain restart.</param>
[WebMethod]
public static void RunInstall()
public static void RunInstall(string cultureCode)
{
installerRunning = false;
LaunchAutoInstall(Globals.GetCurrentServiceProvider().GetRequiredService<IApplicationStatusInfo>());
LaunchAutoInstall(Globals.GetCurrentServiceProvider().GetRequiredService<IApplicationStatusInfo>(), cultureCode);
}

/// <summary>Gets the installation log.</summary>
/// <param name="startRow">At which line to start obtaining log lines.</param>
/// <param name="cultureCode">The culture selected by the user in the wizard UI (from the PageLocale field), used as the source of truth for localization since the static culture field does not survive an AppDomain restart.</param>
/// <returns>Log string from the provided line number forward.</returns>
[WebMethod]
public static object GetInstallationLog(int startRow)
public static object GetInstallationLog(int startRow, string cultureCode)
{
const int maxLines = 500;
var logFile = InstallController.Instance.InstallerLogName;
Expand Down Expand Up @@ -278,7 +280,10 @@ public static object GetInstallationLog(int startRow)

if (!errorLogged)
{
return Localization.GetString("NoErrorsLogged", "~/Install/App_LocalResources/InstallWizard.aspx.resx");
return Localization.GetString(
"NoErrorsLogged",
"~/Install/App_LocalResources/InstallWizard.aspx.resx",
!string.IsNullOrEmpty(cultureCode) ? cultureCode : culture);
}

return sb.ToString();
Expand Down Expand Up @@ -580,6 +585,20 @@ protected override void OnPreRender(EventArgs e)
this.txtPassword.CssClass = "password-strength";

var options = new DnnPaswordStrengthOptions();

// The Install Wizard cannot assume App_GlobalResources/WebControls.resx
// (which DnnPaswordStrengthOptions reads by default) has been translated
// for the selected culture at install time. Override with this page's
// own local resource file, consistent with every other string on this page.
options.MinLengthText = this.LocalizeString("PasswordStrengthMinLength");
options.WeakText = this.LocalizeString("PasswordStrengthWeak");
options.FairText = this.LocalizeString("PasswordStrengthFair");
options.StrongText = this.LocalizeString("PasswordStrengthStrong");
options.CriteriaAtLeastNCharsText = this.LocalizeString("CriteriaAtLeastNChars");
options.CriteriaAtLeastNSpecialCharsText = this.LocalizeString("CriteriaAtLeastNSpecialChars");
options.CriteriaValidationExpressionText = this.LocalizeString("CriteriaValidationExpression");
options.PasswordRulesHeadText = this.LocalizeString("PasswordRulesHeadText");

var optionsAsJsonString = Json.Serialize(options);
var script = string.Format(
"dnn.initializePasswordStrength('.{0}', {1});{2}",
Expand All @@ -597,6 +616,8 @@ protected override void OnPreRender(EventArgs e)
ContainerSelector = ".dnnFormPassword",
UnmatchedCssClass = "unmatched",
MatchedCssClass = "matched",
ConfirmPasswordUnmatchedText = this.LocalizeString("ConfirmPasswordUnmatched"),
ConfirmPasswordMatchedText = this.LocalizeString("ConfirmPasswordMatched"),
};

var confirmOptionsAsJsonString = Json.Serialize(confirmPasswordOptions);
Expand Down Expand Up @@ -636,7 +657,7 @@ protected override void OnLoad(EventArgs e)
try
{
installerRunning = true;
LaunchAutoInstall(this.appStatus);
LaunchAutoInstall(this.appStatus, culture);
}
catch (Exception)
{
Expand All @@ -648,7 +669,7 @@ protected override void OnLoad(EventArgs e)
{
if (installerRunning)
{
LaunchAutoInstall(this.appStatus);
LaunchAutoInstall(this.appStatus, culture);
}
else
{
Expand Down Expand Up @@ -716,7 +737,7 @@ protected override void OnLoad(EventArgs e)
}
}

private static void LaunchAutoInstall(IApplicationStatusInfo appStatus)
private static void LaunchAutoInstall(IApplicationStatusInfo appStatus, string cultureCode = null)
{
if (appStatus.Status == UpgradeStatus.None)
{
Expand All @@ -730,9 +751,12 @@ private static void LaunchAutoInstall(IApplicationStatusInfo appStatus)
// Set Script timeout to MAX value
HttpContext.Current.Server.ScriptTimeout = int.MaxValue;

if (culture != null)
// Prefer the culture passed in explicitly (e.g. from the client's PageLocale field) over the
// static culture field, which does not survive an AppDomain restart triggered mid-install.
var effectiveCulture = !string.IsNullOrEmpty(cultureCode) ? cultureCode : culture;
if (effectiveCulture != null)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(effectiveCulture);
}

Install(appStatus);
Expand Down
11 changes: 10 additions & 1 deletion DNN Platform/Website/Install/InstallWizard.aspx.designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading