From 811f5a931225b319b4ab1c6199882e8c353592c1 Mon Sep 17 00:00:00 2001 From: Alexander Ebert Date: Thu, 31 Aug 2017 13:17:54 +0200 Subject: [PATCH] Added style api version 3.1 / compatibility mode for 3.0 Closes #2406 --- com.woltlab.wcf/defaultStyle.tar | Bin 6144 -> 6144 bytes .../files/acp/style/acpStyleEditor.css | 3 + .../install/files/acp/templates/styleAdd.tpl | 31 +++- .../files/lib/acp/form/StyleAddForm.class.php | 51 +++++- .../lib/acp/form/StyleEditForm.class.php | 17 +- .../files/lib/data/style/Style.class.php | 9 ++ .../lib/data/style/StyleEditor.class.php | 14 +- .../lib/system/style/StyleCompiler.class.php | 11 ++ .../style/bootstrap/mixin/apiVersion.scss | 5 + .../files/style/layout/pageNavigation.scss | 5 + wcfsetup/install/files/style/ui/message.scss | 2 +- wcfsetup/install/files/style/ui/redactor.scss | 22 +-- wcfsetup/install/files/style/ui/wsc31.scss | 146 ++++++++++++++++++ wcfsetup/install/lang/de.xml | 5 + wcfsetup/install/lang/en.xml | 5 + wcfsetup/setup/db/install.sql | 5 +- 16 files changed, 306 insertions(+), 25 deletions(-) create mode 100644 wcfsetup/install/files/style/bootstrap/mixin/apiVersion.scss create mode 100644 wcfsetup/install/files/style/ui/wsc31.scss diff --git a/com.woltlab.wcf/defaultStyle.tar b/com.woltlab.wcf/defaultStyle.tar index dd11a3d6c4956fd8c1b26876ce88c7057ec8aebf..7e13802b7afdc6c87886c41a17c92b881da1c75d 100644 GIT binary patch delta 102 zcmZoLXfT-2B57)D$Y5w}XliI~W@c(^&R}3*U}kJ)!eB62kTGR5Bclitqv2#R<`5PO yU1P(^dCa}4hI$4z`ems_#hLkec3hmCHi-q9VNkBIo}rCCh`*VU span { display: block; height: 24px; width: 24px; } .spVariable, .spDescription { display: block; font-size: 12px; } .spVariable { font-family: Consolas, Courier, monospace; } +.spApiVersion { color: #E65100; font-family: Consolas, Courier, monospace; font-size: 12px; } #spSidebar .button { display: block; } @media (min-width: 769px) { #spVariablesWrapper { position: sticky; top: 60px; } @@ -157,6 +159,7 @@ html[dir="rtl"] .spColorBox { margin-left: 10px !important; } } #spWindow.spShowRegions [data-region="wcfHeader"]::after { left: 20px; transform: translateY(-50%); } + #spWindow.spShowRegions [data-region="wcfContent"]::after { top: 20px; transform: translateX(-50%); } #spWindow.spShowRegions [data-region] [data-region] { z-index: 20; } #spWindow.spShowRegions [data-region] [data-region]::before { z-index: 30; } diff --git a/wcfsetup/install/files/acp/templates/styleAdd.tpl b/wcfsetup/install/files/acp/templates/styleAdd.tpl index 0dcf3036bc..faf10f7005 100644 --- a/wcfsetup/install/files/acp/templates/styleAdd.tpl +++ b/wcfsetup/install/files/acp/templates/styleAdd.tpl @@ -156,6 +156,17 @@ {/if} + +
+
+ + {lang}wcf.acp.style.apiVersion.description{/lang} +
+
@@ -548,9 +559,15 @@
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. -
- - Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +
+
+ Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. + +
+ + Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. +
+
@@ -757,7 +774,9 @@
- {lang}wcf.acp.style.colors.description{/lang} +

{lang}wcf.acp.style.colors.description{/lang}

+


+

3.1 {lang version='3.1'}wcf.acp.style.colors.description.apiVersion{/lang}

