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

Opened 12 years ago

Last modified 12 years ago

モバイルサイトで配列をPOSTするとき

Reported by: takegami Owned by: somebody
Priority: Milestone: EC-CUBE2.3.1
Component: フロント Version: 2.3.0RC-1
Keywords: Cc:
修正済み:

Description

モバイルサイトで配列をPOSTするときarray展開を行わず
SJISに変換するため配列が「Array」の文字列に置き換わり出力される。
lfMobileConvertInputValueを下記に置き換える

function lfMobileConvertInputValue(&$value) {

配列の場合は再起を行う

if (is_array($value)) {

foreach($value as $key => $val ){

$this->lfMobileConvertInputValue($value[$key]);

}

} else {

Shift JIS から内部エンコーディングに変換する。
$value = mb_convert_encoding($value, CHAR_CODE, 'SJIS');
SoftBank? 以外の絵文字は外字領域に含まれるため、この段階で除去される。
SoftBank? の絵文字を除去する。
$value = preg_replace('/
x1b
$[
x0f]*
x0f/', , $value);

}

}

Change History

comment:1 Changed 12 years ago by satou

  • Version changed from 2.1.2(正式版) to 2.3.0(正式版)

"mb_convert_variables"という関数でもいけると思います。

comment:2 Changed 12 years ago by takegami

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

comment:3 Changed 12 years ago by takegami

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

r17659 preg_replaceが存在するため「mb_convert_variables」を使用しても foreachで回す必要があるため。通常対応。

comment:4 Changed 12 years ago by takegami

  • Milestone changed from EC-CUBE2.x.x to EC-CUBE2.3.1
Note: See TracTickets for help on using tickets.