操作
Backport(バックポート) #1761
完了occurs "warning" when second argument of the __() i18n translation method is non-array (i18nの翻訳メソッド__の第二引数に配列以外を渡した場合に warning が発生する)
開始日:
2010-11-08
期日:
進捗率:
100%
予定工数:
説明
再現バージョン¶
- OpenPNE3: OpenPNE3.6beta7-dev
概要¶
この現象は以下のURIにて確認可能です。
pc_frontend_dev.php/connection/new
opToolkit::retrieveAPIList() にて下記のように第二引数に null を指定している箇所がある。
if ($isWithI18n) { $caption = $i18n->__($caption, null, 'api'); }
opI18N::__() の問題の箇所で foreach() をしているため warning となっている。
foreach ($args as $k => $v) { if ($v instanceof SnsTerm) { $args[$k] = (string)$v; } }
さらに return 時に array_merge を行っているため、この対応も必要である。
return parent::__($string, array_merge($this->parsed[$string], $args), $catalogue);
修正方針¶
第二引数が配列でない場合に foreach() を処理しないようにし、
同様に array_merge() も行わないように修正を行う。
操作