Ticket #371 (closed バグ指摘: 修正済)

Opened 12 years ago

Last modified 10 years ago

支払方法設定で、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 12 years ago by homan

  • Summary changed from 払方法設定で、Warning: array_merge() のエラー to 支払方法設定で、Warning: array_merge() のエラー

comment:2 Changed 12 years ago by nakanishi

  • Milestone changed from EC-CUBE to EC-CUBE2.3.3

comment:3 Changed 12 years ago by nakanishi

  • Owner changed from somebody to nakanishi
  • Status changed from new to assigned

comment:4 Changed 12 years ago by nakanishi

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

comment:5 Changed 12 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 12 years ago by kajiwara

  • Status changed from assigned to closed
  • Resolution set to 修正済

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

comment:7 Changed 12 years ago by kajiwara

  • Version changed from 2.4.0RC-1 to 2.3.0

comment:8 Changed 12 years ago by kajiwara

  • Milestone changed from EC-CUBE2.4.0 to EC-CUBE2.3.4

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

comment:9 Changed 10 years ago by Seasoft

コミュニティ r17911

Note: See TracTickets for help on using tickets.