Ticket #371 (closed バグ指摘: 修正済)
支払方法設定で、Warning: array_merge() のエラー
Reported by: | homan | Owned by: | nakanishi |
---|---|---|---|
Priority: | 中 | Milestone: | EC-CUBE2.3.4 |
Component: | 管理画面 | Version: | 2.3.0 |
Keywords: | Cc: | ||
修正済み: |
Description
PHP5の環境でなる模様(僕もPHP5ですが、今のところ確認できていません)。
array_merge()の仕様がPHP4とPHP5とで変更されているようで、 必ず型データを渡さないとエラー(警告?)が出るようです。
参照: http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=2917&forum=9
上記の参照スレッドでの問題は、$this->arrErrが未定義の為に起こるみたいですが、 ファイル存在チェックの前に
$this->arrErr = $this->lfCheckError(); // ファイル存在チェック $this->arrErr = array_merge($this->arrErr, $this->objUpFile->checkEXISTS($_POST['image_key']));
をするか、それとも
// ファイル存在チェック $this->arrErr = array_merge($this->lfCheckError(), $this->objUpFile->checkEXISTS($_POST['image_key']));
とか、型キャストを利用して
// ファイル存在チェック $this->arrErr = array_merge((array)$this->arrErr, $this->objUpFile->checkEXISTS($_POST['image_key']));
とするのか・・・どれがいいのか、どれもよくないのか 判断ができないのでご査収頂けると幸いです。 エラー内容をマージしてるので、 3番目の型キャストはあんまり意味がない?でしょうかね。
Change History
comment:1 Changed 16 years ago by homan
- Summary changed from 払方法設定で、Warning: array_merge() のエラー to 支払方法設定で、Warning: array_merge() のエラー
comment:3 Changed 15 years ago by nakanishi
- Owner changed from somebody to nakanishi
- Status changed from new to assigned
comment:4 Changed 15 years ago by nakanishi
PHP5.2.6環境で掲題のワーニングが出ました。 ご提案いただいた方法の3番目の修正方法以外では再現しました。 チェックする項目が画像のアップロードのみなのでコミュニティでの修正方法(単一の変数として扱う)で問題ないと思います。 r17726で修正。
comment:5 Changed 15 years ago by kajiwara
- Version changed from 2.3.0 to 2.4.0RC-1
- Milestone changed from EC-CUBE2.3.4 to EC-CUBE2.4.0
comment:6 Changed 15 years ago by kajiwara
- Status changed from assigned to closed
- Resolution set to 修正済
r17726 にて修正済。2.4.0RC-1用リポジトリ へ反映済。
Note: See
TracTickets for help on using
tickets.