Version 4.0.13.1
This commit is contained in:
1 parent
f9e857d255
commit
c6a86f0d9b
7517 files changed
+597400
-668041
No files matched your search
@@ -0,0 +1,11 @@
|
||||
<ips:template parameters="$apps" />
|
||||
<p class="ipsType_large">{lang="apps_will_be_disabled"}</p>
|
||||
<ul class="ipsPad ipsType_large 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>
|
||||
@@ -0,0 +1,25 @@
|
||||
<ips:template parameters="$html, $title=NULL" />
|
||||
<!DOCTYPE html>
|
||||
<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'>
|
||||
<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">
|
||||
{$html|raw}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,2 @@
|
||||
<ips:template parameters="$title, $content, $margins=TRUE" />
|
||||
{$content|raw}
|
||||
@@ -0,0 +1,7 @@
|
||||
<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>
|
||||
</div>
|
||||
<div class='ipsType_large'>
|
||||
{lang="upgrade_confirm"}
|
||||
</div>
|
||||
@@ -0,0 +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>
|
||||
</section>
|
||||
|
||||
<div class='ipsPad_double ipsType_center'>
|
||||
<a href='../convertutf8' class='ipsButton ipsButton_large ipsButton_primary'>Convert character set</a>
|
||||
</div>
|
||||
@@ -0,0 +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>
|
||||
{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>
|
||||
{{if $retryUrl}}
|
||||
<a href="$retryUrl" class='ipsButton'>Retry?</a>
|
||||
{{endif}}
|
||||
{{if $showContinueUrl}}
|
||||
<a href="$showContinueUrl" class='ipsButton'>Continue</a>
|
||||
{{endif}}
|
||||
@@ -0,0 +1,86 @@
|
||||
<ips:template parameters="$title,$html,$initError=FALSE,$path=null" />
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<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'>
|
||||
<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_installer'>
|
||||
|
||||
<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>
|
||||
</header>
|
||||
</div>
|
||||
<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'>
|
||||
<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'>
|
||||
<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}}
|
||||
<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> {$lang}
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</div>
|
||||
<div class='ipsColumn ipsColumn_fluid'>
|
||||
<div class='ipsPad'>
|
||||
{$html|raw}
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
<p class='ipsType_normal ipsType_light'>
|
||||
{lang="upgrade_complete"}
|
||||
</p>
|
||||
<br><br>
|
||||
<a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton_large ipsButton_primary'>Go to the suite</a>
|
||||
<br><br>
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/docs')"}" target="_blank">Suite Documentation</a>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class='ipsPad_double ipsType_center'>
|
||||
<h1 class='ipsType_pageTitle' id='elInstaller_welcome'>Welcome to IPS Community Suite 4</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.
|
||||
{{endif}}
|
||||
</p>
|
||||
{{if !$initError}}
|
||||
<br><br>
|
||||
<a href='{url="&start=1"}' class='ipsButton ipsButton_large ipsButton_primary'>Start Upgrade</a>
|
||||
{{endif}}
|
||||
<br><br>
|
||||
<a href="{expression="\IPS\Http\Url::ips('docs/install_guide')"}" target="_blank">Install Guide</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,44 @@
|
||||
<ips:template parameters="$requirements, $designerMode" />
|
||||
{{$canProceed = TRUE;}}
|
||||
<section>
|
||||
{{if $designerMode}}
|
||||
<h2 class="ipsType_sectionHead">Designers' Mode On</h2>
|
||||
<ul class="ipsPad ipsType_large ipsList_checks">
|
||||
{{$canProceed = FALSE;}}
|
||||
<li class="fail inline">
|
||||
Designers' Mode is currently 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 > Customization > Themes before disabling Designer's Mode.</div>
|
||||
</li>
|
||||
</ul>
|
||||
{{endif}}
|
||||
{{foreach $requirements['requirements'] as $k => $_requirements}}
|
||||
<h2 class="ipsType_sectionHead">{$k} Requirements</h2>
|
||||
<ul class="ipsPad ipsType_large ipsList_checks">
|
||||
{{foreach $_requirements as $item}}
|
||||
{{if !$item['success']}}{{$canProceed = FALSE;}}{{endif}}
|
||||
<li class="{{if $item['success']}}success{{else}}fail{{endif}}">{$item['message']}</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{endforeach}}
|
||||
{{if isset( $requirements['advice'] ) and count( $requirements['advice'] )}}
|
||||
<h2 class="ipsType_sectionHead">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>
|
||||
<ul class="ipsPad ipsType_large ipsList_checks">
|
||||
{{foreach $requirements['advice'] as $item}}
|
||||
<li class="advisory">{$item}</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</section>
|
||||
|
||||
<div class='ipsPad_double ipsType_center'>
|
||||
{{if $canProceed}}
|
||||
<a href='{url="controller=license&key={$_SESSION['uniqueKey']}"}' class='ipsButton ipsButton_large ipsButton_primary'>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>
|
||||
{{endif}}
|
||||
</div>
|
||||
Whitespace-only changes.
@@ -0,0 +1,12 @@
|
||||
<ips:template parameters="$form, $active" />
|
||||
<section>
|
||||
<h2 class="ipsType_sectionHead">License</h2>
|
||||
<ul class="ipsPad ipsType_large ipsList_checks">
|
||||
{{if $active === NULL}}
|
||||
<li class="fail">{lang="lkey_not_providen"}</li>
|
||||
<li>{$form|raw}</li>
|
||||
{{else}}
|
||||
<li class="fail">{lang="license_inactive"}</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
</section>
|
||||
@@ -0,0 +1,6 @@
|
||||
<ips:template parameters=" " />
|
||||
<div class='ipsPad_double ipsType_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>
|
||||
@@ -0,0 +1,17 @@
|
||||
<ips:template parameters="$url, $continue_mr=0" />
|
||||
<div class="ipsMultipleRedirect" data-url="{$url}" data-continue="{$continue_mr|raw}">
|
||||
<noscript>
|
||||
<a href='{$url->setQueryString( 'mr', $continue_mr )}' class="button">{lang="start"}</a>
|
||||
</noscript>
|
||||
<div class="no_js_hide">
|
||||
<div class="ipsRedirect ipsRedirect_loading">
|
||||
<img src="img/loading.gif" alt="" />
|
||||
</div>
|
||||
<div class="ipsRedirect_progress">
|
||||
<div class="ipsProgressBar ipsProgressBar_animated">
|
||||
<div class="ipsProgressBar_progress"></div>
|
||||
</div>
|
||||
</div>
|
||||
<span class='ipsRedirect_message'></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,26 @@
|
||||
<ips:template parameters="$url, $message" />
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<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'>
|
||||
<meta http-equiv="refresh" content="2; url={$url}" />
|
||||
</head>
|
||||
<body>
|
||||
<p class="ipsMessage ipsMessage_info ipsRedirectMessage">
|
||||
<strong>{lang="$message"}</strong><br />
|
||||
<br />
|
||||
{lang="redirecting_wait"}
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,27 @@
|
||||
<ips:template parameters="$json, $time" />
|
||||
<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>
|
||||
<strong>{lang="upgrade_applications"}</strong>
|
||||
<ul>
|
||||
{{foreach( $json['session']['apps'] ) as $app}}
|
||||
<li>{expression="ucfirst( $app )"}</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<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}}
|
||||
</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>
|
||||
</div>
|
||||
@@ -0,0 +1,28 @@
|
||||
<ips:template parameters="$exception, $showContinueUrl=false, $retryUrl=false" />
|
||||
<div class='ipsMessage ipsMessage_error'>
|
||||
<span class="ipsMessage_code">{$exception->getCode()}</span>
|
||||
{$exception->getMessage()}
|
||||
<br />
|
||||
{{if $exception instanceof \IPS\Db\Exception}}
|
||||
{{$trace = $exception->getTrace();}}
|
||||
{{if $trace[3]['function'] == 'installDatabaseUpdates'}}
|
||||
<small>
|
||||
{expression="\IPS\ROOT_PATH"}/applications/{$trace[4]['args'][0][1]}/setup/upg_{$trace[3]['args'][0]}/queries.json{{if isset($_SESSION['lastJsonIndex'])}} - query #{$_SESSION['lastJsonIndex']}{{endif}}<br>
|
||||
<pre>{$exception->query}</pre>
|
||||
</small>
|
||||
{{else}}
|
||||
<small>
|
||||
{$trace[1]['file']}::{$trace[1]['line']}<br>
|
||||
<pre>{$exception->query}</pre>
|
||||
</small>
|
||||
{{endif}}
|
||||
{{else}}
|
||||
<small>{$exception->getFile()}::{$exception->getLine()}</small>
|
||||
{{endif}}
|
||||
</div>
|
||||
{{if $retryUrl}}
|
||||
<a href="$retryUrl" class='ipsButton'>Retry?</a>
|
||||
{{endif}}
|
||||
{{if $showContinueUrl}}
|
||||
<a href="$showContinueUrl" class='ipsButton'>Continue</a>
|
||||
{{endif}}
|
||||
Reference in new issue
Block a user