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 @@
-