{foreach from=$colors key=spCategory item=spColors} @@ -771,7 +790,7 @@
- ${$spColor} + ${$spColor}{if $newVariables[$spColor]|isset} {$newVariables[$spColor]}{/if} {$spType}
@@ -813,6 +832,8 @@ 'wcfContentBackground': '#spContent { background-color: VALUE; }', 'wcfContentBorder': '#spContentBorder { border-color: VALUE; }', 'wcfContentBorderInner': '#spContentBorderInner { border-color: VALUE; }', + 'wcfContentContainerBackground': '.spContentContainer { background-color: VALUE; }', + 'wcfContentContainerBorder': '.spContentContainer { border-color: VALUE; }', 'wcfContentText': '#spContent { color: VALUE; }', 'wcfContentLink': '#spContent a { color: VALUE; }', 'wcfContentLinkActive': '#spContent a:hover { color: VALUE; }', diff --git a/wcfsetup/install/files/lib/acp/form/StyleAddForm.class.php b/wcfsetup/install/files/lib/acp/form/StyleAddForm.class.php index dd8129c860..afdecdad5c 100644 --- a/wcfsetup/install/files/lib/acp/form/StyleAddForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/StyleAddForm.class.php @@ -1,6 +1,7 @@ '3.1', + 'wcfContentContainerBorder' => '3.1', + 'wcfEditorButtonBackground' => '3.1', + 'wcfEditorButtonBackgroundActive' => '3.1', + 'wcfEditorButtonText' => '3.1', + 'wcfEditorButtonTextActive' => '3.1', + 'wcfEditorButtonTextDisabled' => '3.1' + ]; + /** * style package name * @var string @@ -260,6 +282,7 @@ class StyleAddForm extends AbstractForm { if (isset($_POST['styleName'])) $this->styleName = StringUtil::trim($_POST['styleName']); if (isset($_POST['styleVersion'])) $this->styleVersion = StringUtil::trim($_POST['styleVersion']); if (isset($_POST['templateGroupID'])) $this->templateGroupID = intval($_POST['templateGroupID']); + if (isset($_POST['apiVersion']) && in_array($_POST['apiVersion'], Style::$supportedApiVersions)) $this->apiVersion = $_POST['apiVersion']; } /** @@ -324,10 +347,12 @@ class StyleAddForm extends AbstractForm { if (!empty($this->variables['overrideScss'])) { $this->parseOverrides(); } + + $this->validateApiVersion(); } /** - * Disallow the use of `com.woltlab.*` for package names to avoid accidential collisions. + * Disallow the use of `com.woltlab.*` for package names to avoid accidental collisions. * * @throws UserInputException */ @@ -338,6 +363,18 @@ class StyleAddForm extends AbstractForm { } } + /** + * Validates the style API version. + * + * @throws UserInputException + * @since 3.1 + */ + protected function validateApiVersion() { + if (!in_array($this->apiVersion, Style::$supportedApiVersions)) { + throw new UserInputException('apiVersion', 'invalid'); + } + } + /** * Validates LESS-variable overrides. * @@ -443,7 +480,7 @@ class StyleAddForm extends AbstractForm { 'wcfHeader' => ['wcfHeader', 'wcfHeaderSearchBox', 'wcfHeaderMenu', 'wcfHeaderMenuDropdown'], 'wcfNavigation' => 'wcfNavigation', 'wcfSidebar' => ['wcfSidebar', 'wcfSidebarDimmed', 'wcfSidebarHeadline'], - 'wcfContent' => ['wcfContent', 'wcfContentDimmed', 'wcfContentHeadline'], + 'wcfContent' => ['wcfContent', 'wcfContentContainer', 'wcfContentDimmed', 'wcfContentHeadline'], 'wcfTabularBox' => 'wcfTabularBox', 'wcfInput' => ['wcfInput', 'wcfInputDisabled'], 'wcfButton' => ['wcfButton', 'wcfButtonPrimary', 'wcfButtonDisabled'], @@ -464,6 +501,7 @@ class StyleAddForm extends AbstractForm { 'wcfSidebarDimmed' => ['text', 'link', 'linkActive'], 'wcfSidebarHeadline' => ['text', 'link', 'linkActive'], 'wcfContent' => ['background', 'border', 'borderInner', 'text', 'link', 'linkActive'], + 'wcfContentContainer' => ['background', 'border'], 'wcfContentDimmed' => ['text', 'link', 'linkActive'], 'wcfContentHeadline' => ['border', 'text', 'link', 'linkActive'], 'wcfTabularBox' => ['borderInner', 'headline', 'backgroundActive', 'headlineActive'], @@ -546,7 +584,8 @@ class StyleAddForm extends AbstractForm { 'copyright' => $this->copyright, 'license' => $this->license, 'authorName' => $this->authorName, - 'authorURL' => $this->authorURL + 'authorURL' => $this->authorURL, + 'apiVersion' => $this->apiVersion ]), 'tmpHash' => $this->tmpHash, 'variables' => $this->variables @@ -591,6 +630,7 @@ class StyleAddForm extends AbstractForm { WCF::getTPL()->assign([ 'action' => 'add', + 'apiVersion' => $this->apiVersion, 'authorName' => $this->authorName, 'authorURL' => $this->authorURL, 'availableFontFamilies' => $this->availableFontFamilies, @@ -603,13 +643,16 @@ class StyleAddForm extends AbstractForm { 'isTainted' => $this->isTainted, 'license' => $this->license, 'packageName' => $this->packageName, + 'recommendedApiVersion' => Style::API_VERSION, 'styleDate' => $this->styleDate, 'styleDescription' => $this->styleDescription, 'styleName' => $this->styleName, 'styleVersion' => $this->styleVersion, 'templateGroupID' => $this->templateGroupID, 'tmpHash' => $this->tmpHash, - 'variables' => $this->variables + 'variables' => $this->variables, + 'supportedApiVersions' => Style::$supportedApiVersions, + 'newVariables' => $this->newVariables ]); } } diff --git a/wcfsetup/install/files/lib/acp/form/StyleEditForm.class.php b/wcfsetup/install/files/lib/acp/form/StyleEditForm.class.php index 1b1d644470..9e8c98f85e 100644 --- a/wcfsetup/install/files/lib/acp/form/StyleEditForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/StyleEditForm.class.php @@ -4,6 +4,7 @@ use wcf\data\style\Style; use wcf\data\style\StyleAction; use wcf\form\AbstractForm; use wcf\system\exception\IllegalLinkException; +use wcf\system\exception\UserInputException; use wcf\system\language\I18nHandler; use wcf\system\WCF; @@ -66,6 +67,18 @@ class StyleEditForm extends StyleAddForm { } } + /** + * @inheritDoc + */ + protected function validateApiVersion() { + if ($this->style->isTainted) { + parent::validateApiVersion(); + } + else { + $this->apiVersion = $this->style->apiVersion; + } + } + /** * @inheritDoc */ @@ -112,6 +125,7 @@ class StyleEditForm extends StyleAddForm { I18nHandler::getInstance()->setOptions('styleDescription', PACKAGE_ID, $this->style->styleDescription, 'wcf.style.styleDescription\d+'); if (empty($_POST)) { + $this->apiVersion = $this->style->apiVersion; $this->authorName = $this->style->authorName; $this->authorURL = $this->style->authorURL; $this->copyright = $this->style->copyright; @@ -152,7 +166,8 @@ class StyleEditForm extends StyleAddForm { 'packageName' => $this->packageName, 'license' => $this->license, 'authorName' => $this->authorName, - 'authorURL' => $this->authorURL + 'authorURL' => $this->authorURL, + 'apiVersion' => $this->apiVersion ]), 'tmpHash' => $this->tmpHash, 'variables' => $this->variables diff --git a/wcfsetup/install/files/lib/data/style/Style.class.php b/wcfsetup/install/files/lib/data/style/Style.class.php index a2870f8cf2..ea485f0f32 100644 --- a/wcfsetup/install/files/lib/data/style/Style.class.php +++ b/wcfsetup/install/files/lib/data/style/Style.class.php @@ -29,6 +29,7 @@ use wcf\system\WCF; * @property-read string $packageName package identifier used to export the style as a package or empty (thus style cannot be exported as package) * @property-read integer $isTainted is `0` if the original declarations of an imported or installed style are not and cannot be altered, otherwise `1` * @property-read integer $hasFavicon is `0` if the default favicon data should be used + * @property-read string $apiVersion the style's compatibility version, possible values: '3.0' or '3.1' */ class Style extends DatabaseObject { /** @@ -37,6 +38,14 @@ class Style extends DatabaseObject { */ protected $variables = []; + /** + * list of supported API versions + * @var string[] + */ + public static $supportedApiVersions = ['3.0', '3.1']; + + const API_VERSION = '3.1'; + const PREVIEW_IMAGE_MAX_HEIGHT = 64; const PREVIEW_IMAGE_MAX_WIDTH = 102; diff --git a/wcfsetup/install/files/lib/data/style/StyleEditor.class.php b/wcfsetup/install/files/lib/data/style/StyleEditor.class.php index c0523053bd..a8bd2a2d83 100644 --- a/wcfsetup/install/files/lib/data/style/StyleEditor.class.php +++ b/wcfsetup/install/files/lib/data/style/StyleEditor.class.php @@ -146,7 +146,7 @@ class StyleEditor extends DatabaseObjectEditor implements IEditableCachedObject $data = [ 'name' => '', 'description' => [], 'version' => '', 'image' => '', 'copyright' => '', 'default' => false, 'license' => '', 'authorName' => '', 'authorURL' => '', 'templates' => '', 'images' => '', - 'variables' => '', 'date' => '0000-00-00', 'imagesPath' => '', 'packageName' => '' + 'variables' => '', 'date' => '0000-00-00', 'imagesPath' => '', 'packageName' => '', 'apiVersion' => '3.0' ]; $categories = $xpath->query('/ns:style/*'); @@ -220,6 +220,14 @@ class StyleEditor extends DatabaseObjectEditor implements IEditableCachedObject case 'license': $data[$element->tagName] = $element->nodeValue; break; + + case 'apiVersion': + if (!in_array($element->nodeValue, Style::$supportedApiVersions)) { + throw new SystemException("Unknown api version '".$element->nodeValue."'"); + } + + $data['apiVersion'] = $element->nodeValue; + break; } } break; @@ -320,7 +328,8 @@ class StyleEditor extends DatabaseObjectEditor implements IEditableCachedObject 'license' => $data['license'], 'authorName' => $data['authorName'], 'authorURL' => $data['authorURL'], - 'packageName' => $data['packageName'] + 'packageName' => $data['packageName'], + 'apiVersion' => $data['apiVersion'] ]; // check if there is an untainted style with the same package name @@ -669,6 +678,7 @@ class StyleEditor extends DatabaseObjectEditor implements IEditableCachedObject $xml->writeElement('date', $this->styleDate); $xml->writeElement('version', $this->styleVersion); + $xml->writeElement('apiVersion', $this->apiVersion); if ($this->image) $xml->writeElement('image', $this->image); if ($this->copyright) $xml->writeElement('copyright', $this->copyright); if ($this->license) $xml->writeElement('license', $this->license); diff --git a/wcfsetup/install/files/lib/system/style/StyleCompiler.class.php b/wcfsetup/install/files/lib/system/style/StyleCompiler.class.php index bd584a451b..fa16b6cc4c 100644 --- a/wcfsetup/install/files/lib/system/style/StyleCompiler.class.php +++ b/wcfsetup/install/files/lib/system/style/StyleCompiler.class.php @@ -93,6 +93,9 @@ class StyleCompiler extends SingletonFactory { unset($variables['overrideScss']); } + // api version + $variables['apiVersion'] = $style->apiVersion; + $parameters = ['scss' => '']; EventHandler::getInstance()->fireAction($this, 'compile', $parameters); @@ -293,14 +296,22 @@ class StyleCompiler extends SingletonFactory { $variables['wcf_option_'.mb_strtolower($constantName)] = is_int($option->optionValue) ? $option->optionValue : '"'.$option->optionValue.'"'; } } + + // api version + if (!isset($variables['apiVersion'])) $variables['apiVersion'] = Style::API_VERSION; } else { // workaround during setup $variables['wcf_option_attachment_thumbnail_height'] = '~"210"'; $variables['wcf_option_attachment_thumbnail_width'] = '~"280"'; $variables['wcf_option_signature_max_image_height'] = '~"150"'; + + $variables['apiVersion'] = Style::API_VERSION; } + // convert into numeric value for comparison, e.g. `3.1` -> `31` + $variables['apiVersion'] = str_replace('.', '', $variables['apiVersion']); + // build SCSS bootstrap $scss = $this->bootstrap($variables); foreach ($files as $file) { diff --git a/wcfsetup/install/files/style/bootstrap/mixin/apiVersion.scss b/wcfsetup/install/files/style/bootstrap/mixin/apiVersion.scss new file mode 100644 index 0000000000..3dfea4513f --- /dev/null +++ b/wcfsetup/install/files/style/bootstrap/mixin/apiVersion.scss @@ -0,0 +1,5 @@ +@mixin requireApiVersion($requiredVersion) { + @if $apiVersion >= $requiredVersion { + @content; + } +} diff --git a/wcfsetup/install/files/style/layout/pageNavigation.scss b/wcfsetup/install/files/style/layout/pageNavigation.scss index c17b283743..1d06eea64b 100644 --- a/wcfsetup/install/files/style/layout/pageNavigation.scss +++ b/wcfsetup/install/files/style/layout/pageNavigation.scss @@ -48,6 +48,11 @@ } @include screen-sm-down { + .breadcrumbs { + margin-bottom: -5px; + margin-top: 5px; + } + .breadcrumbs > ol > li { display: none; diff --git a/wcfsetup/install/files/style/ui/message.scss b/wcfsetup/install/files/style/ui/message.scss index 6a6f49d15e..ad50ca40df 100644 --- a/wcfsetup/install/files/style/ui/message.scss +++ b/wcfsetup/install/files/style/ui/message.scss @@ -301,7 +301,7 @@ > .messageContentLoadingOverlay { align-items: center; background-color: $wcfContentBackground; - bottom: 0; + bottom: -1px; display: flex; justify-content: center; left: 0; diff --git a/wcfsetup/install/files/style/ui/redactor.scss b/wcfsetup/install/files/style/ui/redactor.scss index 9c31c213e1..dd630a1a46 100644 --- a/wcfsetup/install/files/style/ui/redactor.scss +++ b/wcfsetup/install/files/style/ui/redactor.scss @@ -19,7 +19,7 @@ } > .innerError { - margin: -1px; + margin: -1px 0; } } @@ -152,7 +152,7 @@ } .redactor-toolbar { - background-color: $wcfEditorButtonBackground; + background-color: $wcfHeaderBackground; display: flex; flex-wrap: wrap; @@ -160,7 +160,7 @@ flex: 0 0 auto; > a { - color: $wcfEditorButtonText; + color: $wcfHeaderMenuLink; display: block; outline: none; padding: 10px; @@ -170,15 +170,15 @@ &.redactor-button-disabled { background-color: transparent !important; - color: $wcfEditorButtonTextDisabled !important; + color: $wcfButtonDisabledText !important; cursor: default; pointer-events: none; } &.redactor-act, &.dropact { - background-color: $wcfEditorButtonBackgroundActive; - color: $wcfEditorButtonTextActive; + background-color: $wcfHeaderMenuLinkBackgroundActive; + color: $wcfHeaderMenuLinkActive; } .icon { @@ -195,8 +195,8 @@ // hover-styles on mobile are misleading as they stay much longer // due to the click-like behavior &:hover { - background-color: $wcfEditorButtonBackgroundActive; - color: $wcfEditorButtonTextActive; + background-color: $wcfHeaderMenuLinkBackgroundActive; + color: $wcfHeaderMenuLinkActive; } } } @@ -208,7 +208,7 @@ &::before { bottom: 7px; - border-left: 1px solid $wcfEditorButtonText; + border-left: 1px solid $wcfHeaderMenuLink; content: ""; left: -6px; opacity: .6; @@ -231,7 +231,7 @@ &::before { bottom: 7px; - border-left: 1px solid $wcfEditorButtonText; + border-left: 1px solid $wcfHeaderMenuLink; content: ""; left: 0; opacity: .6; @@ -245,7 +245,7 @@ &::before { bottom: 7px; - border-left: 1px solid $wcfEditorButtonText; + border-left: 1px solid $wcfHeaderMenuLink; content: ""; left: 0; opacity: .6; diff --git a/wcfsetup/install/files/style/ui/wsc31.scss b/wcfsetup/install/files/style/ui/wsc31.scss new file mode 100644 index 0000000000..a01f91c59b --- /dev/null +++ b/wcfsetup/install/files/style/ui/wsc31.scss @@ -0,0 +1,146 @@ +/* + * Special styles for changes introduced in WoltLab Suite 3.1 that + * are not compatible with styles created for earlier versions. + */ +@include requireApiVersion(31) { + .main { + @include screen-lg { + padding: 30px 0; + } + } + + // reduced margin-top + .paginationTop { + margin-top: 30px; + } + + // sheet-like presentation of content containers + .content > .section, + .content > form { + border: 1px solid $wcfContentContainerBorder; + background-color: $wcfContentContainerBackground; + padding: 20px; + + @include screen-sm-down { + border-left-width: 0; + border-right-width: 0; + margin-left: -10px; + margin-right: -10px; + padding: 10px; + } + + .section { + margin-top: 0; + + & + .section { + margin-top: 40px; + } + } + } + + .content > form { + margin-top: 40px; + } + + .contentHeader + .section, + .contentHeader + form { + margin-top: 30px; + } + + // borders used to visually separate lists from adjacent containers + .content > .section { + > .messageList { + border-top-width: 0; + + @include screen-sm-down { + &:first-child { + margin-top: -11px; + } + } + + > :first-child { + padding-top: 0; + } + + > :last-child { + border-bottom-width: 0; + padding-bottom: 0; + } + } + + > .tabularList:last-child { + border-bottom-width: 0; + } + + > .containerList { + > :first-child { + border-top-width: 0 + } + + > :last-child { + border-bottom-width: 0; + } + } + } + + // drop-shadow for submenu lists + .mainMenu .boxMenu .boxMenuDepth1 { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 4px 6px rgba(0, 0, 0, 0.23); + } + + // individual variables for the editor toolbar + .redactor-toolbar { + background-color: $wcfEditorButtonBackground; + + > li { + > a { + color: $wcfEditorButtonText; + + &.redactor-button-disabled { + color: $wcfEditorButtonTextDisabled !important; + } + + &.redactor-act, + &.dropact { + background-color: $wcfEditorButtonBackgroundActive; + color: $wcfEditorButtonTextActive; + } + + @include screen-lg { + &:hover { + background-color: $wcfEditorButtonBackgroundActive; + color: $wcfEditorButtonTextActive; + } + } + } + + @include screen-sm-up { + &.redactor-toolbar-separator::before { + border-left: 1px solid $wcfEditorButtonText; + } + } + } + + @include screen-xs { + &.redactorToolbarOverride > .redactor-toolbar-separator::before { + border-left: 1px solid $wcfEditorButtonText; + } + + .redactorToolbarToggle::before { + border-left: 1px solid $wcfEditorButtonText; + } + } + } + + // adjust editor and message tab menu background color + .redactor-box, + .messageTabMenuNavigation > ul, + .messageTabMenu > .messageTabMenuContent.active, + .messageContent.loading > .messageContentLoadingOverlay { + background-color: $wcfContentContainerBackground; + } + + .messageTabMenuNavigation > ul > li.active > a::after { + border-bottom-color: $wcfContentContainerBackground; + } +} diff --git a/wcfsetup/install/lang/de.xml b/wcfsetup/install/lang/de.xml index eefe1039b5..f3f947bbeb 100644 --- a/wcfsetup/install/lang/de.xml +++ b/wcfsetup/install/lang/de.xml @@ -1868,6 +1868,10 @@ Als Benachrichtigungs-URL in der Konfiguration der sofortigen Zahlungsbestätigu + + + + @@ -1881,6 +1885,7 @@ Als Benachrichtigungs-URL in der Konfiguration der sofortigen Zahlungsbestätigu + diff --git a/wcfsetup/install/lang/en.xml b/wcfsetup/install/lang/en.xml index ec55753d35..9b8397b703 100644 --- a/wcfsetup/install/lang/en.xml +++ b/wcfsetup/install/lang/en.xml @@ -1811,6 +1811,10 @@ When prompted for the notification URL for the instant payment notifications, pl + + + + @@ -1824,6 +1828,7 @@ When prompted for the notification URL for the instant payment notifications, pl + diff --git a/wcfsetup/setup/db/install.sql b/wcfsetup/setup/db/install.sql index a752dd6f5d..5eab3a60bb 100644 --- a/wcfsetup/setup/db/install.sql +++ b/wcfsetup/setup/db/install.sql @@ -1245,7 +1245,8 @@ CREATE TABLE wcf1_style ( imagePath VARCHAR(255) NOT NULL DEFAULT '', packageName VARCHAR(255) NOT NULL DEFAULT '', isTainted TINYINT(1) NOT NULL DEFAULT 0, - hasFavicon TINYINT(1) NOT NULL DEFAULT 0 + hasFavicon TINYINT(1) NOT NULL DEFAULT 0, + apiVersion ENUM('3.0', '3.1') NOT NULL DEFAULT '3.1' ); DROP TABLE IF EXISTS wcf1_style_variable; @@ -2160,6 +2161,8 @@ INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfButtonT INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentBackground', 'rgba(250, 250, 250, 1)'); INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentBorder', 'rgba(65, 121, 173, 1)'); INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentBorderInner', 'rgba(224, 224, 224, 1)'); +INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentContainerBackground', 'rgba(255, 255, 255, 1)'); +INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentContainerBorder', 'rgba(236, 241, 247, 1)'); INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentDimmedLink', 'rgba(52, 73, 94, 1)'); INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentDimmedLinkActive', 'rgba(52, 73, 94, 1)'); INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentDimmedText', 'rgba(125, 130, 135, 1)'); -- 2.20.1