Version 4.1.19

This commit is contained in:
Neo committed 2025-12-19 05:38:56 -08:00
1 parent 28bd025b35
commit 2bd5025018
2674 files changed
+233518 -77766

No files matched your search

+2 -2
View File
@@ -6,9 +6,9 @@
<div class='ipsField_fieldList_content'>
<label for='app_{$key}' class='ipsFieldRow_label'>{$data['name']}</label>
<dl class='ipsVersions{{if $data['disabled']}} disabled{{endif}}'>
<dt>Current Version</dt>
<dt>{lang="current_version"}</dt>
<dd>{$data['current']}</dd>
<dt>Available Version</dt>
<dt>{lang="available_version"}</dt>
<dd>{$data['available']}</dd>
</dl>
{{if !empty( $data['errors'] )}}
+2 -2
View File
@@ -1,5 +1,5 @@
<ips:template parameters="" />
<p class='ipsMessage ipsMessage_error'>There are no applications available to upgrade</p>
<p class='ipsMessage ipsMessage_error'>{lang="no_apps_upgrade"}</p>
<div class='ipsPad_double ipsType_center'>
<a href='../../' class='ipsButton ipsButton_large ipsButton_primary'>Exit upgrader</a>
<a href='../../' class='ipsButton ipsButton_large ipsButton_primary'>{lang="exit_upgrader"}</a>
</div>
+1 -2
View File
@@ -6,8 +6,7 @@
<pre class="ipsCode prettyprint lang-sql">{$query}{{if mb_substr( $query, -1 ) != ';'}};{{endif}}</pre>
{{endforeach}}
<div class="ipsAreaBackground ipsPad ipsType_center">
{{$mr = \IPS\core\Setup\Upgrade::adjustMultipleRedirect( array( 'extra' => array( 'lastSqlId' => $_SESSION['lastJsonIndex'] - 0.1 ) ) );}}
<a href="{$url->setQueryString( array( 'key' => $_SESSION['uniqueKey'], 'mr_continue' => NULL, 'run_anyway' => 1, 'mr' => $mr ) )}" data-action="redirectContinue" class="ipsButton ipsButton_primary">{lang="manual_query_auto"}</a>
<a href="{$url->setQueryString( array( 'key' => $_SESSION['uniqueKey'], 'mr_continue' => NULL, 'run_anyway' => 1, 'mr' => 1 ) )}" data-action="redirectContinue" class="ipsButton ipsButton_primary">{lang="manual_query_auto"}</a>
&nbsp;{lang="or"}&nbsp;
<a href="{$url}" data-action="redirectContinue" class="ipsButton ipsButton_primary">{lang="manual_query_manual"}</a>
</div>
+7 -1
View File
@@ -1,4 +1,4 @@
<ips:template parameters="$name, $value, $required, $options, $disabled=FALSE, $toggles=array(), $descriptions=array(), $userSuppliedInput='', $unlimited=NULL, $unlimitedLang=NULL" />
<ips:template parameters="$name, $value, $required, $options, $disabled=FALSE, $toggles=array(), $descriptions=array(), $warnings=array(), $userSuppliedInput='', $unlimited=NULL, $unlimitedLang=NULL" />
{{if $unlimited !== NULL}}
<ul class="ipsField_fieldList" role="radiogroup">
<li>
@@ -26,6 +26,12 @@
{$descriptions[ $k ]|raw}
</span>
{{endif}}
{{if isset( $warnings[ $k ] )}}
<div id="{$name}_{$k}_warning">
<br>
<p class='ipsMessage ipsMessage_warning'>{$warnings[ $k ]|raw}</p>
</div>
{{endif}}
</div>
</li>
{{endforeach}}
+1 -1
View File
@@ -7,5 +7,5 @@
</ul>
<div class='ipsPad_double ipsType_center'>
<a href='{url="controller=applications&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="go_back"}</a>
<a href='{url="controller=customoptions&key={$_SESSION['uniqueKey']}"}&disable={expression="\IPS\Request::i()->warnings"}' class='ipsButton ipsButton_large ipsButton_alternate'>{lang="continue_anyway"}</a>
<a href='{url="controller=confirm&key={$_SESSION['uniqueKey']}"}&disable={expression="\IPS\Request::i()->warnings"}' class='ipsButton ipsButton_large ipsButton_alternate'>{lang="continue_anyway"}</a>
</div>
+6 -2
View File
@@ -1,7 +1,11 @@
<ips:template parameters="" />
<div class='ipsPad_double ipsType_center'>
<a href='{url="controller=upgrade&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary'>Start Upgrade</a>
<a href='{url="controller=upgrade&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="start_upgrade"}</a>
</div>
<div class='ipsType_large'>
{lang="upgrade_confirm"}
{{if \IPS\CIC}}
{lang="upgrade_confirm_cic"}
{{else}}
{lang="upgrade_confirm"}
{{endif}}
</div>
+2 -2
View File
@@ -1,8 +1,8 @@
<ips:template parameters="" />
<section>
<p class='ipsMessage ipsMessage_warning'>Your community suite data or database configuration is saved in an encoding other than UTF-8. Before your site can be upgraded to the 4.0.0 Community Suite, we must convert the encoding to UTF-8.</p>
<p class='ipsMessage ipsMessage_warning'>{lang="convert_charset_info"}</p>
</section>
<div class='ipsPad_double ipsType_center'>
<a href='../convertutf8' class='ipsButton ipsButton_large ipsButton_primary'>Convert character set</a>
<a href='../convertutf8' class='ipsButton ipsButton_large ipsButton_primary'>{lang="convert_charset"}</a>
</div>
@@ -0,0 +1,21 @@
<ips:template parameters="$disabledApps, $disabledPlugins" />
<div class="ipsPad">
<p class="ipsType_normal">{lang="third_party_stuff_disabled"}</p>
{{if count( $disabledApps )}}
<p class="ipsType_normal">{lang="third_party_stuff_disabled_apps"}</p>
<ul class='ipsList_bullets'>
{{foreach $disabledApps as $app}}
<li>{$app}</li>
{{endforeach}}
</ul>
{{endif}}
{{if count( $disabledPlugins )}}
<p class="ipsType_normal">{lang="third_party_stuff_disabled_plugins"}</p>
<ul class='ipsList_bullets'>
{{foreach $disabledPlugins as $plugin}}
<li>{$plugin}</li>
{{endforeach}}
</ul>
{{endif}}
<p class="ipsType_normal">{lang="third_party_stuff_disabled_end"}</p>
</div>
+2 -2
View File
@@ -9,8 +9,8 @@
{{endif}}
</div>
{{if $retryUrl}}
<a href="$retryUrl" class='ipsButton'>Retry?</a>
<a href="$retryUrl" class='ipsButton'>{lang="retry"}</a>
{{endif}}
{{if $showContinueUrl}}
<a href="$showContinueUrl" class='ipsButton'>Continue</a>
<a href="$showContinueUrl" class='ipsButton'>{lang="continue"}</a>
{{endif}}
+30 -12
View File
@@ -16,16 +16,22 @@
<link rel='stylesheet' href='css/installer.css' media='all'>
<script type="text/javascript">
var IPS_TIMEOUT = 30;
var IPS_MR_ERROR = "{lang="js_confirm_mrerror"}";
</script>
<script src="js/jquery.min.js"></script>
<script src="js/multipleRedirect.js"></script>
</head>
<body class='ipsApp ipsApp_installer'>
<!-- Nulled by IPBMafia.ru -->
<script>
$(document).ready(function(){
$('input[name="diagnostics_reporting_checkbox"]').attr("disabled","disabled");
});
</script>
<div id='elInstaller_wrap'>
<div id='ipsLayout_header' class='ipsClearfix' role='banner'>
<header>
<a href='/' id='elSiteTitle'><span id='elLogo'><img src='img/logo.png' alt=''></span> Upgrade IPS Community Suite 4</a>
<a href='/' id='elSiteTitle'><span id='elLogo'><img src='img/logo.png' alt=''></span> {lang="upgrader_banner"} (Русская версия)</a>
</header>
</div>
<main id='elInstaller_body'>
@@ -38,9 +44,9 @@
<div class='ipsColumns ipsPad'>
<div class='ipsColumn ipsColumn_wide ipsPad' id='elInstaller_stepsWrap'>
<ul id='elInstaller_steps'>
{{foreach array( 1 => 'Login', 2 => 'System Check', 3 => 'License', 4 => 'Applications', 5 => 'Upgrade Options', 6 => 'Confirm', 7 => 'Upgrade' ) as $i => $lang}}
{{foreach array( 1 => 'login', 2 => 'healthcheck', 3 => 'license', 4 => 'applications', 5 => 'confirm', 6 => 'upgrade' ) as $i => $lang}}
<li class='{{if \IPS\Dispatcher::i()->step == $i}}elInstaller_stepActive{{elseif \IPS\Dispatcher::i()->step > $i}}elInstaller_stepDone{{endif}}'>
<i class='{{if \IPS\Dispatcher::i()->step == $i or ( !\IPS\Dispatcher::i()->step and $i == 1 )}}fa fa-circle{{elseif \IPS\Dispatcher::i()->step > $i}}fa fa-check{{else}}fa fa-circle-o{{endif}}'></i>&nbsp;&nbsp;{$lang}
<i class='{{if \IPS\Dispatcher::i()->step == $i or ( !\IPS\Dispatcher::i()->step and $i == 1 )}}fa fa-circle{{elseif \IPS\Dispatcher::i()->step > $i}}fa fa-check{{else}}fa fa-circle-o{{endif}}'></i>&nbsp;&nbsp;{lang="$lang"}
</li>
{{endforeach}}
</ul>
@@ -53,34 +59,46 @@
</div>
{{elseif \IPS\Request::i()->controller === 'done'}}
<div class='ipsPad_double ipsType_center'>
<h1 class='ipsType_pageTitle' id='elInstaller_welcome'>Your IPS Community Suite 4 is ready</h1>
<h1 class='ipsType_pageTitle' id='elInstaller_welcome'>{lang="done_banner"}</h1>
<p class='ipsType_normal ipsType_light'>
{lang="upgrade_complete"}
</p>
{{if isset( $_SESSION['upgrade_postUpgrade'] )}}
<br>
{{foreach $_SESSION['upgrade_postUpgrade'] as $app => $setupSteps}}
{{foreach $_SESSION['upgrade_postUpgrade'][ $app ] as $step => $message}}
<p class='ipsType_normal'>
{$message|raw}
</p>
{{endforeach}}
{{endforeach}}
{{unset( $_SESSION['upgrade_postUpgrade'] );}}
{{endif}}
<br><br>
<a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton_large ipsButton_primary'>Go to the suite</a>
<a href='{expression="rtrim( \IPS\Settings::i()->base_url, '/' ) . '/' . \IPS\CP_DIRECTORY"}' class='ipsButton ipsButton_large ipsButton_normal'>Go to the AdminCP</a>
<a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="go_to_suite"}</a>
<a href='{expression="rtrim( \IPS\Settings::i()->base_url, '/' ) . '/' . \IPS\CP_DIRECTORY"}' class='ipsButton ipsButton_large ipsButton_normal'>{lang="go_to_acp"}</a>
<br><br>
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank">Suite Documentation</a>
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank">{lang="suite_docs"}</a>
</div>
{{else}}
<div class='ipsPad_double ipsType_center'>
<h1 class='ipsType_pageTitle' id='elInstaller_welcome'>Welcome to IPS Community Suite 4</h1>
<h1 class='ipsType_pageTitle' id='elInstaller_welcome'>{lang="start_banner"}</h1>
<p class='ipsType_normal ipsType_light'>
{{if $initError}}
{$initError}
{{else}}
This process will install your software for you. Be sure you have your license key and MySQL database details to hand.
{lang="start_info"}
{{endif}}
</p>
{{if !$initError}}
<br><br>
<a href='{url="&start=1"}' class='ipsButton ipsButton_large ipsButton_primary'>Start Upgrade</a>
<a href='{url="&start=1"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="start_upgrade"}</a>
{{endif}}
<br><br>
<a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" target="_blank">Install Guide</a>
<a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" target="_blank">{lang="install_docs"}</a>
</div>
{{endif}}
<p style="text-align: right; margin:10px">Nulled by IPBMafia.ru</p>
</main>
</div>
</body>
+9 -9
View File
@@ -2,20 +2,20 @@
{{$canProceed = TRUE;}}
<section>
{{if $designerMode}}
<h2 class="ipsType_sectionHead">Designers' Mode On</h2>
<h2 class="ipsType_sectionHead">{lang="hc_designers_mode"}</h2>
<ul class="ipsPad ipsType_large ipsList_checks">
{{$canProceed = FALSE;}}
<li class="fail inline">
Designers' Mode is currently enabled.
{lang="hc_designers_enabled"}
</li>
<li class='ipsType_normal'>
<a href="{url="controller=systemcheck&key={$_SESSION['uniqueKey']}&disableDesignersMode=1"}" class="ipsButton ipsButton_negative">Disable Designers' Mode now</a>
<div class='ipsType_light ipsType_small'>Disabling Designers' Mode now will <strong>not</strong> synchronize your templates.<br>If you need to save your edited files, please synchronize them via the ACP &gt; Customization &gt; Themes before disabling Designer's Mode.</div>
<a href="{url="controller=systemcheck&key={$_SESSION['uniqueKey']}&disableDesignersMode=1"}" class="ipsButton ipsButton_negative">{lang="hc_disable_designers"}</a>
<div class='ipsType_light ipsType_small'>{lang="hc_designers_dis_info"}</div>
</li>
</ul>
{{endif}}
{{foreach $requirements['requirements'] as $k => $_requirements}}
<h2 class="ipsType_sectionHead">{$k} Requirements</h2>
<h2 class="ipsType_sectionHead">{lang="hc_requirements" sprintf="$k"}</h2>
<ul class="ipsPad ipsType_large ipsList_checks">
{{foreach $_requirements as $item}}
{{if !$item['success']}}{{$canProceed = FALSE;}}{{endif}}
@@ -24,9 +24,9 @@
</ul>
{{endforeach}}
{{if isset( $requirements['advice'] ) and count( $requirements['advice'] )}}
<h2 class="ipsType_sectionHead">Recommendations</h2>
<h2 class="ipsType_sectionHead">{lang="hc_recommendations"}</h2>
<br><br>
<p class="ipsType_normal">None of these items are required in order to continue with the upgrade right now. However, they will be required in a future version of IPS Community Suite. You should make a note of them and contact your hosting provider or system administrator after the upgrade to address them. You can re-run these checks later from the <em>Support</em> section of the Administrator Control Panel.</p>
<p class="ipsType_normal">{lang="hc_recommendations_info"}</p>
<ul class="ipsPad ipsType_large ipsList_checks">
{{foreach $requirements['advice'] as $key => $item}}
<li class="{{if $key === 'php'}}ipsMessage ipsMessage_warning{{else}}advisory{{endif}}">{$item}</li>
@@ -37,8 +37,8 @@
<div class='ipsPad_double ipsType_center'>
{{if $canProceed}}
<a href='{url="controller=license&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary'>Continue</a>
<a href='{url="controller=license&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="continue"}</a>
{{else}}
<a href='' class='ipsButton ipsButton_large ipsButton_primary ipsButton_disabled'>You must correct any issues listed above before you can proceed</a>
<a href='' class='ipsButton ipsButton_large ipsButton_primary ipsButton_disabled'>{lang="hc_no_continue"}</a>
{{endif}}
</div>
+1 -1
View File
@@ -1,6 +1,6 @@
<ips:template parameters="$form, $active" />
<section>
<h2 class="ipsType_sectionHead">License</h2>
<h2 class="ipsType_sectionHead">{lang="license"}</h2>
<ul class="ipsPad ipsType_large ipsList_checks">
{{if $active === NULL}}
<li class="fail">{lang="lkey_not_providen"}</li>
@@ -2,7 +2,7 @@
<section>
<h2 class="ipsType_sectionHead">{lang="upgrade_unfinished"}</h2>
<ul class="ipsPad ipsType_large ipsList_checks">
<li class="advisory">You have an unfinished upgrade from {datetime="$time" norelative="true"}</li>
<li class="advisory">{lang="unfinished_upgrade_info" sprintf="(string) \IPS\DateTime::ts($time)"}</li>
<li>
<strong>{lang="upgrade_applications"}</strong>
<ul>
@@ -15,13 +15,13 @@
<strong>{lang="upgrade_status"}</strong>
<ul>
<li>{lang="status"}: {$json['step']}</li>
<li>{lang="application"}: {{if isset( $json['data'][1] )}}{$json['data'][1]}{{else}}<em>Not set</em>{{endif}}
<li>{lang="current_version"}: {{if isset( $json['data']['extra']['_current'] )}}{$json['data']['extra']['_current']}{{else}}<em>Not set</em>{{endif}}
<li>{lang="application"}: {{if isset( $json['data'][1] )}}{$json['data'][1]}{{else}}<em>{lang="continue_not_set"}</em>{{endif}}
<li>{lang="current_version"}: {{if isset( $json['data']['extra']['_current'] )}}{$json['data']['extra']['_current']}{{else}}<em>{lang="continue_not_set"}</em>{{endif}}
</ul>
</li>
</ul>
</section>
<div class='ipsPad_double ipsType_center'>
<a href='{url="controller=continueupgrade&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary ipsButton_positive'>Continue Upgrade</a>
<a href='{url="controller=systemcheck&key={$_SESSION['uniqueKey']}&skippreviousupgrade=1"}' class='ipsButton ipsButton_large ipsButton_primary'>Start Fresh Upgrade</a>
<a href='{url="controller=continueupgrade&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary ipsButton_positive'>{lang="continue_upgrade"}</a>
<a href='{url="controller=systemcheck&key={$_SESSION['uniqueKey']}&skippreviousupgrade=1"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="start_fresh_upgrade"}</a>
</div>
+2 -2
View File
@@ -21,8 +21,8 @@
{{endif}}
</div>
{{if $retryUrl}}
<a href="$retryUrl" class='ipsButton'>Retry?</a>
<a href="$retryUrl" class='ipsButton'>{lang="retry"}</a>
{{endif}}
{{if $showContinueUrl}}
<a href="$showContinueUrl" class='ipsButton'>Continue</a>
<a href="$showContinueUrl" class='ipsButton'>{lang="continue"}</a>
{{endif}}