Ticket #1006 (closed 改善提案: 修正済)
検索パラメータの引き継ぎというコード
Reported by: | miningbrownie | Owned by: | nanasess |
---|---|---|---|
Priority: | 中 | Milestone: | EC-CUBE2.11.0 |
Component: | その他 | Version: | 2.11.0 β |
Keywords: | Cc: | ||
修正済み: |
Description
LC_Page_Admin_Order_Mailで発見した
// 検索パラメータの引き継ぎ - foreach ($_POST as $key => $val) { - if (ereg("^search_", $key)) { - $this->arrSearchHidden[$key] = $val; - } - }
もしこの処理がLC_Page_Admin_.*の色々なところに入っているようであれば、LC_Page_Adminに下記コードを追加したい。
/** * 検索パラメータを配列で返す */ function getSearchParameters($post){ // 検索パラメータの引き継ぎ $searchHiddenParams = array(); foreach ($post as $key => $val) { if (preg_match("/^search_/", $key)) { $searchHiddenParams[$key] = $val; } } return $searchHiddenParams; }
まずはどこで使われているか要調査。
Change History
comment:2 follow-up: ↓ 3 Changed 12 years ago by kimoto
同じことを思ってSC_Utilsに作ってしまいました
/** * keyが正規表現にマッチした配列のみ値を返す * * @param mixed $array * @param mixed $regex * @access public * @return array $results */ function sfFilterKey($array, $regex) { foreach ($array as $key => $val) { if (preg_match("/{$regex}/", $key)) { $results[$key] = $val; } } return $results; }
comment:3 in reply to: ↑ 2 Changed 12 years ago by miningbrownie
- Status changed from new to closed
- Resolution set to 無効
kimoto への返信 使わせていただきます!
comment:4 Changed 12 years ago by nanasess
- Status changed from closed to reopened
- Resolution 無効 deleted
スミマセン. r20133 で, SC_FormParam::getSearchArray() という関数を追加しています.
フォームに対しての処理なので, 確実に入力チェック後の値を取得できることから, こちらの方が良さげだと思いますが, いかがでしょう?
もちろん, SC_FormParam::getSearchArray() の内部で SC_Utils::sfFilterKey() を使用しても良いと思います.
備忘録として差し戻しておきますね.
comment:5 Changed 12 years ago by kotani
- Component changed from フロント to その他
- Milestone changed from EC-CUBE2.11.0 リファクタリングProject to EC-CUBE2.11.0
SC_FormParam::getSearchArray() で統一します。
SC_Utils::sfFilterKey() を使っている下記ページを修正する必要があります。
LC_Page_Admin_Order_Mail.php
LC_Page_Admin_Total.php
Note: See
TracTickets for help on using
tickets.
find ./data/class/pages/admin/ -name "*.php" -exec grep -C 5 -n "foreach (._POST " {} \; -print
抽象化しないといけないかも知れない。。。。。