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,22 @@
|
||||
<ips:template parameters="$apps, $selected" />
|
||||
<ul class='ipsField_fieldList'>
|
||||
{{foreach $apps as $key => $data}}
|
||||
<li>
|
||||
<input type="checkbox" id='app_{$key}' name="apps[{$key}]" {{if $data['force'] or in_array( $key, $selected )}}checked{{endif}} {{if $data['force'] or $data['disabled']}}disabled{{endif}} value='1'>
|
||||
<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>
|
||||
<dd>{$data['current']}</dd>
|
||||
<dt>Available Version</dt>
|
||||
<dd>{$data['available']}</dd>
|
||||
</dl>
|
||||
{{if !empty( $data['errors'] )}}
|
||||
<p class="ipsMessage ipsMessage_error">
|
||||
{expression="implode( '<br />', $data['errors'] )" raw="true"}
|
||||
</p>
|
||||
{{endif}}
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
@@ -0,0 +1,6 @@
|
||||
<ips:template parameters="$lang, $type, $href=NULL, $class='', $attributes=array()" />
|
||||
{{if $type === 'link'}}
|
||||
<a href="{$href}" class='ipsButton ipsButton_link {{if $class}}{$class}{{endif}}' {{if $attributes}}{{foreach $attributes as $key => $value}}{$key}="{$value}"{{endforeach}}{{endif}} role="button">{lang="$lang"}</a>
|
||||
{{else}}
|
||||
<button type="{$type}" class="{{if $class}}{$class}{{endif}}" {{if $attributes}}{{foreach $attributes as $key => $value}}{$key}="{$value}"{{endforeach}}{{endif}} role="button">{lang="$lang"}</button>
|
||||
{{endif}}
|
||||
@@ -0,0 +1,14 @@
|
||||
<ips:template parameters="$name, $value=FALSE, $disabled=FALSE, $toggles=array(), $toggleOn=TRUE, $label='', $hiddenName=''" />
|
||||
<input type="hidden" name="{$hiddenName}" value="0" />
|
||||
<label>
|
||||
<input
|
||||
type='checkbox'
|
||||
name='{$name}'
|
||||
value='1'
|
||||
{{if $value}}checked{{endif}}
|
||||
{{if $disabled}}disabled{{endif}}
|
||||
{{if !empty($toggles)}} data-control="toggle" data-toggles="{expression="implode( ',', $toggles )"}"{{endif}}
|
||||
{{if $toggleOn === FALSE}}data-togglereverse="true"{{endif}}
|
||||
/>
|
||||
{lang="$label"}
|
||||
</label>
|
||||
@@ -0,0 +1,4 @@
|
||||
<ips:template parameters="$lang, $id=NULL" />
|
||||
<li {{if $id !== NULL}} id="{$id}"{{endif}}>
|
||||
<h2 class='ipsFieldRow_section'>{lang="$lang"}</h2>
|
||||
</li>
|
||||
Whitespace-only changes.
@@ -0,0 +1,30 @@
|
||||
<ips:template parameters="$forms, $error" />
|
||||
|
||||
{{if $error !== NULL}}
|
||||
<div class='ipsMessage ipsMessage_error'>
|
||||
{lang="$error"}
|
||||
</div>
|
||||
<br>
|
||||
{{endif}}
|
||||
|
||||
<div class='ipsColumns ipsColumns_collapsePhone'>
|
||||
<div class='ipsColumn ipsColumn_fluid ipsPad'>
|
||||
{{foreach $forms as $k => $form}}
|
||||
{{if $k === '_standard'}}
|
||||
{$form|raw}
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
</div>
|
||||
{{if count ( $forms ) > 1}}
|
||||
<div class='ipsColumn ipsColumn_veryWide ipsPad'>
|
||||
<h2 class='ipsType_sectionHead'>{lang='sign_in_faster'}</h2>
|
||||
<p class='ipsType_normal ipsType_reset ipsType_light'>{lang='sign_in_connect'}</p>
|
||||
<br>
|
||||
{{foreach $forms as $k => $form}}
|
||||
{{if $k !== '_standard'}}
|
||||
{$form|raw}
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<ips:template parameters="" />
|
||||
<p class='ipsMessage ipsMessage_error'>There are no applications available to upgrade</p>
|
||||
<div class='ipsPad_double ipsType_center'>
|
||||
<a href='../../' class='ipsButton ipsButton_large ipsButton_primary'>Exit upgrader</a>
|
||||
</div>
|
||||
@@ -0,0 +1,30 @@
|
||||
<ips:template parameters="$name, $value, $required, $unlimited, $range, $min, $max, $step, $decimals, $unlimitedLang, $disabled=FALSE, $suffix, $toggles" />
|
||||
<input
|
||||
type="{{if $range}}range{{else}}number{{endif}}"
|
||||
name="{$name}"
|
||||
size="5"
|
||||
{{if $required === TRUE}}required{{endif}}
|
||||
{{if $unlimited !== NULL and $value === $unlimited}}
|
||||
value=""
|
||||
data-jsdisable="true"
|
||||
{{else}}
|
||||
value="{$value}"
|
||||
{{endif}}
|
||||
{{if $min !== NULL}}
|
||||
min="{$min}"
|
||||
{{endif}}
|
||||
{{if $max !== NULL}}
|
||||
max="{$max}"
|
||||
{{endif}}
|
||||
{{if $step !== NULL}}
|
||||
step="{$step}"
|
||||
{{endif}}
|
||||
{{if $disabled}}disabled{{endif}}
|
||||
>
|
||||
{$suffix}
|
||||
{{if $unlimited !== NULL}}
|
||||
|
||||
{lang="or"}
|
||||
|
||||
<label><input type="checkbox" data-control="unlimited" name="{expression="preg_replace( '/\[(.+?)\]/', '[$1_unlimited]', $name, 1 )"}" value="{$unlimited}" {{if $unlimited === $value}}checked{{endif}} {{if $disabled}}disabled{{endif}} data-control="toggle" data-toggles="{expression="implode( ',', $toggles )"}" /> {lang="$unlimitedLang"}</label>
|
||||
{{endif}}
|
||||
@@ -0,0 +1,12 @@
|
||||
<ips:template parameters="$queries, $url, $message=NULL" />
|
||||
<h1 class='ipsType_veryLarge'>{lang="manual_query_header"}</h1>
|
||||
<hr class='ipsHr'>
|
||||
<p class="ipsType_normal">{lang="manual_query_instructions"}</p>
|
||||
{{foreach $queries as $query}}
|
||||
<pre class="ipsCode prettyprint lang-sql">{$query}{{if mb_substr( $query, -1 ) != ';'}};{{endif}}</pre>
|
||||
{{endforeach}}
|
||||
<div class="ipsAreaBackground ipsPad ipsType_center">
|
||||
<a href="{$url->setQueryString( array( 'key' => $_SESSION['uniqueKey'], 'mr_continue' => NULL, 'run_anyway' => 1, 'mr' => \IPS\Request::i()->mr ) )}" data-action="redirectContinue" class="ipsButton ipsButton_primary">{lang="manual_query_auto"}</a>
|
||||
{lang="or"}
|
||||
<a href="{$url}" data-action="redirectContinue" class="ipsButton ipsButton_primary">{lang="manual_query_manual"}</a>
|
||||
</div>
|
||||
@@ -0,0 +1,32 @@
|
||||
<ips:template parameters="$name, $value, $required, $options, $disabled=FALSE, $toggles=array(), $descriptions=array(), $userSuppliedInput='', $unlimited=NULL, $unlimitedLang=NULL" />
|
||||
{{if $unlimited !== NULL}}
|
||||
<ul class="ipsField_fieldList" role="radiogroup">
|
||||
<li>
|
||||
<input type="checkbox" name="{$name}" value="{$unlimited}" id='elRadio_{$name}_{unlimited}' data-control="toggle" data-togglesOff="elRadio_{$name}" {{if $value === $unlimited}}checked{{endif}} />
|
||||
<div class='ipsField_fieldList_content'>
|
||||
<label for='elRadio_{$name}_{unlimited}'>
|
||||
{lang="$unlimitedLang"}
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
{{endif}}
|
||||
<ul class="ipsField_fieldList" role="radiogroup" id="elRadio_{$name}">
|
||||
{{foreach $options as $k => $v}}
|
||||
<li>
|
||||
<input type="radio" name="{$name}" value="{$k}" {{if (string) $value == (string) $k or ( isset( $userSuppliedInput ) and !in_array( $value, array_keys( $options ) ) and $k == $userSuppliedInput )}}checked{{endif}} {{if $required === TRUE}}required{{endif}} {{if $disabled === TRUE or ( is_array( $disabled ) and in_array( $k, $disabled ) )}}disabled{{endif}} {{if isset( $toggles[ $k ] ) and !empty( $toggles[ $k ] )}}data-control="toggle" data-toggles="{expression="implode( ',', $toggles[ $k ] )"}"{{endif}} id="elRadio_{$name}_{$k}" />
|
||||
<div class='ipsField_fieldList_content'>
|
||||
<label for='elRadio_{$name}_{$k}' id='elField_{$name}_label'>{$v|raw}</label>
|
||||
{{if !empty( $userSuppliedInput ) AND $userSuppliedInput == $k}}
|
||||
<input type='text' name='{$userSuppliedInput}_{$name}' value="{{if !in_array( $value, array_keys( $options ) )}}{$value}{{endif}}" id='{$userSuppliedInput}_{expression="preg_replace('/[^a-zA-Z0-9\-_]/', '_', $name)"}'>
|
||||
{{endif}}
|
||||
{{if isset( $descriptions[ $k ] )}}
|
||||
<br>
|
||||
<span class='ipsFieldRow_desc'>
|
||||
{$descriptions[ $k ]|raw}
|
||||
</span>
|
||||
{{endif}}
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
@@ -0,0 +1,19 @@
|
||||
<ips:template parameters="$langKey, $element, $desc, $warning, $required, $error, $prefix, $suffix, $id" />
|
||||
<li {{if $id !== NULL}}id="{$id}"{{endif}} class='ipsFieldRow'>
|
||||
<label class='ipsFieldRow_label {{if $error}}error{{endif}}'>
|
||||
{lang="$langKey"} {{if $required}}<span class='ipsFieldRow_required'>{lang="required"}</span>{{endif}}
|
||||
</label>
|
||||
<div class='ipsFieldRow_content'>
|
||||
{$prefix|raw}
|
||||
{$element|raw}
|
||||
{$suffix|raw}
|
||||
{$desc|raw}
|
||||
{$warning|raw}
|
||||
<br />
|
||||
{{if $error}}
|
||||
<span class='ipsType_warning'>{lang="$error"}</span>
|
||||
{{else:}}
|
||||
<span class='ipsType_warning'></span>
|
||||
{{endif}}
|
||||
</div>
|
||||
</li>
|
||||
@@ -0,0 +1,5 @@
|
||||
<ips:template parameters="$label, $element, $required=FALSE, $error=NULL, $prefix=NULL, $suffix=NULL, $id=NULL, $object=NULL, $form=NULL" />
|
||||
<br>
|
||||
<span class='ipsFieldRow_desc'>
|
||||
%s
|
||||
</span>
|
||||
@@ -0,0 +1,5 @@
|
||||
<ips:template parameters="$label, $element, $required=FALSE, $error=NULL, $prefix=NULL, $suffix=NULL, $id=NULL, $object=NULL, $form=NULL" />
|
||||
<div {{if $id !== NULL}}id="{$id}_warning"{{endif}}>
|
||||
<br>
|
||||
<p class='ipsMessage ipsMessage_warning'>%s</p>
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
<ips:template parameters="$name, $value, $required, $options" />
|
||||
<select name="{$name}" id="{$name}">
|
||||
{{foreach $options as $k => $v}}
|
||||
<option value='{$k}' {{if $value == $k}}selected{{endif}}>{$v|raw}</option>
|
||||
{{endforeach}}
|
||||
</select>
|
||||
@@ -0,0 +1,30 @@
|
||||
<ips:template parameters="$id, $action, $tabs, $activeTab, $error, $errorTabs, $hiddenValues, $actionButtons, $uploadField, $sidebar, $tabClasses=array(), $formClass='', $attributes=array(), $tabArray=array(), $usingIcons=FALSE" />
|
||||
<form action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}}>
|
||||
<input type="hidden" name="{$id}_submitted" value="1">
|
||||
{{foreach $hiddenValues as $k => $v}}
|
||||
{{if is_array( $v )}}
|
||||
{{foreach $v as $_k => $_v}}
|
||||
<input type="hidden" name="{$k}[{$_k}]" value="{$_v}">
|
||||
{{endforeach}}
|
||||
{{else}}
|
||||
<input type="hidden" name="{$k}" value="{$v}">
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
{{if $uploadField}}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( uniqid() )"}">
|
||||
{{endif}}
|
||||
{{if $error}}
|
||||
<div class="ipsMessage ipsMessage_error">
|
||||
{$error}
|
||||
</div>
|
||||
{{endif}}
|
||||
<ul class='ipsForm ipsForm_vertical'>
|
||||
{expression="array_pop( $tabs )" raw="true"}
|
||||
<li class='ipsFieldRow'>
|
||||
<div class='ipsFieldRow_content'>
|
||||
{expression="implode( '', $actionButtons)" raw="true"}
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
@@ -0,0 +1,37 @@
|
||||
<ips:template parameters="$name, $type, $value, $required, $maxlength=NULL, $size=NULL, $disabled=FALSE, $autoComplete=NULL, $placeholder" />
|
||||
<input
|
||||
type="{$type}"
|
||||
name="{$name}"
|
||||
value="{$value}"
|
||||
{{if $required === TRUE}}required{{endif}}
|
||||
{{if $maxlength !== NULL}}maxlength="{$maxlength}"{{endif}}
|
||||
{{if $size !== NULL}}size="{$size}"{{endif}}
|
||||
{{if $disabled}}disabled{{endif}}
|
||||
class="input_text"
|
||||
{{if $autoComplete !== NULL}}
|
||||
data-ipsAutocomplete
|
||||
{{if $autoComplete['maxItems']}}
|
||||
data-ipsAutocomplete-maxItems='{$autoComplete['maxItems']}'
|
||||
{{endif}}
|
||||
{{if $autoComplete['unique']}}
|
||||
data-ipsAutocomplete-unique
|
||||
{{endif}}
|
||||
{{if is_array( $autoComplete['source'] )}}
|
||||
list='{$name}_datalist'
|
||||
{{elseif $autoComplete['source']}}
|
||||
data-ipsAutocomplete-dataSource="{url="{$autoComplete['source']}"}"
|
||||
data-ipsAutocomplete-queryParam='input'
|
||||
{{endif}}
|
||||
{{if $autoComplete['resultItemTemplate']}}
|
||||
data-ipsAutocomplete-resultItemTemplate="{$autoComplete['resultItemTemplate']}"
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if $placeholder !== NULL}}placeholder='{$placeholder}'{{endif}}
|
||||
/>
|
||||
{{if is_array( $autoComplete )}}
|
||||
<datalist id="{$name}_datalist">
|
||||
{{foreach $autoComplete as $v}}
|
||||
<option value="$v">{$v}</option>
|
||||
{{endforeach}}
|
||||
</datalist>
|
||||
{{endif}}
|
||||
@@ -0,0 +1,39 @@
|
||||
<ips:template parameters="$name, $value='', $required, $maxlength=NULL, $disabled=FALSE, $class='', $placeholder='', $nullLang=NULL, $tags=array()" />
|
||||
{{if !empty( $tags )}}
|
||||
<div class='ipsColumns ipsColumns_collapseTablet' data-controller='core.global.editor.customtags' data-tagFieldType='text' data-tagFieldID='{$name}'>
|
||||
<div class='ipsColumn_fluid ipsColumn'>
|
||||
<div data-role="editor">
|
||||
{{endif}}
|
||||
<textarea
|
||||
name="{$name}"
|
||||
id='{expression="preg_replace('/[^a-zA-Z0-9\-_]/', '_', $name)"}'
|
||||
value="{$value}"
|
||||
class="ipsField_fullWidth {$class}"
|
||||
{{if $maxlength !== NULL}}maxlength="{$maxlength}"{{endif}}
|
||||
{{if $required === TRUE}}required aria-required='true'{{endif}}
|
||||
{{if $disabled}}disabled aria-disabled='true'{{endif}}
|
||||
{{if $placeholder}}placeholder="{$placeholder}"{{endif}}
|
||||
>{$value}</textarea>
|
||||
{{if !empty( $tags )}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if $nullLang}}
|
||||
{lang="or"} <input type="checkbox" role='checkbox' data-control="unlimited" name="{$name}_null" id="{$name}_null" value="1" {{if $value === NULL}}checked aria-checked='true'{{endif}} {{if $disabled}}disabled{{endif}} aria-controls='{$name}' aria-labelledby='{$name}_null_label'> <label for='{$name}_null' id='{$name}_null_label'>{lang="$nullLang"}</label>
|
||||
{{endif}}
|
||||
{{if !empty( $tags )}}
|
||||
</div>
|
||||
<div class='ipsColumn_medium ipsColumn ipsAreaBackground_light ipsComposeArea_sidebar {{if !isset( \IPS\Request::i()->cookie['tagSidebar'] )}}ipsComposeArea_sidebarOpen{{else}}ipsComposeArea_sidebarClosed{{endif}}'>
|
||||
<a href='#' class="ipsJS_show" data-action='tagsToggle' data-ipsTooltip data-ipsTooltip-label="{lang="toggle_sidebar"}">{lang="toggle_sidebar"}</a>
|
||||
<h3 class='ipsAreaBackground ipsPad_half ipsType_reset' data-role='tagsHeader'>{lang="editor_tags"}</h3>
|
||||
<ul class='ipsList_reset ipsScrollbar' data-role='tagsList'>
|
||||
{{foreach $tags as $tagKey => $tagValue }}
|
||||
<li class='ipsPad_half'>
|
||||
<label class="ipsJS_show" data-tagKey="{$tagKey}">{$tagKey}</label>
|
||||
<div class='ipsJS_hide ipsType_light'><strong>{$tagKey}</strong></div>
|
||||
<div class='ipsType_light ipsType_small'>{$tagValue}</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}
|
||||
@@ -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}}
|
||||
Whitespace-only changes.
@@ -0,0 +1,6 @@
|
||||
<ips:template parameters="$url" />
|
||||
|
||||
<a href='{$url}' class='ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_facebook'>
|
||||
<span class='ipsSocial_icon'><i class='fa fa-facebook'></i></span>
|
||||
<span class='ipsSocial_text'>{lang="login_facebook"}</span>
|
||||
</a>
|
||||
@@ -0,0 +1,5 @@
|
||||
<ips:template parameters="$url" />
|
||||
<a href='{$url}' class='ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_google'>
|
||||
<span class='ipsSocial_icon'><i class='fa fa-google-plus'></i></span>
|
||||
<span class='ipsSocial_text'>{lang="login_google"}</span>
|
||||
</a>
|
||||
Whitespace-only changes.
@@ -0,0 +1,5 @@
|
||||
<ips:template parameters="$url" />
|
||||
<a href='{$url}' class='ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_linkedIn'>
|
||||
<span class='ipsSocial_icon'><i class='fa fa-linkedin'></i></span>
|
||||
<span class='ipsSocial_text'>{lang="login_linkedin"}</span>
|
||||
</a>
|
||||
@@ -0,0 +1,6 @@
|
||||
<ips:template parameters="$url" />
|
||||
|
||||
<a href='{$url}' class='ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_microsoft'>
|
||||
<span class='ipsSocial_icon'><i class='fa fa-windows'></i></span>
|
||||
<span class='ipsSocial_text'>{lang="login_live"}</span>
|
||||
</a>
|
||||
@@ -0,0 +1,5 @@
|
||||
<ips:template parameters="$url" />
|
||||
<a href='{expression="str_replace( '&', '&', $url )"}' class='ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_twitter'>
|
||||
<span class='ipsSocial_icon'><i class='fa fa-twitter'></i></span>
|
||||
<span class='ipsSocial_text'>{lang="login_twitter"}</span>
|
||||
</a>
|
||||
Reference in new issue
Block a user