チケット #371 (closed バグ指摘: 修正済)

登録: 4 年

最終更新: 23 か月

支払方法設定で、Warning: array_merge() のエラー

報告者: homan 担当者: nakanishi
優先度: マイルストーン: EC-CUBE2.3.4
コンポーネント: 管理画面 バージョン: 2.3.0
キーワード: 関係者:
修正済み:

説明

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番目の型キャストはあんまり意味がない?でしょうかね。

チケットの履歴

更新者: homan (4 年 前)

  • 概要払方法設定で、Warning: array_merge() のエラー から 支払方法設定で、Warning: array_merge() のエラー に変更されました。

更新者: nakanishi (3 年 前)

  • マイルストーンEC-CUBE から EC-CUBE2.3.3 に変更されました。

更新者: nakanishi (3 年 前)

  • 担当者 somebody から nakanishi に変更されました
  • ステータスnew から assigned に変更されました。

更新者: nakanishi (3 年 前)

PHP5.2.6環境で掲題のワーニングが出ました。 ご提案いただいた方法の3番目の修正方法以外では再現しました。 チェックする項目が画像のアップロードのみなのでコミュニティでの修正方法(単一の変数として扱う)で問題ないと思います。 r17726で修正。

更新者: kajiwara (3 年 前)

  • バージョン2.3.0 から 2.4.0RC-1 に変更されました。
  • マイルストーンEC-CUBE2.3.4 から EC-CUBE2.4.0 に変更されました。

更新者: kajiwara (3 年 前)

  • ステータスassigned から closed に変更されました。
  • 解決方法修正済 に設定されました。

r17726 にて修正済。2.4.0RC-1用リポジトリ へ反映済。

更新者: kajiwara (3 年 前)

  • バージョン2.4.0RC-1 から 2.3.0 に変更されました。

更新者: kajiwara (3 年 前)

  • マイルストーンEC-CUBE2.4.0 から EC-CUBE2.3.4 に変更されました。

r17726 にて EC-CUBE 2.3.4 に反映済。
調整のためマイルストーンをEC-CUBE2.4.0に一旦いたしましたが、2.3.4に戻します。

更新者: Seasoft (23 か月 前)

コミュニティ r17911

Note: チケットについてのヘルプは TracTickets を参照 して下さい。