From 3e7f8797fc9920841169efd6b449c784d077cd0c Mon Sep 17 00:00:00 2001 From: Kentaro Ohkouchi Date: Wed, 11 Dec 2024 15:53:40 +0900 Subject: [PATCH] Fix warning --- data/class/SC_CartSession.php | 23 +++++++++++++++++-- data/class/SC_CheckError.php | 2 +- data/class/SC_Customer.php | 9 +++++--- data/class/SC_Response.php | 2 +- data/class/SC_UploadFile.php | 2 +- data/class/helper/SC_Helper_Address.php | 2 +- data/class/helper/SC_Helper_Customer.php | 2 +- data/class/helper/SC_Helper_Maker.php | 4 ++-- data/class/helper/SC_Helper_Purchase.php | 12 +++++----- data/class/helper/SC_Helper_Session.php | 2 +- data/class/pages/admin/LC_Page_Admin.php | 2 +- .../LC_Page_Admin_Contents_Recommend.php | 2 +- ...LC_Page_Admin_Contents_RecommendSearch.php | 2 +- .../ownersstore/LC_Page_Admin_OwnersStore.php | 2 +- .../admin/system/LC_Page_Admin_System.php | 2 +- .../system/LC_Page_Admin_System_Input.php | 2 +- .../pages/admin/total/LC_Page_Admin_Total.php | 7 ++++-- data/class/pages/cart/LC_Page_Cart.php | 2 +- data/class/pages/mypage/LC_Page_Mypage.php | 2 +- .../products/LC_Page_Products_Detail.php | 2 +- .../pages/products/LC_Page_Products_List.php | 2 +- .../class/pages/shopping/LC_Page_Shopping.php | 4 ++-- .../shopping/LC_Page_Shopping_Payment.php | 8 +++++-- data/class/plugin/SC_Plugin_Installer.php | 2 +- data/class/plugin/SC_Plugin_Util.php | 3 ++- 25 files changed, 67 insertions(+), 37 deletions(-) diff --git a/data/class/SC_CartSession.php b/data/class/SC_CartSession.php index 645d997646..72b8de4e90 100644 --- a/data/class/SC_CartSession.php +++ b/data/class/SC_CartSession.php @@ -117,7 +117,7 @@ public function getNextCartID($product_type_id) { $count = []; foreach ($this->cartSession[$product_type_id] as $key => $value) { - $count[] = $this->cartSession[$product_type_id][$key]['cart_no']; + $count[] = $this->cartSession[$product_type_id][$key]['cart_no'] ?? null; } return max($count) + 1; @@ -147,7 +147,8 @@ public function getMax($product_type_id) { $max = 0; if ( - is_array($this->cartSession[$product_type_id]) + isset($this->cartSession[$product_type_id]) + && is_array($this->cartSession[$product_type_id]) && count($this->cartSession[$product_type_id]) > 0 ) { foreach ($this->cartSession[$product_type_id] as $key => $value) { @@ -157,6 +158,24 @@ public function getMax($product_type_id) } } } + } else { + $this->cartSession[$product_type_id] = []; + } + + // カート内商品の最大要素番号までの要素が存在しない場合、要素を追加しておく + for ($i = 0; $i <= $max; $i++) { + if (!array_key_exists($i, $this->cartSession[$product_type_id])) { + $this->cartSession[$product_type_id][$i] = [ + 'id' => null, + 'cart_no' => null, + 'price' => 0, + 'quantity' => 0, + 'productsClass' => [ + 'product_id' => null, + 'product_class_id' => null, + ], + ]; + } } return $max; diff --git a/data/class/SC_CheckError.php b/data/class/SC_CheckError.php index 184a7256ea..2ecb96cba8 100644 --- a/data/class/SC_CheckError.php +++ b/data/class/SC_CheckError.php @@ -1475,7 +1475,7 @@ public function CHECK_SET_TERM($value) $date1 = sprintf('%d%02d%02d000000', $start_year, $start_month, $start_day); $date2 = sprintf('%d%02d%02d235959', $end_year, $end_month, $end_day); - if (($this->arrErr[$keyname1] == '' && $this->arrErr[$keyname2] == '') && $date1 > $date2) { + if ((!isset($this->arrErr[$keyname1]) && !isset($this->arrErr[$keyname2])) && $date1 > $date2) { $this->arrErr[$keyname1] = "※ {$disp_name1}と{$disp_name2}の期間指定が不正です。
"; } diff --git a/data/class/SC_Customer.php b/data/class/SC_Customer.php index 1855dd6e46..8263c7e9b8 100644 --- a/data/class/SC_Customer.php +++ b/data/class/SC_Customer.php @@ -270,9 +270,12 @@ public function getValue($keyname) { // ポイントはリアルタイム表示 if ($keyname == 'point') { - $objQuery = SC_Query_Ex::getSingletonInstance(); - $point = $objQuery->get('point', 'dtb_customer', 'customer_id = ?', [$_SESSION['customer']['customer_id']]); - $_SESSION['customer']['point'] = $point; + $point = 0; + if (isset($_SESSION['customer']['customer_id'])) { + $objQuery = SC_Query_Ex::getSingletonInstance(); + $point = $objQuery->get('point', 'dtb_customer', 'customer_id = ?', [$_SESSION['customer']['customer_id']]); + $_SESSION['customer']['point'] = $point; + } return $point; } else { diff --git a/data/class/SC_Response.php b/data/class/SC_Response.php index 331edd818b..b6ac1afacd 100644 --- a/data/class/SC_Response.php +++ b/data/class/SC_Response.php @@ -176,7 +176,7 @@ public static function sendRedirect($location, $arrQueryString = [], $inheritQue } // url-path → URL 変換 - if ($location[0] === '/') { + if ($location !== '' && $location[0] === '/') { $netUrl = new Net_URL($location); $location = $netUrl->getUrl(); } diff --git a/data/class/SC_UploadFile.php b/data/class/SC_UploadFile.php index 4bc7b11658..f01f4d36f8 100644 --- a/data/class/SC_UploadFile.php +++ b/data/class/SC_UploadFile.php @@ -146,7 +146,7 @@ public function makeTempFile($keyname, $rename = IMAGE_RENAME) } } - return $objErr->arrErr[$keyname]; + return $objErr->arrErr[$keyname] ?? ''; } // アップロードされたダウンロードファイルを保存する。 diff --git a/data/class/helper/SC_Helper_Address.php b/data/class/helper/SC_Helper_Address.php index b6c93e2193..f5dc3bd2d4 100644 --- a/data/class/helper/SC_Helper_Address.php +++ b/data/class/helper/SC_Helper_Address.php @@ -194,7 +194,7 @@ public function delivErrorCheck($arrParam) $error_flg = true; } - if (strlen($arrParam['other_deliv_id']) > 0 && (!is_numeric($arrParam['other_deliv_id']) || !preg_match("/^\d+$/", $arrParam['other_deliv_id']))) { + if (isset($arrParam['other_deliv_id']) && (!is_numeric($arrParam['other_deliv_id']) || !preg_match("/^\d+$/", $arrParam['other_deliv_id']))) { $error_flg = true; } diff --git a/data/class/helper/SC_Helper_Customer.php b/data/class/helper/SC_Helper_Customer.php index f391a8f921..c25c407bca 100644 --- a/data/class/helper/SC_Helper_Customer.php +++ b/data/class/helper/SC_Helper_Customer.php @@ -111,7 +111,7 @@ public static function sfEditCustomerData($arrData, $customer_id = null) $customer_id = $objQuery->nextVal('dtb_customer_customer_id'); $arrData['customer_id'] = $customer_id; // 作成日 - if (is_null($arrData['create_date'])) { + if (!isset($arrData['create_date'])) { $arrData['create_date'] = 'CURRENT_TIMESTAMP'; } $objQuery->insert('dtb_customer', $arrData); diff --git a/data/class/helper/SC_Helper_Maker.php b/data/class/helper/SC_Helper_Maker.php index 3370ca6df8..2f989797b7 100644 --- a/data/class/helper/SC_Helper_Maker.php +++ b/data/class/helper/SC_Helper_Maker.php @@ -45,9 +45,9 @@ public function getMaker($maker_id, $has_deleted = false) if (!$has_deleted) { $where .= ' AND del_flg = 0'; } - $arrRet = $objQuery->select('*', 'dtb_maker', $where, [$maker_id]); + $arrRet = $objQuery->getRow('*', 'dtb_maker', $where, [$maker_id]); - return $arrRet[0]; + return $arrRet; } /** diff --git a/data/class/helper/SC_Helper_Purchase.php b/data/class/helper/SC_Helper_Purchase.php index 8f2d1be7c9..4d06432361 100644 --- a/data/class/helper/SC_Helper_Purchase.php +++ b/data/class/helper/SC_Helper_Purchase.php @@ -312,7 +312,7 @@ public static function saveOrderTemp($uniqId, $params, &$objCustomer = null) $exists = SC_Helper_Purchase_Ex::getOrderTemp($uniqId); // 国ID追加 - $sqlval['order_country_id'] = ($sqlval['order_country_id']) ? $sqlval['order_country_id'] : DEFAULT_COUNTRY_ID; + $sqlval['order_country_id'] = isset($sqlval['order_country_id']) ? $sqlval['order_country_id'] : DEFAULT_COUNTRY_ID; if (SC_Utils_Ex::isBlank($exists)) { $sqlval['order_temp_id'] = $uniqId; @@ -780,23 +780,23 @@ public static function registerShipmentItem($order_id, $shipping_id, $arrParams) continue; } $d = $objProduct->getDetailAndProductsClass($arrValues['product_class_id']); - $name = SC_Utils_Ex::isBlank($arrValues['product_name']) + $name = !isset($arrValues['product_name']) ? $d['name'] : $arrValues['product_name']; - $code = SC_Utils_Ex::isBlank($arrValues['product_code']) + $code = !isset($arrValues['product_code']) ? $d['product_code'] : $arrValues['product_code']; - $cname1 = SC_Utils_Ex::isBlank($arrValues['classcategory_name1']) + $cname1 = !isset($arrValues['classcategory_name1']) ? $d['classcategory_name1'] : $arrValues['classcategory_name1']; - $cname2 = SC_Utils_Ex::isBlank($arrValues['classcategory_name2']) + $cname2 = !isset($arrValues['classcategory_name2']) ? $d['classcategory_name2'] : $arrValues['classcategory_name2']; - $price = SC_Utils_Ex::isBlank($arrValues['price']) + $price = !isset($arrValues['price']) ? $d['price'] : $arrValues['price']; diff --git a/data/class/helper/SC_Helper_Session.php b/data/class/helper/SC_Helper_Session.php index 6823f16261..b18dbcd5ba 100644 --- a/data/class/helper/SC_Helper_Session.php +++ b/data/class/helper/SC_Helper_Session.php @@ -210,7 +210,7 @@ public static function createToken() public static function isValidToken($is_unset = false) { // token の妥当性チェック - $ret = $_REQUEST[TRANSACTION_ID_NAME] === $_SESSION[TRANSACTION_ID_NAME]; + $ret = ($_REQUEST[TRANSACTION_ID_NAME] ?? '') === ($_SESSION[TRANSACTION_ID_NAME] ?? ''); if (empty($_REQUEST[TRANSACTION_ID_NAME]) || empty($_SESSION[TRANSACTION_ID_NAME])) { $ret = false; diff --git a/data/class/pages/admin/LC_Page_Admin.php b/data/class/pages/admin/LC_Page_Admin.php index 1625f75cf7..e9626fb127 100644 --- a/data/class/pages/admin/LC_Page_Admin.php +++ b/data/class/pages/admin/LC_Page_Admin.php @@ -163,7 +163,7 @@ public function init() } } - $this->tpl_authority = $_SESSION['authority']; + $this->tpl_authority = $_SESSION['authority'] ?? ''; // ディスプレイクラス生成 $this->objDisplay = new SC_Display_Ex(); diff --git a/data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php b/data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php index f4ed45b79c..d81822315e 100644 --- a/data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php +++ b/data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php @@ -121,7 +121,7 @@ public function action() break; case 'set_item': // 商品を選択する。 $this->arrErr = $this->lfCheckError($objFormParam); - if (SC_Utils_Ex::isBlank($this->arrErr['rank']) && SC_Utils_Ex::isBlank($this->arrErr['product_id'])) { + if (SC_Utils_Ex::isBlank($this->arrErr['rank'] ?? '') && SC_Utils_Ex::isBlank($this->arrErr['product_id'] ?? '')) { $arrItems = $this->setProducts($arrPost, $this->getRecommendProducts($objRecommend)); $this->checkRank = $arrPost['rank']; } diff --git a/data/class/pages/admin/contents/LC_Page_Admin_Contents_RecommendSearch.php b/data/class/pages/admin/contents/LC_Page_Admin_Contents_RecommendSearch.php index bd76fac38a..ecba2bbf6b 100644 --- a/data/class/pages/admin/contents/LC_Page_Admin_Contents_RecommendSearch.php +++ b/data/class/pages/admin/contents/LC_Page_Admin_Contents_RecommendSearch.php @@ -86,7 +86,7 @@ public function action() $wheres = $this->createWhere($objFormParam, $objDb); $this->tpl_linemax = $this->getLineCount($wheres, $objProduct); - $page_max = SC_Utils_Ex::sfGetSearchPageMax($arrPost['search_page_max']); + $page_max = SC_Utils_Ex::sfGetSearchPageMax($arrPost['search_page_max'] ?? 0); // ページ送りの取得 $objNavi = new SC_PageNavi_Ex($arrPost['search_pageno'], $this->tpl_linemax, $page_max, 'eccube.moveSearchPage', NAVI_PMAX); diff --git a/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php b/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php index b86c9c85d3..54f25d305c 100644 --- a/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php +++ b/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php @@ -496,7 +496,7 @@ public function getPluginInfo(ReflectionClass $objReflection) if (isset($arrStaticProps[$key])) { $arrPluginInfo[$key] = $arrStaticProps[$key]; // クラス変数定義がなければ, クラス定数での定義を読み込み. - } elseif ($arrConstants[$key]) { + } elseif (isset($arrConstants[$key])) { $arrPluginInfo[$key] = $arrConstants[$key]; } else { $arrPluginInfo[$key] = null; diff --git a/data/class/pages/admin/system/LC_Page_Admin_System.php b/data/class/pages/admin/system/LC_Page_Admin_System.php index 694418ed2d..d7df90eed0 100644 --- a/data/class/pages/admin/system/LC_Page_Admin_System.php +++ b/data/class/pages/admin/system/LC_Page_Admin_System.php @@ -89,7 +89,7 @@ public function action() = $this->getMemberCount('work = 1 AND del_flg <> 1 AND member_id <> '.ADMIN_ID); // ページ送りの処理 $_GET['pageno']が信頼しうる値かどうかチェックする。 - $pageno = $this->lfCheckPageNo($_GET['pageno']); + $pageno = $this->lfCheckPageNo($_GET['pageno'] ?? 1); $objNavi = new SC_PageNavi_Ex($pageno, $linemax, MEMBER_PMAX, 'eccube.moveMemberPage', NAVI_PMAX); $this->tpl_strnavi = $objNavi->strnavi; diff --git a/data/class/pages/admin/system/LC_Page_Admin_System_Input.php b/data/class/pages/admin/system/LC_Page_Admin_System_Input.php index 86f251d014..499b90b1c6 100644 --- a/data/class/pages/admin/system/LC_Page_Admin_System_Input.php +++ b/data/class/pages/admin/system/LC_Page_Admin_System_Input.php @@ -78,7 +78,7 @@ public function action() $objFormParam = new SC_FormParam_Ex(); // ページ送りの処理 $_REQUEST['pageno']が信頼しうる値かどうかチェックする。 - $this->tpl_pageno = $this->lfCheckPageNo($_REQUEST['pageno']); + $this->tpl_pageno = $this->lfCheckPageNo($_REQUEST['pageno'] ?? 1); $arrErr = []; $arrForm = []; diff --git a/data/class/pages/admin/total/LC_Page_Admin_Total.php b/data/class/pages/admin/total/LC_Page_Admin_Total.php index b7d18a9893..2a285bd329 100644 --- a/data/class/pages/admin/total/LC_Page_Admin_Total.php +++ b/data/class/pages/admin/total/LC_Page_Admin_Total.php @@ -834,12 +834,15 @@ public function lfAddTotalLine($arrResults) // 合計の計算 foreach ($arrResults as $arrResult) { foreach ($arrResult as $key => $value) { + if (!isset($arrTotal[$key])) { + $arrTotal[$key] = 0; + } $arrTotal[$key] += (int) $arrResult[$key]; } } // 平均値の計算 $arrTotal['total_average'] = 0; - if ($arrTotal['total_order'] > 0) { + if (isset($arrTotal['total_order']) && $arrTotal['total_order'] > 0) { $arrTotal['total_average'] = $arrTotal['total'] / $arrTotal['total_order']; } if (is_nan($arrTotal['total_average'])) { @@ -863,7 +866,7 @@ public function lfGetDataColCSV($arrData, $arrDataCol) $arrRet = []; for ($i = 0; $i < $max; $i++) { foreach ($arrDataCol as $val) { - $arrRet[$i][$val] = ($arrData[$i][$val]) ? $arrData[$i][$val] : '0'; + $arrRet[$i][$val] = isset($arrData[$i][$val]) ? $arrData[$i][$val] : '0'; } // 期間別集計の合計行の「期間」項目に不要な値が表示されてしまわない様、'合計'と表示する if (($i === $max - 1) && isset($arrRet[$i]['str_date'])) { diff --git a/data/class/pages/cart/LC_Page_Cart.php b/data/class/pages/cart/LC_Page_Cart.php index 4846795a36..9db5321076 100644 --- a/data/class/pages/cart/LC_Page_Cart.php +++ b/data/class/pages/cart/LC_Page_Cart.php @@ -208,7 +208,7 @@ public function action() } // 前頁のURLを取得 - $this->lfGetCartPrevUrl($_SESSION, $_SERVER['HTTP_REFERER']); + $this->lfGetCartPrevUrl($_SESSION, $_SERVER['HTTP_REFERER'] ?? ''); $this->tpl_prev_url = (isset($_SESSION['cart_prev_url'])) ? $_SESSION['cart_prev_url'] : ''; // 全てのカートの内容を取得する diff --git a/data/class/pages/mypage/LC_Page_Mypage.php b/data/class/pages/mypage/LC_Page_Mypage.php index ec5e3ae3eb..2c165d1649 100644 --- a/data/class/pages/mypage/LC_Page_Mypage.php +++ b/data/class/pages/mypage/LC_Page_Mypage.php @@ -85,7 +85,7 @@ public function action() $customer_id = $objCustomer->getValue('customer_id'); // ページ送り用 - $this->objNavi = new SC_PageNavi_Ex($_REQUEST['pageno'], + $this->objNavi = new SC_PageNavi_Ex($_REQUEST['pageno'] ?? 1, $this->lfGetOrderHistory($customer_id), SEARCH_PMAX, 'eccube.movePage', diff --git a/data/class/pages/products/LC_Page_Products_Detail.php b/data/class/pages/products/LC_Page_Products_Detail.php index 807e064ccf..5db73af215 100644 --- a/data/class/pages/products/LC_Page_Products_Detail.php +++ b/data/class/pages/products/LC_Page_Products_Detail.php @@ -570,7 +570,7 @@ public function lfSetFile(SC_UploadFile $objUpFile, $arrProduct, &$arrFile) // サブ画像の有無を判定 $subImageFlag = false; for ($i = 1; $i <= PRODUCTSUB_MAX; $i++) { - if ($arrFile['sub_image'.$i]['filepath'] != '') { + if (isset($arrFile['sub_image'.$i]['filepath'])) { $subImageFlag = true; } } diff --git a/data/class/pages/products/LC_Page_Products_List.php b/data/class/pages/products/LC_Page_Products_List.php index c97724b129..e919662016 100644 --- a/data/class/pages/products/LC_Page_Products_List.php +++ b/data/class/pages/products/LC_Page_Products_List.php @@ -338,7 +338,7 @@ public function lfGetSearchConditionDisp($arrSearchData) if (strlen($arrSearchData['maker_id']) > 0) { $objMaker = new SC_Helper_Maker_Ex(); $maker = $objMaker->getMaker($arrSearchData['maker_id']); - $arrSearch['maker'] = $maker['name']; + $arrSearch['maker'] = $maker['name'] ?? ''; } // 商品名検索条件 diff --git a/data/class/pages/shopping/LC_Page_Shopping.php b/data/class/pages/shopping/LC_Page_Shopping.php index 5699ff9695..e3e8b39e54 100644 --- a/data/class/pages/shopping/LC_Page_Shopping.php +++ b/data/class/pages/shopping/LC_Page_Shopping.php @@ -454,10 +454,10 @@ public function setFormParams(&$objFormParam, &$objPurchase, $uniqid) if (count($arrShippingTemp) > 1) { $objFormParam->setParam($arrShippingTemp[1]); } else { - if ($arrOrderTemp['deliv_check'] == 1) { + if (isset($arrOrderTemp['deliv_check']) && $arrOrderTemp['deliv_check'] == 1) { $objFormParam->setParam($arrShippingTemp[1]); } else { - $objFormParam->setParam($arrShippingTemp[0]); + $objFormParam->setParam($arrShippingTemp[0] ?? []); } } $objFormParam->setValue('order_email02', $arrOrderTemp['order_email']); diff --git a/data/class/pages/shopping/LC_Page_Shopping_Payment.php b/data/class/pages/shopping/LC_Page_Shopping_Payment.php index ee967a93d5..6f6fee8196 100644 --- a/data/class/pages/shopping/LC_Page_Shopping_Payment.php +++ b/data/class/pages/shopping/LC_Page_Shopping_Payment.php @@ -310,7 +310,7 @@ public function lfCheckError(&$objFormParam, $subtotal, $max_point) $objErr->doFunc(['ポイントを使用する', 'point_check'], ['EXIST_CHECK']); if ($arrForm['point_check'] == '1' - && SC_Utils_Ex::isBlank($objErr->arrErr['use_point'])) { + && SC_Utils_Ex::isBlank($objErr->arrErr['use_point'] ?? '')) { $objErr->doFunc(['ポイント', 'use_point'], ['EXIST_CHECK']); if ($max_point == '') { $max_point = 0; @@ -356,7 +356,11 @@ public function saveShippings(&$objFormParam, $arrDelivTime) $time_id = $objFormParam->getValue('deliv_time_id'.$shipping_id); $_SESSION['shipping'][$key]['deliv_id'] = $deliv_id; $_SESSION['shipping'][$key]['time_id'] = $time_id; - $_SESSION['shipping'][$key]['shipping_time'] = $arrDelivTime[$time_id]; + if (isset($arrDelivTime[$time_id])) { + $_SESSION['shipping'][$key]['shipping_time'] = $arrDelivTime[$time_id]; + } else { + $_SESSION['shipping'][$key]['shipping_time'] = ''; + } $_SESSION['shipping'][$key]['shipping_date'] = $objFormParam->getValue('deliv_date'.$shipping_id); } } diff --git a/data/class/plugin/SC_Plugin_Installer.php b/data/class/plugin/SC_Plugin_Installer.php index 15937a46a1..8280f6bd3b 100644 --- a/data/class/plugin/SC_Plugin_Installer.php +++ b/data/class/plugin/SC_Plugin_Installer.php @@ -113,7 +113,7 @@ public function execPlugin() } // プラグインのディレクトリコピー - $arrCopyDirectories = $this->arrInstallData['copy_directory']; + $arrCopyDirectories = $this->arrInstallData['copy_directory'] ?? ''; if (!SC_Utils_Ex::isBlank($arrCopyDirectories)) { foreach ($arrCopyDirectories as $directory) { diff --git a/data/class/plugin/SC_Plugin_Util.php b/data/class/plugin/SC_Plugin_Util.php index bb6ba47ba9..6345dd94cd 100644 --- a/data/class/plugin/SC_Plugin_Util.php +++ b/data/class/plugin/SC_Plugin_Util.php @@ -227,7 +227,8 @@ public static function checkExtension($key) ]; // 必須拡張モジュールのチェック $arrErr = []; - if (is_array($arrRequireExtension[ECCUBE_VERSION])) { + if (isset($arrRequireExtension[ECCUBE_VERSION]) + && is_array($arrRequireExtension[ECCUBE_VERSION])) { foreach ($arrRequireExtension[ECCUBE_VERSION] as $val) { if (!extension_loaded($val)) { $arrErr[$key] .= "※ プラグインを利用するには、拡張モジュール「{$val}」が必要です。
";