[Svn-src-all:1395] [version-2_5-dev 20285] #965 (リファクタリング [管理画面]顧客管理)に関する修正 LC_Page_Admin_Customer.php LC_Page_Admin_Customer_Edit.php
AMUAMU
admin @ mail.ec-cube.net
2011年 2月 21日 (月) 06:17:21 JST
Subversion committed to /home/svn/open 20285
http://svn.ec-cube.net/open_trac/changeset/20285
┌────────────────────────────┐
│更新者 : AMUAMU │
│更新日時: 2011-02-21 06:17:20 +0900 (月, 21 2月 2011)│
└────────────────────────────┘
Log:
--------------------------------------------------------
#965 (リファクタリング [管理画面]顧客管理)に関する修正 LC_Page_Admin_Customer.php LC_Page_Admin_Customer_Edit.php
#963 (リファクタリング [管理画面]メルマガ管理)の検索処理共通化修正で正常に動くように動作を合わせた。
SC_Helper_Customer_Ex::sfGetSearchData()を追加。
顧客一覧検索系はSC_Customer_Helperに共通機能多数なので利用を。
検索処理の共通化にあわせて LC_Page_Admin_Mail.php側も修正。
#850 (顧客CSV 列追加時にロジックの変更を不要に)の修正
#870 (CSVアップロードにおいて、CSV項目の種類・数を自由に変更出来る機能)に関連した修正
#657 (CSVダウンロードの改善)に関連した修正
#1024 (「顧客検索→編集→完了→続けて登録→検索に戻る」と遷移した場合に検索条件を引き継がない問題)の改修
予定より時間かかった・・・
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit.tpl
U branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_complete.tpl
U branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_confirm.tpl
U branches/version-2_5-dev/data/Smarty/templates/admin/customer/index.tpl
U branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php
U branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
U branches/version-2_5-dev/data/class/helper/SC_Helper_Session.php
U branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php
U branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php
U branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail.php
D branches/version-2_5-dev/html/admin/customer/customer.php
変更: branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit.tpl 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit.tpl 2011-02-20 21:17:20 UTC (rev 20285)
@@ -45,30 +45,35 @@
<input type="hidden" name="mode" value="search" />
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
<!--{foreach from=$arrSearchData key="key" item="item"}-->
- <!--{if $key ne "customer_id" && $key ne "mode" && $key ne "del_mode" && $key ne "edit_customer_id" && $key ne "del_customer_id" && $key ne "csv_mode" && $key ne "job" && $key ne "sex"}--><input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->"><!--{/if}-->
+ <!--{if $key ne "customer_id" && $key ne "mode" && $key ne "edit_customer_id" && $key ne $smarty.const.TRANSACTION_ID_NAME}-->
+ <!--{if is_array($item)}-->
+ <!--{foreach item=c_item from=$item}-->
+ <input type="hidden" name="<!--{$key|h}-->[]" value="<!--{$c_item|h}-->" />
+ <!--{/foreach}-->
+ <!--{else}-->
+ <input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" />
+ <!--{/if}-->
+ <!--{/if}-->
<!--{/foreach}-->
- <!--{foreach from=$arrSearchData.job key="key" item="item"}-->
- <input type="hidden" name="job[]" value="<!--{$item}-->" />
- <!--{/foreach}-->
- <!--{foreach from=$arrSearchData.sex key="key" item="item"}-->
- <input type="hidden" name="sex[]" value="<!--{$item}-->" />
- <!--{/foreach}-->
</form>
<form name="form1" id="form1" method="post" action="?">
<input type="hidden" name="mode" value="confirm" />
<input type="hidden" name="customer_id" value="<!--{$arrForm.customer_id|h}-->" />
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
+
<!-- 検索条件の保持 -->
<!--{foreach from=$arrSearchData key="key" item="item"}-->
- <!--{if $key ne "job" && $key ne "sex"}--><input type="hidden" name="search_data[<!--{$key|h}-->]" value="<!--{$item|h}-->"><!--{/if}-->
+ <!--{if $key ne "customer_id" && $key ne "mode" && $key ne "edit_customer_id" && $key ne $smarty.const.TRANSACTION_ID_NAME}-->
+ <!--{if is_array($item)}-->
+ <!--{foreach item=c_item from=$item}-->
+ <input type="hidden" name="search_data[<!--{$key|h}-->][]" value="<!--{$c_item|h}-->" />
+ <!--{/foreach}-->
+ <!--{else}-->
+ <input type="hidden" name="search_data[<!--{$key|h}-->]" value="<!--{$item|h}-->" />
+ <!--{/if}-->
+ <!--{/if}-->
<!--{/foreach}-->
- <!--{foreach from=$arrSearchData.job key="key" item="item"}-->
- <input type="hidden" name="search_data[job][]" value="<!--{$item}-->" />
- <!--{/foreach}-->
- <!--{foreach from=$arrSearchData.sex key="key" item="item"}-->
- <input type="hidden" name="search_data[sex][]" value="<!--{$item}-->" />
- <!--{/foreach}-->
<div id="customer" class="contents-main">
<h2><!--{if $arrForm.customer_id}-->顧客編集<!--{else}-->顧客登録<!--{/if}--></h2>
変更: branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_complete.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_complete.tpl 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_complete.tpl 2011-02-20 21:17:20 UTC (rev 20285)
@@ -37,24 +37,34 @@
<input type="hidden" name="mode" value="search" />
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
<!--{foreach from=$arrSearchData key="key" item="item"}-->
- <!--{if $key ne "customer_id" && $key ne "mode" && $key ne "del_mode" && $key ne "edit_customer_id" && $key ne "del_customer_id" && $key ne "csv_mode" && $key ne "job" && $key ne "sex"}--><input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->"><!--{/if}-->
+ <!--{if $key ne "customer_id" && $key ne "mode" && $key ne "edit_customer_id" && $key ne $smarty.const.TRANSACTION_ID_NAME}-->
+ <!--{if is_array($item)}-->
+ <!--{foreach item=c_item from=$item}-->
+ <input type="hidden" name="<!--{$key|h}-->[]" value="<!--{$c_item|h}-->" />
+ <!--{/foreach}-->
+ <!--{else}-->
+ <input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" />
+ <!--{/if}-->
+ <!--{/if}-->
<!--{/foreach}-->
+</form>
- <!--{foreach from=$arrSearchData.job key="key" item="item"}-->
- <input type="hidden" name="job[]" value="<!--{$item}-->" />
+<form name="form1" id="form1" method="post" action="?">
+ <input type="hidden" name="mode" value="complete_return" />
+ <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
+ <!-- 検索条件の保持 -->
+ <!--{foreach from=$arrSearchData key="key" item="item"}-->
+ <!--{if $key ne "customer_id" && $key ne "mode" && $key ne "edit_customer_id" && $key ne $smarty.const.TRANSACTION_ID_NAME}-->
+ <!--{if is_array($item)}-->
+ <!--{foreach item=c_item from=$item}-->
+ <input type="hidden" name="search_data[<!--{$key|h}-->][]" value="<!--{$c_item|h}-->" />
+ <!--{/foreach}-->
+ <!--{else}-->
+ <input type="hidden" name="search_data[<!--{$key|h}-->]" value="<!--{$item|h}-->" />
+ <!--{/if}-->
+ <!--{/if}-->
<!--{/foreach}-->
- <!--{foreach from=$arrSearchData.sex key="key" item="item"}-->
- <input type="hidden" name="sex[]" value="<!--{$item}-->" />
- <!--{/foreach}-->
-</form>
-<form name="form1" id="form1" method="post" action="?">
-<input type="hidden" name="mode" value="complete" />
-<!--{foreach from=$arrForm key=key item=item}-->
-<!--{if $key ne "mode" && $key ne "subm"}-->
-<input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" />
-<!--{/if}-->
-<!--{/foreach}-->
<div id="complete">
<div class="complete-top"></div>
<div class="contents">
@@ -65,8 +75,10 @@
<div class="btn-area-top"></div>
<div class="btn-area">
<ul>
- <li><!--{* TODO *}--><a class="btn-action" href="javascript:;" onclick="return fnReturn();"><span class="btn-prev">検索結果へ戻る</span></a></li>
- <li><a class="btn-action" href="./edit.php"><span class="btn-next">続けて登録を行う</span></a></li>
+ <!--{if $arrSearchData}-->
+ <li><a class="btn-action" href="javascript:;" onclick="return fnReturn();"><span class="btn-prev">検索結果へ戻る</span></a></li>
+ <!--{/if}-->
+ <li><a class="btn-action" href="javascript:;" onclick="fnFormModeSubmit('form1', 'complete_return', '', ''); return false;"><span class="btn-next">続けて登録を行う</span></a></li>
</ul>
</div>
<div class="btn-area-bottom"></div>
変更: branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_confirm.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_confirm.tpl 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/customer/edit_confirm.tpl 2011-02-20 21:17:20 UTC (rev 20285)
@@ -37,20 +37,24 @@
<input type="hidden" name="mode" value="complete" />
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
<!--{foreach from=$arrForm key=key item=item}-->
- <!--{if $key ne "mode" && $key ne "subm"}-->
+ <!--{if $key ne "mode" && $key ne "subm" && $key ne $smarty.const.TRANSACTION_ID_NAME}-->
<input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" />
<!--{/if}-->
<!--{/foreach}-->
+
<!-- 検索条件の保持 -->
<!--{foreach from=$arrSearchData key="key" item="item"}-->
- <!--{if $key ne "job" && $key ne "sex"}--><input type="hidden" name="search_data[<!--{$key|h}-->]" value="<!--{$item|h}-->"><!--{/if}-->
+ <!--{if $key ne "customer_id" && $key ne "mode" && $key ne "edit_customer_id" && $key ne $smarty.const.TRANSACTION_ID_NAME}-->
+ <!--{if is_array($item)}-->
+ <!--{foreach item=c_item from=$item}-->
+ <input type="hidden" name="search_data[<!--{$key|h}-->][]" value="<!--{$c_item|h}-->" />
+ <!--{/foreach}-->
+ <!--{else}-->
+ <input type="hidden" name="search_data[<!--{$key|h}-->]" value="<!--{$item|h}-->" />
+ <!--{/if}-->
+ <!--{/if}-->
<!--{/foreach}-->
- <!--{foreach from=$arrSearchData.job key="key" item="item"}-->
- <input type="hidden" name="search_data[job][]" value="<!--{$item}-->" />
- <!--{/foreach}-->
- <!--{foreach from=$arrSearchData.sex key="key" item="item"}-->
- <input type="hidden" name="search_data[sex][]" value="<!--{$item}-->" />
- <!--{/foreach}-->
+
<div id="customer" class="contents-main">
<h2>顧客編集</h2>
<table class="form">
@@ -108,7 +112,7 @@
</tr>
<tr>
<th>パスワード<span class="attention"> *</span></th>
- <td><!--{$arrForm.password}--></td>
+ <td><!--{$arrForm.password|h}--></td>
</tr>
<tr>
<th>パスワードを忘れたときのヒント<span class="attention"> *</span></th>
変更: branches/version-2_5-dev/data/Smarty/templates/admin/customer/index.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/customer/index.tpl 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/customer/index.tpl 2011-02-20 21:17:20 UTC (rev 20285)
@@ -30,9 +30,9 @@
}
function fnCSVDownload(pageno) {
- document.form1['csv_mode'].value = 'csv';
+ document.form1.mode.value = 'csv';
document.form1.submit();
- document.form1['csv_mode'].value = '';
+ document.form1.mode.value = '';
return false;
}
@@ -82,12 +82,12 @@
<!--{include file="`$smarty.const.TEMPLATE_ADMIN_REALDIR`/adminparts/form_customer_search.tpl"}-->
<tr>
<th>会員状態</th>
- <td colspan="3"><!--{html_checkboxes name="status" options=$arrStatus separator=" " selected=$arrForm.status}--></td>
+ <td colspan="3"><!--{html_checkboxes name="search_status" options=$arrStatus separator=" " selected=$arrForm.search_status.value}--></td>
</tr>
</table>
<div class="btn">
<p class="page_rows">検索結果表示件数
- <select name="page_rows">
+ <select name="search_page_rows">
<!--{html_options options=$arrPageRows selected=$arrForm.page_rows}-->
</select> 件</p>
<div class="btn-area">
@@ -97,30 +97,25 @@
</div>
</div>
</form>
-
<!--{if count($arrErr) == 0 and ($smarty.post.mode == 'search' or $smarty.post.mode == 'delete' or $smarty.post.mode == 'resend_mail')}-->
<!--★★検索結果一覧★★-->
<form name="form1" id="form1" method="post" action="?">
-<!--{foreach from=$smarty.post key="key" item="item"}-->
-<!--{if $key ne "mode" && $key ne "del_mode" && $key ne "edit_customer_id" && $key ne "del_customer_id" && $key ne "search_pageno" && $key ne "csv_mode" && $key ne "job" && $key ne "sex" && $key ne "status"}--><input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->"><!--{/if}-->
-<!--{/foreach}-->
-<!--{foreach from=$smarty.post.job key="key" item="item"}-->
-<input type="hidden" name="job[]" value=<!--{$item}-->>
-<!--{/foreach}-->
-<!--{foreach from=$smarty.post.sex key="key" item="item"}-->
-<input type="hidden" name="sex[]" value=<!--{$item}-->>
-<!--{/foreach}-->
-<!--{foreach from=$smarty.post.status key="key" item="item"}-->
-<input type="hidden" name="status[]" value=<!--{$item}-->>
-<!--{/foreach}-->
<input type="hidden" name="mode" value="search" />
-<input type="hidden" name="del_mode" value="" />
+<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
<input type="hidden" name="edit_customer_id" value="" />
-<input type="hidden" name="del_customer_id" value="" />
<input type="hidden" name="search_pageno" value="<!--{$smarty.post.search_pageno|h}-->" />
-<input type="hidden" name="csv_mode" value="" />
-<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
+<!--{foreach from=$smarty.post key="key" item="item"}-->
+ <!--{if $key ne "mode" && $key ne "edit_customer_id" && $key ne $smarty.const.TRANSACTION_ID_NAME}-->
+ <!--{if is_array($item)}-->
+ <!--{foreach item=c_item from=$item}-->
+ <input type="hidden" name="<!--{$key|h}-->[]" value="<!--{$c_item|h}-->" />
+ <!--{/foreach}-->
+ <!--{else}-->
+ <input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" />
+ <!--{/if}-->
+ <!--{/if}-->
+<!--{/foreach}-->
<h2>検索結果一覧</h2>
<div class="btn">
変更: branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php 2011-02-20 21:17:20 UTC (rev 20285)
@@ -227,16 +227,16 @@
$sql = $objQuery->getSql($cols, $objProduct->prdclsSQL($inner_where),$where);
}else if($csv_id == '2') {
// 顧客の場合
- $sql = "SELECT " . $cols . " FROM dtb_customer " . $where . " " . $order;
+ $sql = "SELECT " . $cols . " FROM dtb_customer " . $where;
}
// 固有処理ここまで
-
+
// ヘッダ構築
$header = $this->sfArrayToCSV($arrOutput['disp_name']);
$header = mb_convert_encoding($header, 'SJIS-Win');
$header .= "\r\n";
-
+
//テンポラリファイル作成
// TODO: パフォーマンス向上には、ストリームを使うようにすると良い
// 環境要件がバージョン5.1以上になったら使うように変えても良いかと
@@ -244,7 +244,6 @@
$tmp_filename = tempnam(CSV_TEMP_REALDIR, $this->arrSubnavi[$csv_id] . '_csv');
$this->fpOutput = fopen($tmp_filename, "w+");
fwrite($this->fpOutput, $header);
-
$objQuery->doCallbackAll(array(&$this, 'cbOutputCSV'), $sql, $arrVal);
fclose($this->fpOutput);
@@ -398,7 +397,6 @@
* @return string 行末の ',' を CRLF に変換した文字列
*/
function replaceLineSuffix($line) {
-// return mb_ereg_replace(",$", "\r\n", $line);
return preg_replace('/,$/',"\r\n",$line);
}
@@ -408,7 +406,6 @@
* 参考: http://jp.php.net/fputcsv
*/
function sfArrayToCsv($fields, $delimiter = ',', $enclosure = '"', $arrayDelimiter = '|') {
-
if( strlen($delimiter) != 1 ) {
trigger_error('delimiter must be a single character', E_USER_WARNING);
return "";
変更: branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php 2011-02-20 21:17:20 UTC (rev 20285)
@@ -503,7 +503,6 @@
$objFormParam->addParam('購入商品コード', 'search_buy_product_code', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objFormParam->addParam('購入商品名', 'search_buy_product_name', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$objFormParam->addParam('カテゴリ', 'search_category_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
- $objFormParam->addParam('編集対象顧客ID', 'search_edit_customer_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
$objFormParam->addParam('性別', 'search_sex', INT_LEN, "n", array("MAX_LENGTH_CHECK"));
$objFormParam->addParam('会員状態', 'search_status', INT_LEN, "n", array("MAX_LENGTH_CHECK"));
$objFormParam->addParam('職業', 'search_job', INT_LEN, "n", array("MAX_LENGTH_CHECK"));
@@ -550,4 +549,40 @@
}
return $arrErr;
}
+
+ /**
+ * 顧客一覧検索をする処理(ページング処理付き、管理画面用共通処理)
+ *
+ * @param array $arrParam 検索パラメーター連想配列
+ * @return array( integer 全体件数, mixed 顧客データ一覧配列, mixed SC_PageNaviオブジェクト)
+ */
+ function sfGetSearchData($arrParam) {
+ $objQuery =& SC_Query::getSingletonInstance();
+ $objSelect = new SC_CustomerList($arrParam, "customer");
+ $page_rows = $arrParam['search_page_rows'];
+ if(SC_Utils_Ex::sfIsInt($page_rows)) {
+ $page_max = $page_rows;
+ }else{
+ $page_max = SEARCH_PMAX;
+ }
+ $disp_pageno = $arrParam['search_pageno'];
+ if($disp_pageno == 0) {
+ $disp_pageno = 1;
+ }
+ $offset = intval($page_max) * (intval($disp_pageno) - 1);
+ $objSelect->setLimitOffset($page_max, $offset);
+
+ $arrData = $objQuery->getAll($objSelect->getList(), $objSelect->arrVal);
+
+ // 該当全体件数の取得
+ $linemax = $objQuery->getOne($objSelect->getListCount(), $objSelect->arrVal);
+
+ // ページ送りの取得
+ $objNavi = new SC_PageNavi($arrParam['search_pageno'],
+ $linemax,
+ $page_max,
+ "fnCustomerPage",
+ NAVI_PMAX);
+ return array($linemax, $arrData, $objNavi);
+ }
}
変更: branches/version-2_5-dev/data/class/helper/SC_Helper_Session.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_Session.php 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Session.php 2011-02-20 21:17:20 UTC (rev 20285)
@@ -175,9 +175,10 @@
* を呼んでおく必要がある.
*
* @access protected
+ * @param boolean $is_unset TODO: nanasessさんが作り変えているらしいですが暫定対応で
* @return boolean トランザクショントークンが有効な場合 true
*/
- function isValidToken() {
+ function isValidToken($is_unset = true) {
$checkToken = "";
@@ -197,7 +198,9 @@
$ret = true;
}
- unset($_SESSION[TRANSACTION_ID_NAME]);
+ if ($is_unset) {
+ unset($_SESSION[TRANSACTION_ID_NAME]);
+ }
return $ret;
}
}
変更: branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php 2011-02-20 21:17:20 UTC (rev 20285)
@@ -93,8 +93,9 @@
SC_Utils_Ex::sfIsSuccess(new SC_Session());
// 不正アクセスチェック
+ // FIXME: nanasessさんが作り変えて共通化しているようなので暫定で isValidToken(false)
if ($_SERVER["REQUEST_METHOD"] == "POST") {
- if (!SC_Helper_Session_Ex::isValidToken()) {
+ if (!SC_Helper_Session_Ex::isValidToken(false)) {
SC_Utils_Ex::sfDispError(INVALID_MOVE_ERRORR);
}
}
@@ -108,9 +109,10 @@
$objFormParam->setParam($_POST);
$objFormParam->convParam();
// パラメーター読み込み
- $this->arrForm = $this->lfGetFormParam($objFormParam);
+ $this->arrForm = $objFormParam->getFormParamList();
// 検索ワードの引き継ぎ
- $this->arrHidden = $this->lfGetSearchWords($objFormParam);
+ $this->arrHidden = $objFormParam->getSearchArray();
+
// 入力パラメーターチェック
$this->arrErr = $this->lfCheckError($objFormParam);
if(!SC_Utils_Ex::isBlank($this->arrErr)) {
@@ -121,20 +123,20 @@
switch ($this->getMode()) {
case 'delete':
$this->is_delete = $this->lfDoDeleteCustomer($objFormParam->getValue('edit_customer_id'));
- list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm);
+ list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray());
$this->arrPagenavi = $this->objNavi->arrPagenavi;
break;
case 'resend_mail':
$this->is_resendmail = $this->lfDoResendMail($objFormParam->getValue('edit_customer_id'));
- list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm);
+ list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray());
$this->arrPagenavi = $this->objNavi->arrPagenavi;
break;
case 'search':
- list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($this->arrForm);
+ list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray());
$this->arrPagenavi = $this->objNavi->arrPagenavi;
break;
case 'csv':
- $this->lfDoCSV($this->arrForm);
+ $this->lfDoCSV($objFormParam->getHashArray());
exit;
break;
default:
@@ -159,6 +161,7 @@
*/
function lfInitParam(&$objFormParam) {
SC_Helper_Customer_Ex::sfSetSearchParam($objFormParam);
+ $objFormParam->addParam('編集対象顧客ID', 'edit_customer_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));
}
/**
@@ -215,31 +218,7 @@
* @return array( integer 全体件数, mixed 顧客データ一覧配列, mixed SC_PageNaviオブジェクト)
*/
function lfDoSearch($arrParam) {
- $objQuery =& SC_Query::getSingletonInstance();
- $objSelect = new SC_CustomerList($arrParam, "customer");
- $page_rows = $arrParam['page_rows'];
- if(SC_Utils_Ex::sfIsInt($page_rows)) {
- $page_max = $page_rows;
- }else{
- $page_max = SEARCH_PMAX;
- }
- $disp_pageno = $arrParam['search_pageno'];
- if($disp_pageno == 0) {
- $disp_pageno = 1;
- }
- $offset = $page_max * ($disp_pageno - 1);
- $objSelect->setLimitOffset($page_max, $offset);
- $arrData = $objQuery->getAll($objSelect->getList(), $objSelect->arrVal);
-
- // 該当全体件数の取得
- $linemax = $objQuery->getOne($objSelect->getListCount(), $objSelect->arrVal);
- // ページ送りの取得
- $objNavi = new SC_PageNavi($arrParam['search_pageno'],
- $linemax,
- $page_max,
- "fnCustomerPage",
- NAVI_PMAX);
- return array($linemax, $arrData, $objNavi);
+ return SC_Helper_Customer_Ex::sfGetSearchData($arrParam);
}
/**
@@ -251,48 +230,11 @@
function lfDoCSV($arrParam) {
$objSelect = new SC_CustomerList($arrParam, "customer");
$order = "update_date DESC, customer_id DESC";
+
require_once(CLASS_EX_REALDIR . "helper_extends/SC_Helper_CSV_Ex.php");
$objCSV = new SC_Helper_CSV_Ex();
list($where, $arrVal) = $objSelect->getWhere();
- $objCSV->sfDownloadCsv('2', $where, $arrVal);
+ return $objCSV->sfDownloadCsv('2', $where, $arrVal, $order, true);
}
-
- /**
- * 検索パラメーター引継ぎ用展開
- *
- * @param array $objFormParam フォームパラメータークラス
- * @return array 引き継ぎ用連想配列
- */
- function lfGetSearchWords(&$objFormParam) {
- $arrData = $objFormParam->getSearchArray("search_");
- $arrData['sex'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('sex'));
- $arrData['status'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('status'));
- $arrData['job'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('job'));
- }
-
- /**
- * 表示用パラメーター値取得処理
- *
- * @param array $objFormParam フォームパラメータークラス
- * @return array 表示用連想配列
- */
- function lfGetFormParam(&$objFormParam) {
- $arrForm = $objFormParam->getHashArray();
- // 配列形式のデータの展開処理
- $val_sex = $objFormParam->getValue('sex');
- if(!is_array($val_sex) and !SC_Utils_Ex::isBlank($val_sex)) {
- $arrForm['sex'] = explode("-", $val_sex);
- }
- $val_status = $objFormParam->getValue('status');
- if(!is_array($val_status) and !SC_Utils_Ex::isBlank($val_status)) {
- $arrForm['status'] = explode("-", $val_status);
- }
- $val_job = $objFormParam->getValue('job');
- if(!is_array($val_job) and !SC_Utils_Ex::isBlank($val_job)) {
- $arrForm['job'] = explode("-", $val_job);
- }
- return $arrForm;
- }
-
}
?>
変更: branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php 2011-02-20 21:17:20 UTC (rev 20285)
@@ -110,7 +110,7 @@
$this->lfInitSearchParam($objFormSearchParam);
$objFormSearchParam->setParam($_REQUEST);
$this->arrErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
- $this->arrSearchData = $objFormSearchParam->getHashArray();
+ $this->arrSearchData = $objFormSearchParam->getSearchArray();
if(!SC_Utils_Ex::isBlank($this->arrErr)) {
return;
}
@@ -134,7 +134,7 @@
$this->lfInitSearchParam($objFormSearchParam);
$objFormSearchParam->setParam($objFormParam->getValue("search_data"));
$this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
- $this->arrSearchData = $objFormSearchParam->getHashArray();
+ $this->arrSearchData = $objFormSearchParam->getSearchArray();
if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) {
return;
}
@@ -153,7 +153,7 @@
$this->lfInitSearchParam($objFormSearchParam);
$objFormSearchParam->setParam($objFormParam->getValue("search_data"));
$this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
- $this->arrSearchData = $objFormSearchParam->getHashArray();
+ $this->arrSearchData = $objFormSearchParam->getSearchArray();
if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) {
return;
}
@@ -177,13 +177,24 @@
$this->lfInitSearchParam($objFormSearchParam);
$objFormSearchParam->setParam($objFormParam->getValue("search_data"));
$this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
- $this->arrSearchData = $objFormSearchParam->getHashArray();
+ $this->arrSearchData = $objFormSearchParam->getSearchArray();
if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) {
return;
}
$this->lfRegistData($objFormParam);
$this->tpl_mainpage = 'customer/edit_complete.tpl';
break;
+ case 'complete_return':
+ //検索引き継ぎ用パラメーター処理
+ $this->lfInitParam($objFormParam);
+ $objFormParam->setParam($_POST);
+ $this->lfInitSearchParam($objFormSearchParam);
+ $objFormSearchParam->setParam($objFormParam->getValue("search_data"));
+ $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam);
+ $this->arrSearchData = $objFormSearchParam->getSearchArray();
+ if(!SC_Utils_Ex::isBlank($this->arrSearchErr)) {
+ return;
+ }
default:
break;
}
変更: branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail.php 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail.php 2011-02-20 21:17:20 UTC (rev 20285)
@@ -347,33 +347,7 @@
* @return array( integer 全体件数, mixed 顧客データ一覧配列, mixed SC_PageNaviオブジェクト)
*/
function lfDoSearch($arrParam) {
- $objQuery =& SC_Query::getSingletonInstance();
- $objSelect = new SC_CustomerList($arrParam, "customer");
- $page_rows = $arrParam['search_page_rows'];
- if(SC_Utils_Ex::sfIsInt($page_rows)) {
- $page_max = $page_rows;
- }else{
- $page_max = SEARCH_PMAX;
- }
- $disp_pageno = $arrParam['search_pageno'];
- if($disp_pageno == 0) {
- $disp_pageno = 1;
- }
- $offset = intval($page_max) * (intval($disp_pageno) - 1);
- $objSelect->setLimitOffset($page_max, $offset);
-
- $arrData = $objQuery->getAll($objSelect->getList(), $objSelect->arrVal);
-
- // 該当全体件数の取得
- $linemax = $objQuery->getOne($objSelect->getListCount(), $objSelect->arrVal);
-
- // ページ送りの取得
- $objNavi = new SC_PageNavi($arrParam['search_pageno'],
- $linemax,
- $page_max,
- "fnCustomerPage",
- NAVI_PMAX);
- return array($linemax, $arrData, $objNavi);
+ return SC_Helper_Customer_Ex::sfGetSearchData($arrParam);
}
// 現在時刻の取得(配信時間デフォルト値)
削除: branches/version-2_5-dev/html/admin/customer/customer.php
===================================================================
--- branches/version-2_5-dev/html/admin/customer/customer.php 2011-02-20 17:51:58 UTC (rev 20284)
+++ branches/version-2_5-dev/html/admin/customer/customer.php 2011-02-20 21:17:20 UTC (rev 20285)
@@ -1,35 +0,0 @@
-<?php
-/*
- * This file is part of EC-CUBE
- *
- * Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved.
- *
- * http://www.lockon.co.jp/
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-// {{{ requires
-require_once '../require.php';
-require_once CLASS_EX_REALDIR . 'page_extends/admin/customer/LC_Page_Admin_Customer_Customer_Ex.php';
-
-// }}}
-// {{{ generate page
-
-$objPage = new LC_Page_Admin_Customer_Customer_Ex();
-register_shutdown_function(array($objPage, 'destroy'));
-$objPage->init();
-$objPage->process();
-?>
Svn-src-all メーリングリストの案内