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

+1 -1
View File
@@ -1,6 +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>
<a href="{$href}" class='ipsButton ipsButton--text {{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}}
+6 -10
View File
@@ -22,27 +22,23 @@
</div>
{{endif}}
<div data-role="checkboxsetGranular" class="{{if $unlimited !== NULL and !\is_array( $value )}}ipsJS_hide{{endif}}">
<ul class="ipsField_fieldList">
<ul class="ipsFieldList">
{{foreach $options as $k => $v}}
<li>
<span class='ipsCustomInput'>
<input type="checkbox" {{if $class}}class="{$class}"{{endif}} name="{$name}[{$k}]" value="1" {{if ( $unlimited !== NULL AND $unlimited === $value ) or ( \is_array( $value ) AND \in_array( $k, $value ) )}}checked{{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" {{if $toggleOn === FALSE}}data-togglesOff{{else}}data-togglesOn{{endif}}="{expression="implode( ',', $toggles[ $k ] )"}"{{endif}} id="elCheckbox_{$name}_{$k}">
<span></span>
</span>
<div class='ipsField_fieldList_content'>
<input type="checkbox" class="ipsInputToggle {{if $class}}{$class}{{endif}}" name="{$name}[{$k}]" value="1" {{if ( $unlimited !== NULL AND $unlimited === $value ) or ( \is_array( $value ) AND \in_array( $k, $value ) )}}checked{{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" {{if $toggleOn === FALSE}}data-togglesOff{{else}}data-togglesOn{{endif}}="{expression="implode( ',', $toggles[ $k ] )"}"{{endif}} id="elCheckbox_{$name}_{$k}">
<div class='ipsFieldList__content'>
<label for='elCheckbox_{$name}_{$k}' id='elField_{$name}_label'>{$v|raw}</label>
{{if isset( $descriptions[ $k ] )}}
<br>
<span class='ipsFieldRow_desc'>
<div class='ipsFieldRow__desc'>
{$descriptions[ $k ]|raw}
</span>
</div>
{{endif}}
</div>
</li>
{{endforeach}}
</ul>
{{if $unlimited !== NULL}}
<div class="ipsSpacer_top ipsSpacer_half">
<div class="i-margin-top_1">
{lang="or"}
&nbsp;
<a class="ipsCursor_pointer" data-action="checkboxsetAll">{lang="all"}</a> / <a class="ipsCursor_pointer" data-action="checkboxsetNone">{lang="none"}</a>
+2 -2
View File
@@ -1,4 +1,4 @@
<ips:template parameters="$lang, $id=NULL" />
<li {{if $id !== NULL}} id="{$id}"{{endif}}>
<h2 class='ipsFieldRow_section'>{lang="$lang"}</h2>
<li {{if $id !== NULL}} id="{$id}"{{endif}} class='ipsFieldRow__section'>
<h2>{lang="$lang"}</h2>
</li>
+18 -20
View File
@@ -1,36 +1,34 @@
<ips:template parameters="$error" />
{{if $error !== NULL}}
<div class='ipsMessage ipsMessage_error'>
{lang="$error"}
</div>
<div class='ipsMessage ipsMessage--error ipsMessage--form'>
{lang="$error"}
</div>
{{endif}}
<form method="post">
<input type="hidden" name="login_submitted" value="1">
<ul class='ipsForm ipsForm_vertical'>
<li class="ipsFieldRow ipsClearfix">
<label class="ipsFieldRow_label" for="auth">
{lang="auth"}
<span class="ipsFieldRow_required">{lang="required"}</span>
<ul class='ipsForm ipsForm--vertical ipsForm--admin-upgrade'>
<li class="ipsFieldRow">
<label class="ipsFieldRow__label" for="auth">
{lang="email_address"}
<span class="ipsFieldRow__required">{lang="required"}</span>
</label>
<div class="ipsFieldRow_content">
<input type="text" placeholder="{lang="auth"}" name="auth" id="auth" {{if isset( \IPS\Request::i()->auth )}}value="{request="auth"}"{{endif}}>
<div class="ipsFieldRow__content">
<input type="email" placeholder="{lang="email_address"}" name="auth" id="auth" {{if isset( \IPS\Request::i()->auth )}}value="{request="auth"}"{{endif}} style="width:100%">
</div>
</li>
<li class="ipsFieldRow ipsClearfix">
<label class="ipsFieldRow_label" for="password">
<li class="ipsFieldRow">
<label class="ipsFieldRow__label" for="password">
{lang="password"}
<span class="ipsFieldRow_required">{lang="required"}</span>
<span class="ipsFieldRow__required">{lang="required"}</span>
</label>
<div class="ipsFieldRow_content">
<input type="password" placeholder="{lang="password"}" name="password" id="password" {{if isset( \IPS\Request::i()->password )}}value="{request="password"}"{{endif}}>
<div class="ipsFieldRow__content">
<input type="password" placeholder="{lang="password"}" name="password" id="password" {{if isset( \IPS\Request::i()->password )}}value="{request="password"}"{{endif}} style="width:100%">
</div>
</li>
<li class=''>
<button type='submit' class='ipsButton ipsButton_primary ipsButton_medium'>{lang="login"}</button>
&nbsp;&nbsp;&nbsp;
<a href="{url="upgrader_login_help" ips="true"}" target="_blank" rel="noopener" class="ipsType_blendLinks">{lang="help"}</a>
<li class='ipsSubmitRow'>
<a href="{url="upgrader_login_help" ips="true"}" target="_blank" rel="noopener" class="ipsButton">{lang="help"}</a>
<button type='submit' class='ipsButton ipsButton--primary'>{lang="login"}</button>
</li>
</ul>
</form>
@@ -0,0 +1,5 @@
<ips:template parameters="" />
<p class='ipsMessage ipsMessage--error'>{lang="ips_too_old"}</p>
<div class='i-padding_4 i-text-align_center'>
<a href='../../' class='ipsButton ipsButton--large ipsButton--primary'>{lang="exit_upgrader"}</a>
</div>
+3 -3
View File
@@ -1,5 +1,5 @@
<ips:template parameters="" />
<p class='ipsMessage ipsMessage_error'>{lang="no_apps_upgrade"}</p>
<div class='ipsPad_double ipsType_center'>
<a href='../../' class='ipsButton ipsButton_large ipsButton_primary'>{lang="exit_upgrader"}</a>
<p class='ipsMessage ipsMessage--error'>{lang="no_apps_upgrade"}</p>
<div class='i-padding_4 i-text-align_center'>
<a href='../../' class='ipsButton ipsButton--large ipsButton--primary'>{lang="exit_upgrader"}</a>
</div>
+4 -4
View File
@@ -23,8 +23,8 @@
>
{$suffix}
{{if $unlimited !== NULL}}
&nbsp;
{lang="or"}
&nbsp;
<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>
<div class="ipsFieldRow__inlineCheckbox">
{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>
</div>
{{endif}}
+4 -4
View File
@@ -1,12 +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>
<p>{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' => 1 ) )}" data-action="redirectContinue" class="ipsButton ipsButton_primary">{lang="manual_query_auto"}</a>
<div class="i-background_3 i-padding_3 i-text-align_center">
<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>
<a href="{$url}" data-action="redirectContinue" class="ipsButton ipsButton--primary">{lang="manual_query_manual"}</a>
</div>
+4 -4
View File
@@ -1,9 +1,9 @@
<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">
<ul class="ipsFieldList" 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'>
<div class='ipsFieldList__content'>
<label for='elRadio_{$name}_{unlimited}'>
{lang="$unlimitedLang"}
</label>
@@ -11,11 +11,11 @@
</li>
</ul>
{{endif}}
<ul class="ipsField_fieldList" role="radiogroup" id="elRadio_{$name}">
<ul class="ipsFieldList" 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'>
<div class='ipsFieldList__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)"}'>
+5 -5
View File
@@ -1,9 +1,9 @@
<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 class='ipsFieldRow__label {{if $error}}error{{endif}}'>
{lang="$langKey"} {{if $required}}<span class='ipsFieldRow__required'>{lang="required"}</span>{{endif}}
</label>
<div class='ipsFieldRow_content'>
<div class='ipsFieldRow__content'>
{$prefix|raw}
{$element|raw}
{$suffix|raw}
@@ -11,9 +11,9 @@
{$warning|raw}
<br />
{{if $error}}
<span class='ipsType_warning'>{lang="$error"}</span>
<span class='i-color_warning'>{lang="$error"}</span>
{{else:}}
<span class='ipsType_warning'></span>
<span class='i-color_warning'></span>
{{endif}}
</div>
</li>
+1 -4
View File
@@ -1,5 +1,2 @@
<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>
<div class='ipsFieldRow__desc'>%s</div>
+1 -2
View File
@@ -1,5 +1,4 @@
<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>
<p class='ipsMessage ipsMessage--warning'>%s</p>
</div>
+3 -3
View File
@@ -15,14 +15,14 @@
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
{{endif}}
{{if $error}}
<div class="ipsMessage ipsMessage_error">
<div class="ipsMessage ipsMessage--error ipsMessage--form">
{$error}
</div>
{{endif}}
<ul class='ipsForm ipsForm_vertical'>
<ul class='ipsForm ipsForm--admin-upgrade ipsForm--vertical'>
{expression="array_pop( $tabs )" raw="true"}
<li class='ipsFieldRow'>
<div class='ipsFieldRow_content'>
<div class='ipsFieldRow__content'>
{expression="implode( '', $actionButtons)" raw="true"}
</div>
</li>
+14 -11
View File
@@ -1,14 +1,14 @@
<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 class='ipsColumns' data-controller='core.global.editor.customtags' data-tagFieldType='text' data-tagFieldID='{$name}'>
<div class='ipsColumns__primary'>
<div data-role="editor">
{{endif}}
<textarea
name="{$name}"
id='{expression="preg_replace('/[^a-zA-Z0-9\-_]/', '_', $name)"}'
value="{$value}"
class="ipsField_fullWidth {$class}"
class="ipsInput--fullWidth {$class}"
{{if $maxlength !== NULL}}maxlength="{$maxlength}"{{endif}}
{{if $required === TRUE}}required aria-required='true'{{endif}}
{{if $disabled}}disabled aria-disabled='true'{{endif}}
@@ -18,19 +18,22 @@
</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>
<div class="ipsFieldRow__inlineCheckbox">
{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>
</div>
{{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'>
<div class='ipsColumns__secondary ipsComposeArea_sidebar'>
<h3 class='i-background_3 i-padding_2 ipsTitle ipsTitle--h4' data-role='tagsHeader'>{lang="editor_tags"}</h3>
<ul class='ipsScrollbar' data-role='tagsList'>
{{foreach $tags as $tagKey => $tagValue }}
<li class='ipsPad_half'>
<li class='i-padding_2'>
<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>
<div class='ipsJS_hide i-color_soft'><strong>{$tagKey}</strong></div>
<div class='i-color_soft i-font-size_-1'>{$tagValue}</div>
</li>
{{endforeach}}
</ul>
+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>
+3 -4
View File
@@ -1,6 +1,5 @@
<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 href='{$url}' class='ipsSocial ipsSocial--facebook'>
<span class='ipsSocial__icon'><i class='fa-brands fa-facebook'></i></span>
<span class='ipsSocial__text'>{lang="login_facebook"}</span>
</a>
+3 -3
View File
@@ -1,5 +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 href='{$url}' class='ipsSocial ipsSocial--google'>
<span class='ipsSocial__icon'><i class='fa-brands fa-google-plus-g'></i></span>
<span class='ipsSocial__text'>{lang="login_google"}</span>
</a>
+3 -3
View File
@@ -1,5 +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 href='{$url}' class='ipsSocial ipsSocial--linkedIn'>
<span class='ipsSocial__icon'><i class='fa-brands fa-linkedin'></i></span>
<span class='ipsSocial__text'>{lang="login_linkedin"}</span>
</a>
+3 -4
View File
@@ -1,6 +1,5 @@
<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 href='{$url}' class='ipsSocial ipsSocial--microsoft'>
<span class='ipsSocial__icon'><i class='fa-brands fa-windows'></i></span>
<span class='ipsSocial__text'>{lang="login_live"}</span>
</a>
+3 -3
View File
@@ -1,5 +1,5 @@
<ips:template parameters="$url" />
<a href='{expression="str_replace( '&', '&amp;', $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 href='{expression="str_replace( '&', '&amp;', $url )"}' class='ipsSocial ipsSocial--twitter'>
<span class='ipsSocial__icon'><i class='fa-brands fa-twitter'></i></span>
<span class='ipsSocial__text'>{lang="login_twitter"}</span>
</a>