fix updating the styles to 5.3
authormutec <mysterycode@mysterycode.de>
Fri, 28 Aug 2020 13:46:54 +0000 (15:46 +0200)
committermutec <mysterycode@mysterycode.de>
Fri, 28 Aug 2020 14:05:30 +0000 (16:05 +0200)
If `Style::$imagePath` is empty, it resulted in copying the shole WSC-folder into a style-asset-folder - and doing this until we reache the timeout limits.
Including `global.php` ended up in trying to define the option-constants (especially the fixed-value-options like `MODULE_ATTACHMENTS`) again while they are already defined - which causes a Fatal Error-Message.

wcfsetup/install/files/acp/update_com.woltlab.wcf_5.3_style.php

index 092d95bbd67e0c25b6abd887f23c70d2be3be883..b5669d85096fc19cafdd16709ae7ecc7e4bdb565 100644 (file)
@@ -1,5 +1,4 @@
 <?php
-require('global.php');
 
 use wcf\data\style\StyleEditor;
 use wcf\data\style\StyleList;
@@ -32,8 +31,8 @@ foreach ($styleList as $style) {
        
        // 3) If the file had a custom image folder we need to copy all files into the asset folder.
        // Moving the files is unsafe, because multiple styles can share a single image folder.
-       if ($style->imagePath != 'images/') {
-               $srcPath = FileUtil::addTrailingSlash(WCF_DIR.$style->imagePath);
+       $srcPath = FileUtil::addTrailingSlash(WCF_DIR.$style->imagePath);
+       if ($srcPath !== WCF_DIR && $srcPath !== WCF_DIR.'images/') {
                if ($srcPath == $style->getAssetPath()) {
                        $srcPath = FileUtil::removeTrailingSlash($style->getAssetPath()) . '.old53/';
                }