diff --git a/README.md b/README.md index ac5070165e..b0cb6f0a30 100644 --- a/README.md +++ b/README.md @@ -32,12 +32,13 @@ Pull requestを送信する際は、EC-CUBEのコピーライトポリシーに #### システム要件 -| 分類 | ソフトウェア | Version | -|-----------|----------------------|-------------------------------------------------------------------------| -| WebServer | Apache | 2.4.x or higher
(mod_rewrite / mod_ssl 必須) | -| PHP | PHP | 7.4.33 or higher | -| Database | PostgreSQL | 9.x or higher | -| Database | MySQL | 5.x / 8.x or higher
(InnoDBエンジン 必須) | +| 分類 | ソフトウェア | Version | +|-----------|--------------|---------------------------------------------------------| +| WebServer | Apache | 2.4.x or higher
(mod_rewrite / mod_ssl 必須) | +| PHP | PHP | 7.4.33 or higher | +| Database | PostgreSQL | 9.x or higher | +| Database | MySQL | 5.x / 8.0.x / 8.4.x or higher
(InnoDBエンジン 必須) | + ##### 必要な PHP Extensions diff --git a/composer.json b/composer.json index 275105ad0d..ccde4f890e 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "nanasess/ec-cube2-class-extends-stubs": "^1.0", "nanasess/eccube2-fixture-generator": "^2.0", "phpdocumentor/reflection-docblock": "~5.5.1", - "phpstan/phpstan": "^1.10", + "phpstan/phpstan": "^2.0", "phpunit/phpunit": "^9.6", "symfony/yaml": "^5.4 || ^6.4" }, @@ -47,7 +47,8 @@ "pear/xml_util": "*", "setasign/fpdf": "^1.8", "setasign/fpdi": "^2.6", - "smarty/smarty": "^5.0.2" + "smarty/smarty": "^5.0.2", + "symfony/polyfill-php80": "^1.31" }, "autoload": { "classmap": [ diff --git a/composer.lock b/composer.lock index c82bc6192d..498aadbf86 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "636ee3a24be4e148cef2625409af2b8c", + "content-hash": "913b3fad812f8e13e42e3d0e9cbb40d3", "packages": [ { "name": "mobiledetect/mobiledetectlib", @@ -680,16 +680,16 @@ }, { "name": "setasign/fpdi", - "version": "v2.6.1", + "version": "v2.6.2", "source": { "type": "git", "url": "https://github.com/Setasign/FPDI.git", - "reference": "09a816004fcee9ed3405bd164147e3fdbb79a56f" + "reference": "9e013b376939c0d4029f54150d2a16f3c67a5797" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Setasign/FPDI/zipball/09a816004fcee9ed3405bd164147e3fdbb79a56f", - "reference": "09a816004fcee9ed3405bd164147e3fdbb79a56f", + "url": "https://api.github.com/repos/Setasign/FPDI/zipball/9e013b376939c0d4029f54150d2a16f3c67a5797", + "reference": "9e013b376939c0d4029f54150d2a16f3c67a5797", "shasum": "" }, "require": { @@ -740,7 +740,7 @@ ], "support": { "issues": "https://github.com/Setasign/FPDI/issues", - "source": "https://github.com/Setasign/FPDI/tree/v2.6.1" + "source": "https://github.com/Setasign/FPDI/tree/v2.6.2" }, "funding": [ { @@ -748,20 +748,20 @@ "type": "tidelift" } ], - "time": "2024-09-02T10:17:15+00:00" + "time": "2024-12-10T13:12:19+00:00" }, { "name": "smarty/smarty", - "version": "v5.4.1", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/smarty-php/smarty.git", - "reference": "cd58df7a2603b7d925e5db5c9d50f10987695fd3" + "reference": "642a97adcc2bf6c1b2458d6afeeb36ae001c1c2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/smarty-php/smarty/zipball/cd58df7a2603b7d925e5db5c9d50f10987695fd3", - "reference": "cd58df7a2603b7d925e5db5c9d50f10987695fd3", + "url": "https://api.github.com/repos/smarty-php/smarty/zipball/642a97adcc2bf6c1b2458d6afeeb36ae001c1c2f", + "reference": "642a97adcc2bf6c1b2458d6afeeb36ae001c1c2f", "shasum": "" }, "require": { @@ -816,9 +816,9 @@ "support": { "forum": "https://github.com/smarty-php/smarty/discussions", "issues": "https://github.com/smarty-php/smarty/issues", - "source": "https://github.com/smarty-php/smarty/tree/v5.4.1" + "source": "https://github.com/smarty-php/smarty/tree/v5.4.2" }, - "time": "2024-08-29T23:10:45+00:00" + "time": "2024-11-20T21:18:16+00:00" }, { "name": "symfony/polyfill-mbstring", @@ -846,8 +846,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -899,6 +899,86 @@ } ], "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" } ], "packages-dev": [ @@ -1194,29 +1274,27 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "1.4.10 || 2.0.3", + "phpstan/phpstan-phpunit": "^1.0 || ^2", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" + "psr/log": "^1 || ^2 || ^3" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -1224,7 +1302,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + "Doctrine\\Deprecations\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1235,9 +1313,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.3" + "source": "https://github.com/doctrine/deprecations/tree/1.1.4" }, - "time": "2024-01-30T19:34:25+00:00" + "time": "2024-12-07T21:18:45+00:00" }, { "name": "doctrine/instantiator", @@ -2125,20 +2203,20 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.7", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0" + "reference": "46b4d3529b12178112d9008337beda0cc2a1a6b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", - "reference": "dc2b9976bd8b0f84ec9b0e50cc35378551de7af0", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/46b4d3529b12178112d9008337beda0cc2a1a6b4", + "reference": "46b4d3529b12178112d9008337beda0cc2a1a6b4", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^7.4|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -2179,7 +2257,7 @@ "type": "github" } ], - "time": "2024-10-18T11:12:07+00:00" + "time": "2024-11-28T22:19:37+00:00" }, { "name": "phpunit/php-code-coverage", @@ -5092,86 +5170,6 @@ ], "time": "2024-09-09T11:45:10+00:00" }, - { - "name": "symfony/polyfill-php80", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, { "name": "symfony/polyfill-php81", "version": "v1.31.0", diff --git a/data/class/SC_Initial.php b/data/class/SC_Initial.php index bc50ded1fc..95ca067ace 100644 --- a/data/class/SC_Initial.php +++ b/data/class/SC_Initial.php @@ -57,7 +57,6 @@ public function init() $this->resetSuperglobalsRequest(); // stripslashesDeepGpc メソッドより後で実行 $this->setTimezone(); // 本当はエラーハンドラーより先に読みたい気も $this->normalizeHostname(); // defineConstants メソッドより後で実行 - $this->compatPhp(); } /** @@ -549,46 +548,4 @@ public function normalizeHostname() SC_Response_Ex::sendRedirect($correct_url); } } - - /** - * PHPバージョン互換処理 - * - * @deprecated https://github.com/EC-CUBE/ec-cube2/issues/681 が実現したら、外部ライブラリへ移行して、削除する予定。 - * - * @return void - */ - public function compatPhp() - { - if (!function_exists('str_starts_with')) { - /** - * 文字列が指定された部分文字列で始まるかを調べる。(for PHP < 8) - * - * @param string $haystack - * @param string $needle - * - * @return bool - */ - function str_starts_with($haystack, $needle) - { - return strncmp($haystack, $needle, strlen($needle)) === 0; - } - } - - if (!function_exists('str_ends_with')) { - /** - * 文字列が、指定された文字列で終わるかを調べる。(for PHP < 8) - * - * @param string $haystack - * @param string $needle - * - * @return bool - */ - function str_ends_with($haystack, $needle) - { - $needle_len = strlen($needle); - - return substr($haystack, -$needle_len, $needle_len) === $needle; - } - } - } } diff --git a/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php b/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php index 9a3efde2ea..bf8229f3cb 100644 --- a/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php +++ b/data/class/pages/admin/system/LC_Page_Admin_System_Bkup.php @@ -213,7 +213,7 @@ public function action() $arrBkupList = $this->lfGetBkupData('ORDER BY create_date DESC'); // テンプレートファイルに渡すデータをセット $this->arrErr = isset($arrErr) ? $arrErr : []; - $this->arrForm = isset($arrForm) ? $arrForm : []; + $this->arrForm = $arrForm; $this->arrBkupList = $arrBkupList; } diff --git a/data/class/pages/products/LC_Page_Products_Detail.php b/data/class/pages/products/LC_Page_Products_Detail.php index 807e064ccf..ea3afe3d46 100644 --- a/data/class/pages/products/LC_Page_Products_Detail.php +++ b/data/class/pages/products/LC_Page_Products_Detail.php @@ -21,9 +21,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -if (file_exists(MODULE_REALDIR.'mdl_gmopg/inc/function.php')) { - require_once MODULE_REALDIR.'mdl_gmopg/inc/function.php'; -} /** * 商品詳細 のページクラス. * diff --git a/data/require_plugin.php b/data/require_plugin.php deleted file mode 100644 index fec67cff48..0000000000 --- a/data/require_plugin.php +++ /dev/null @@ -1,24 +0,0 @@ -