Version 5.0.0 beta 1

This commit is contained in:
Neo committed 2025-12-19 16:27:35 -08:00
1 parent 25ddeb65d6
commit 15c7beabc5
6736 files changed
+627902 -497943

No files matched your search

+5 -5
View File
@@ -1,11 +1,11 @@
<ips:template parameters="$apps" />
<p class="ipsType_large">{lang="apps_will_be_disabled"}</p>
<ul class="ipsPad ipsType_large ipsList_checks">
<p class="i-font-size_2">{lang="apps_will_be_disabled"}</p>
<ul class="i-padding_3 i-font-size_2 ipsList_checks">
{{foreach $apps as $name}}
<li class="fail">{$name}</li>
{{endforeach}}
</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>
<div class='i-padding_4 i-text-align_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--secondary'>{lang="continue_anyway"}</a>
</div>
+11 -11
View File
@@ -3,23 +3,23 @@
<html lang="en">
<head>
<title>{$title}</title>
<link rel='stylesheet' href='css/reset.css' media='all'>
<link rel='stylesheet' href='css/fonts.css' media='all'>
<link rel='stylesheet' href='css/global.css' media='all'>
<link rel='stylesheet' href='css/layout.css' media='all'>
<link rel='stylesheet' href='css/messages.css' media='all'>
<link rel='stylesheet' href='css/misc.css' media='all'>
<link rel='stylesheet' href='css/forms.css' media='all'>
<link rel='stylesheet' href='css/typography.css' media='all'>
<link rel='stylesheet' href='css/buttons.css' media='all'>
<link rel='stylesheet' href='css/installer.css' media='all'>
<link rel='stylesheet' href='../assets/css/reset.css' media='all'>
<link rel='stylesheet' href='../assets/fontawesome/css/all.min.css' media='all'>
<link rel='stylesheet' href='../assets/css/global.css' media='all'>
<link rel='stylesheet' href='../assets/css/layout.css' media='all'>
<link rel='stylesheet' href='../assets/css/messages.css' media='all'>
<link rel='stylesheet' href='../assets/css/misc.css' media='all'>
<link rel='stylesheet' href='../assets/css/forms.css' media='all'>
<link rel='stylesheet' href='../assets/css/typography.css' media='all'>
<link rel='stylesheet' href='../assets/css/buttons.css' media='all'>
<link rel='stylesheet' href='../assets/css/installer.css' media='all'>
<script type="text/javascript">
var IPS_TIMEOUT = 30;
</script>
<script src="js/jquery.min.js"></script>
<script src="js/multipleRedirect.js"></script>
</head>
<body class="ipsApp ipsApp_front ipsJS_none ipsClearfix ipsLayout_noBackground">
<body class="ipsApp ipsApp_front ipsJS_none ipsLayout_noBackground">
{$html|raw}
</body>
</html>
+9 -9
View File
@@ -1,11 +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'>{lang="start_upgrade"}</a>
</div>
<div class='ipsType_large ipsType_center'>
{{if \IPS\CIC}}
{lang="upgrade_confirm_cic"}
{{else}}
{lang="upgrade_confirm"}
{{endif}}
<div class='i-padding_4 i-text-align_center'>
<a href='{url="controller=upgrade&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton--large ipsButton--primary'>{lang="start_upgrade"}</a>
<div class='i-font-size_2 i-margin-top_3'>
{{if \IPS\CIC}}
{lang="upgrade_confirm_cic"}
{{else}}
{lang="upgrade_confirm"}
{{endif}}
</div>
</div>
+3 -3
View File
@@ -1,8 +1,8 @@
<ips:template parameters="" />
<section>
<p class='ipsMessage ipsMessage_warning'>{lang="convert_charset_info"}</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'>{lang="convert_charset"}</a>
<div class='i-padding_4 i-text-align_center'>
<a href='../convertutf8' class='ipsButton ipsButton--large ipsButton--primary'>{lang="convert_charset"}</a>
</div>
@@ -1,4 +1,4 @@
<ips:template parameters="" />
<div class="ipsPad">
<p class="ipsType_normal">{lang="106000_deprecation"}</p>
<div class="i-padding_3">
<p>{lang="106000_deprecation"}</p>
</div>
@@ -1,25 +1,17 @@
<ips:template parameters="$disabledApps, $disabledPlugins, $showMessage=true" />
<div class="ipsPad ipsType_left ipsPos_center">
<ips:template parameters="$disabledApps, $showMessage=true" />
<div class="i-padding_3 i-text-align_start ipsPos_center">
{{if $showMessage}}
<p class="ipsType_normal">{lang="third_party_stuff_disabled"}</p>
<p>{lang="third_party_stuff_disabled"}</p>
{{endif}}
{{if \count( $disabledApps )}}
<p class="ipsType_normal">{lang="third_party_stuff_disabled_apps"}</p>
<ul class='ipsList_bullets ipsType_left'>
<p>{lang="third_party_stuff_disabled_apps"}</p>
<ul class='ipsList_bullets i-text-align_start'>
{{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 ipsType_left'>
{{foreach $disabledPlugins as $plugin}}
<li>{$plugin}</li>
{{endforeach}}
</ul>
{{endif}}
{{if $showMessage}}
<p class="ipsType_normal">{lang="third_party_stuff_disabled_end"}</p>
<p>{lang="third_party_stuff_disabled_end"}</p>
{{endif}}
</div>
+5 -2
View File
@@ -1,13 +1,16 @@
<ips:template parameters="$title, $message, $code, $backtrace, $showContinueUrl=false, $retryUrl=false" />
{{$mr = isset( \IPS\Request::i()->mr ) ? json_decode( urldecode( base64_decode( \IPS\Request::i()->mr ) ), true ) : array();}}
<div class='ipsMessage ipsMessage_error'>
<span class="ipsMessage_code">{$code}</span>
<div class='ipsMessage ipsMessage--error'>
<span class="ipsMessage--code">{$code}</span>
{lang="$message"}
<br />
{{if \is_array($mr) and \count($mr)}}
<small>{lang="location"}: {lang="step" sprintf="\IPS\Dispatcher::i()->step ?: 1"} {$mr[0]}. {lang="application"}: {expression="ucfirst($mr[1])"}</small>
{{endif}}
</div>
<div class='i-margin-top_1'>
<pre>{$backtrace|raw}</pre>
</div>
{{if $retryUrl}}
<a href="$retryUrl" class='ipsButton' data-action="redirectContinue">{lang="retry"}</a>
{{endif}}
+58 -51
View File
@@ -4,16 +4,16 @@
<head>
<meta charset="utf-8">
<title>{$title}</title>
<link rel='stylesheet' href='css/reset.css' media='all'>
<link rel='stylesheet' href='css/fonts.css' media='all'>
<link rel='stylesheet' href='css/global.css' media='all'>
<link rel='stylesheet' href='css/layout.css' media='all'>
<link rel='stylesheet' href='css/messages.css' media='all'>
<link rel='stylesheet' href='css/misc.css' media='all'>
<link rel='stylesheet' href='css/forms.css' media='all'>
<link rel='stylesheet' href='css/typography.css' media='all'>
<link rel='stylesheet' href='css/buttons.css' media='all'>
<link rel='stylesheet' href='css/installer.css' media='all'>
<link rel='stylesheet' href='../assets/css/reset.css' media='all'>
<link rel='stylesheet' href='../assets/fontawesome/css/all.min.css' media='all'>
<link rel='stylesheet' href='../assets/css/global.css' media='all'>
<link rel='stylesheet' href='../assets/css/layout.css' media='all'>
<link rel='stylesheet' href='../assets/css/messages.css' media='all'>
<link rel='stylesheet' href='../assets/css/misc.css' media='all'>
<link rel='stylesheet' href='../assets/css/forms.css' media='all'>
<link rel='stylesheet' href='../assets/css/typography.css' media='all'>
<link rel='stylesheet' href='../assets/css/buttons.css' media='all'>
<link rel='stylesheet' href='../assets/css/installer.css' media='all'>
<script type="text/javascript">
var IPS_TIMEOUT = 30;
var IPS_MR_ERROR = "{lang="js_confirm_mrerror"}";
@@ -22,84 +22,91 @@
<script src="js/multipleRedirect.js"></script>
</head>
<body class='ipsApp ipsApp_installer'>
<script>
$(document).ready(function(){
$('input[name="101079_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> {lang="upgrader_banner"}</a>
</header>
</div>
<div id='ipsInstaller'>
<header class="ipsInstaller__header">
<a href='/' class="ipsInstaller__logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440.71 427.19"><path d="M236,353,439.83,0H.88l203.8,353A18.11,18.11,0,0,0,236,353Z"/><polygon points="0 427.19 128.95 427.19 0 203.83 0 427.19"/><polygon points="311.76 427.19 440.71 427.19 440.71 203.83 311.76 427.19"/></svg>
<span>{lang="upgrader_banner"}</span>
</a>
</header>
<main id='elInstaller_body'>
{{if !$initError and ( ( \IPS\Dispatcher::i()->step != 1 AND \IPS\Dispatcher::i()->step != 8 ) || \IPS\Request::i()->start )}}
<div class='ipsPad ipsAreaBackground_light'>
<!-- <div class='i-padding_3 i-background_2'>
<h1 class='ipsType_pageTitle'>
{lang="step" sprintf="\IPS\Dispatcher::i()->step ?: 1"}: {$title}
</h1>
</div>
<div class='ipsColumns ipsPad'>
<div class='ipsColumn ipsColumn_wide ipsPad' id='elInstaller_stepsWrap'>
</div> -->
<div class='ipsColumns'>
<div class='ipsColumns__secondary'>
<ul id='elInstaller_steps'>
{{foreach array( 1 => 'login', 2 => 'healthcheck', 3 => 'license', 5 => 'upgradeoptions', 6 => 'confirm', 7 => '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="$lang"}
<li class='
{{if \IPS\Dispatcher::i()->step == $i or ( !\IPS\Dispatcher::i()->step and $i == 1 )}}
elInstaller_steps__current
{{elseif \IPS\Dispatcher::i()->step > $i}}
elInstaller_steps__done
{{else}}
elInstaller_steps__future
{{endif}}'>
{{if \IPS\Dispatcher::i()->step == $i or ( !\IPS\Dispatcher::i()->step and $i == 1 )}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM281 385c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L136 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l182.1 0-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L393 239c9.4 9.4 9.4 24.6 0 33.9L281 385z"/></svg>
{{elseif \IPS\Dispatcher::i()->step > $i}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>
{{else}}
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z"/></svg>
{{endif}}
<span>{lang="$lang"}</span>
</li>
{{endforeach}}
</ul>
</div>
<div class='ipsColumn ipsColumn_fluid'>
<div class='ipsPad'>
{$html|raw}
</div>
<div class='ipsColumns__primary'>
{$html|raw}
</div>
</div>
{{elseif \IPS\Request::i()->controller === 'done'}}
<div class='ipsPad_double ipsType_center'>
<div class='ipsInstaller__padding i-text-align_center'>
<h1 class='ipsType_pageTitle' id='elInstaller_welcome'>{lang="done_banner"}</h1>
<p class='ipsType_normal ipsType_light'>
<p class='i-color_soft'>
{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'>
<p>
{$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'>{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='https://ipbmafia.ru/files/file/1848-russkiy-yazyk-dlya-invision-community/' target="_blank" class='ipsButton ipsButton_large ipsButton_normal' style="background: red;">Russian lang pack</a>
<br><br>
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank" rel="noopener">{lang="suite_docs"}</a>
<div class="ipsButtons i-margin-top_5">
<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, '/' ) . '/admin'"}' class='ipsButton ipsButton--large ipsButton--secondary'>{lang="go_to_acp"}</a>
</div>
<div class="i-margin-top_3">
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank" rel="noopener">{lang="suite_docs"}</a>
</div>
</div>
{{else}}
<div class='ipsPad_double ipsType_center'>
<div class='ipsInstaller__padding i-text-align_center'>
<h1 class='ipsType_pageTitle' id='elInstaller_welcome'>{lang="start_banner"}</h1>
<p class='ipsType_normal ipsType_light'>
<p class='i-color_soft'>
{{if $initError}}
{$initError}
{{else}}
{lang="start_info"}
{{endif}}
</p>
{{if !$initError}}
<br><br>
<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" rel="noopener">{lang="install_docs"}</a>
<div class="ipsButtons i-margin-top_5">
<a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" class='ipsButton' target="_blank" rel="noopener">{lang="install_docs"}</a>
{{if !$initError}}
<a href='{url="&start=1"}' class='ipsButton ipsButton--primary'>{lang="start_upgrade"}</a>
{{endif}}
</div>
</div>
{{endif}}
<p style="text-align: right; margin:10px">Nulled by IPBMafia.ru</p>
</main>
</div>
</body>
+30 -23
View File
@@ -1,22 +1,30 @@
<ips:template parameters="$requirements, $designerMode" />
<ips:template parameters="$requirements, $incorrectFiles" />
{{$canProceed = TRUE;}}
<section>
{{if $designerMode}}
<h2 class="ipsType_sectionHead">{lang="hc_designers_mode"}</h2>
<ul class="ipsPad ipsType_large ipsList_checks">
<section class='ipsInstaller__padding'>
{{if $incorrectFiles !== NULL}}
{{if $incorrectFiles}}
{{$canProceed = FALSE;}}
<li class="fail inline">
{lang="hc_designers_enabled"}
</li>
<li class='ipsType_normal'>
<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>
<h2 class="ipsType_pageTitle i-margin-bottom_1">{lang="hc_files"}</h2>
<p>{lang="hc_files_fail"}</p>
<div class="i-margin-top_3 i-margin-bottom_3">
<a class="ipsButton ipsButton--primary" href='{url="client_area" ips="true"}' target="_blank" rel="noopener">{lang="hc_files_fail2"}</a>
</div>
<p>{lang="hc_files_fail3"}</p>
<ul class="i-margin-top_3 ipsList_checks">
{{foreach $incorrectFiles as $file}}
<li class="fail">{$file}</li>
{{endforeach}}
</ul>
{{else}}
<h2 class="ipsType_pageTitle i-margin-bottom_1">{lang="hc_files"}</h2>
<ul class="ipsList_checks">
<li class="success">{lang="hc_files_ok"}</li>
</ul>
{{endif}}
{{endif}}
{{foreach $requirements['requirements'] as $k => $_requirements}}
<h2 class="ipsType_sectionHead">{lang="hc_requirements" sprintf="$k"}</h2>
<ul class="ipsPad ipsType_large ipsList_checks">
<h2 class="ipsType_pageTitle i-margin-bottom_1">{lang="hc_requirements" sprintf="$k"}</h2>
<ul class="ipsList_checks">
{{foreach $_requirements as $item}}
{{if !$item['success']}}{{$canProceed = FALSE;}}{{endif}}
<li class="{{if $item['success']}}success{{else}}fail{{endif}}">{$item['message']}</li>
@@ -24,23 +32,22 @@
</ul>
{{endforeach}}
{{if isset( $requirements['advice'] ) and \count( $requirements['advice'] )}}
<h2 class="ipsType_sectionHead">{lang="hc_recommendations"}</h2>
<br><br>
<p class="ipsType_normal">{lang="hc_recommendations_info"}</p>
<ul class="ipsPad ipsType_large ipsList_checks">
<h2 class="ipsType_pageTitle i-margin-bottom_1">{lang="hc_recommendations"}</h2>
<p>{lang="hc_recommendations_info"}</p>
<ul class="ipsList_checks i-margin-top_2">
{{foreach $requirements['advice'] as $items}}
{{foreach $items as $key => $item}}
<li class="{{if $key === 'php'}}ipsMessage ipsMessage_warning{{else}}advisory{{endif}}">{$item}</li>
<li class="{{if $key === 'php'}}ipsMessage ipsMessage--warning{{else}}advisory{{endif}}">{$item}</li>
{{endforeach}}
{{endforeach}}
</ul>
{{endif}}
</section>
<div class='ipsPad_double ipsType_center'>
<div class='i-padding_4 i-text-align_center'>
{{if $canProceed}}
<a href='{url="controller=license&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="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'>{lang="hc_no_continue"}</a>
<a href='' class='ipsButton ipsButton--large ipsButton--primary ipsButton--disabled'>{lang="hc_no_continue"}</a>
{{endif}}
</div>
+2
View File
@@ -0,0 +1,2 @@
<ips:template parameters="$icon" />
<span class="ipsIcon ipsIcon--{$icon['type']}" data-label="{$icon['title']}" aria-hidden="true">{$icon['raw']|raw}</span>
+2 -2
View File
@@ -1,7 +1,7 @@
<ips:template parameters="$form, $active" />
<section>
<h2 class="ipsType_sectionHead">{lang="license"}</h2>
<ul class="ipsPad ipsType_large ipsList_checks">
<h2 class="ipsTitle ipsTitle--h3">{lang="license"}</h2>
<ul class="i-padding_3 i-font-size_2 ipsList_checks">
{{if $active === NULL}}
<li class="fail">{lang="lkey_not_providen"}</li>
<li>{$form|raw}</li>
+4 -3
View File
@@ -1,6 +1,7 @@
<ips:template parameters=" " />
<div class='ipsPad_double ipsType_center'>
<div class='ipsInstaller__padding i-text-align_center'>
<h1 class='ipsType_pageTitle' id='elInstaller_welcome'>{lang="install_ready"}</h1>
<br><br>
<a href='{url="controller=install"}' class='ipsButton ipsButton_large ipsButton_primary'>{lang="install_start"}</a>
<div class="ipsButtons i-margin-top_4">
<a href='{url="controller=install"}' class='ipsButton ipsButton--large ipsButton--primary'>{lang="install_start"}</a>
</div>
</div>
+2 -2
View File
@@ -1,7 +1,7 @@
<ips:template parameters="$table" />
<div class="ipsPadding:half">
<div class="ipsMessage ipsMessage_info">{lang="advise_removal_of_php8_incompatible_code"}</div>
<div class="i-padding_2">
<div class="ipsMessage ipsMessage--info">{lang="advise_removal_of_php8_incompatible_code"}</div>
<div>
{$table|raw}
</div>
+11 -11
View File
@@ -4,20 +4,20 @@
<head>
<meta charset="utf-8">
<title>{lang="redirecting"}</title>
<link rel='stylesheet' href='css/reset.css' media='all'>
<link rel='stylesheet' href='css/fonts.css' media='all'>
<link rel='stylesheet' href='css/global.css' media='all'>
<link rel='stylesheet' href='css/layout.css' media='all'>
<link rel='stylesheet' href='css/messages.css' media='all'>
<link rel='stylesheet' href='css/misc.css' media='all'>
<link rel='stylesheet' href='css/forms.css' media='all'>
<link rel='stylesheet' href='css/typography.css' media='all'>
<link rel='stylesheet' href='css/buttons.css' media='all'>
<link rel='stylesheet' href='css/installer.css' media='all'>
<link rel='stylesheet' href='../assets/css/reset.css' media='all'>
<link rel='stylesheet' href='../assets/fontawesome/css/all.min.css' media='all'>
<link rel='stylesheet' href='../assets/css/global.css' media='all'>
<link rel='stylesheet' href='../assets/css/layout.css' media='all'>
<link rel='stylesheet' href='../assets/css/messages.css' media='all'>
<link rel='stylesheet' href='../assets/css/misc.css' media='all'>
<link rel='stylesheet' href='../assets/css/forms.css' media='all'>
<link rel='stylesheet' href='../assets/css/typography.css' media='all'>
<link rel='stylesheet' href='../assets/css/buttons.css' media='all'>
<link rel='stylesheet' href='../assets/css/installer.css' media='all'>
<meta http-equiv="refresh" content="2; url={$url}" />
</head>
<body>
<p class="ipsMessage ipsMessage_info ipsRedirectMessage">
<p class="ipsMessage ipsMessage--info ipsRedirectMessage">
<strong>{lang="$message"}</strong><br />
<br />
{lang="redirecting_wait"}
@@ -1,7 +1,7 @@
<ips:template parameters="$json, $time" />
<section>
<h2 class="ipsType_sectionHead">{lang="upgrade_unfinished"}</h2>
<ul class="ipsPad ipsType_large ipsList_checks">
<h2 class="ipsTitle ipsTitle--h3">{lang="upgrade_unfinished"}</h2>
<ul class="i-padding_3 i-font-size_2 ipsList_checks">
<li class="advisory">{lang="unfinished_upgrade_info" sprintf="(string) \IPS\DateTime::ts($time)"}</li>
<li>
<strong>{lang="upgrade_applications"}</strong>
@@ -21,6 +21,6 @@
</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'>{lang="continue_upgrade"}</a>
<div class='i-padding_4 i-text-align_center'>
<a href='{url="controller=continueupgrade&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton--large ipsButton--primary ipsButton--positive'>{lang="continue_upgrade"}</a>
</div>
+12 -8
View File
@@ -1,8 +1,10 @@
<ips:template parameters="$exception, $showContinueUrl=false, $retryUrl=false" />
<div class='ipsMessage ipsMessage_error'>
<span class="ipsMessage_code">{$exception->getCode()}</span>
<div class='ipsMessage ipsMessage--error'>
<span class="ipsMessage--code">{$exception->getCode()}</span>
{$exception->getMessage()}
<br />
{$exception->getTraceAsString()|raw}
<br />
{{if $exception instanceof \IPS\Db\Exception}}
{{$trace = $exception->getTrace();}}
{{if $trace[2]['function'] == 'installDatabaseUpdates'}}
@@ -20,9 +22,11 @@
<small>{$exception->getFile()}::{$exception->getLine()}</small>
{{endif}}
</div>
{{if $retryUrl}}
<a href="$retryUrl" class='ipsButton' data-action="redirectContinue">{lang="retry"}</a>
{{endif}}
{{if $showContinueUrl}}
<a href="$showContinueUrl" class='ipsButton' data-action="redirectContinue">{lang="continue"}</a>
{{endif}}
<div class="ipsButtons">
{{if $retryUrl}}
<a href="$retryUrl" class='ipsButton' data-action="redirectContinue">{lang="retry"}</a>
{{endif}}
{{if $showContinueUrl}}
<a href="$showContinueUrl" class='ipsButton' data-action="redirectContinue">{lang="continue"}</a>
{{endif}}
</div>