Changeset 20286
- Timestamp:
- 2011/02/21 07:07:46 (13 years ago)
- Location:
- branches/version-2_5-dev/data
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/Smarty/templates/admin/customer/search_customer.tpl
r20116 r20286 43 43 <input name="search_pageno" type="hidden" value=""> 44 44 <input name="customer_id" type="hidden" value=""> 45 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 46 45 47 <table class="form"> 46 48 <colgroup width="20%"> … … 49 51 <th class="colmun">顧客ID</th> 50 52 <td width="287" colspan="2"> 51 <!--{if $arrErr.search_customer_id}--><span class="red12"><!--{$arrErr.search_customer_id}--></span><!--{/if}--> 52 <input type="text" name="search_customer_id" value="<!--{$arrForm.search_customer_id|h}-->" size="40" class="box40" style="<!--{$arrErr.search_customer_id|sfGetErrorColor}-->"/> 53 <!--{assign var=key value="search_customer_id"}--> 54 <!--{if $arrErr[$key]}--><span class="attention"><!--{$arrErr[$key]}--></span><br /><!--{/if}--> 55 <input type="text" name="<!--{$key}-->" maxlength="<!--{$arrForm[$key].length}-->" value="<!--{$arrForm[$key].value|h}-->" size="30" class="box30" <!--{if $arrErr[$key]}--><!--{sfSetErrorStyle}--><!--{/if}--> /> 53 56 </td> 54 57 </tr> … … 56 59 <th class="colmun">顧客名</th> 57 60 <td> 58 <!--{if $arrErr.search_name01}--><span class="red12"><!--{$arrErr.search_name01}--></span><!--{/if}--> 59 <!--{if $arrErr.search_name02}--><span class="red12"><!--{$arrErr.search_name02}--></span><!--{/if}--> 60 姓 <input type="text" name="search_name01" value="<!--{$arrForm.search_name01|h}-->" size="15" class="box15" style="<!--{$arrErr.search_name01|sfGetErrorColor}-->"/> 61 名 <input type="text" name="search_name02" value="<!--{$arrForm.search_name02|h}-->" size="15" class="box15" style="<!--{$arrErr.search_name02|sfGetErrorColor}-->"/> 61 <!--{assign var=key value="search_name"}--> 62 <!--{if $arrErr[$key]}--><span class="attention"><!--{$arrErr[$key]}--></span><br /><!--{/if}--> 63 <input type="text" name="<!--{$key}-->" maxlength="<!--{$arrForm[$key].length}-->" value="<!--{$arrForm[$key].value|h}-->" size="30" class="box30" <!--{if $arrErr[$key]}--><!--{sfSetErrorStyle}--><!--{/if}--> /> 62 64 </td> 63 65 </tr> … … 65 67 <th class="colmun">顧客名(カナ)</th> 66 68 <td> 67 <!--{if $arrErr.search_kana01}--><span class="red12"><!--{$arrErr.search_kana01}--></span><!--{/if}--> 68 <!--{if $arrErr.search_kana02}--><span class="red12"><!--{$arrErr.search_kana02}--></span><!--{/if}--> 69 セイ<input type="text" name="search_kana01" value="<!--{$arrForm.search_kana01|h}-->" size="15" class="box15" style="<!--{$arrErr.search_kana01|sfGetErrorColor}-->"/> 70 メイ <input type="text" name="search_kana02" value="<!--{$arrForm.search_kana02|h}-->" size="15" class="box15" style="<!--{$arrErr.search_kana02|sfGetErrorColor}-->"/> 69 <!--{assign var=key value="search_kana"}--> 70 <!--{if $arrErr[$key]}--><span class="attention"><!--{$arrErr[$key]}--></span><br /><!--{/if}--> 71 <input type="text" name="<!--{$key}-->" maxlength="<!--{$arrForm[$key].length}-->" value="<!--{$arrForm[$key].value|h}-->" size="30" class="box30" <!--{if $arrErr[$key]}--><!--{sfSetErrorStyle}--><!--{/if}--> /> 71 72 </td> 72 73 </tr> -
branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_SearchCustomer.php
r20116 r20286 66 66 function action() { 67 67 // 認証可否の判定 68 $objSess = new SC_Session(); 69 SC_Utils_Ex::sfIsSuccess($objSess); 68 SC_Utils_Ex::sfIsSuccess(new SC_Session()); 69 70 // 不正アクセスチェック 71 if ($_SERVER["REQUEST_METHOD"] == "POST") { 72 if (!SC_Helper_Session_Ex::isValidToken()) { 73 SC_Utils_Ex::sfDispError(INVALID_MOVE_ERRORR); 74 } 75 } 76 // トランザクションID 77 $this->transactionid = SC_Helper_Session_Ex::getToken(); 78 79 // パラメータ管理クラス 80 $objFormParam = new SC_FormParam(); 81 // パラメータ設定 82 $this->lfInitParam($objFormParam); 83 $objFormParam->setParam($_POST); 84 $objFormParam->convParam(); 85 // パラメーター読み込み 86 $this->arrForm = $objFormParam->getFormParamList(); 87 // 入力パラメーターチェック 88 $this->arrErr = $this->lfCheckError($objFormParam); 89 if(!SC_Utils_Ex::isBlank($this->arrErr)) { 90 return; 91 } 70 92 71 93 // POSTのモードがsearchなら顧客検索開始 72 94 switch ($this->getMode()) { 73 95 case 'search': 74 $this->objFormParam = new SC_FormParam(); 75 // 値の初期化 76 $this->lfInitParam(); 77 // POST値の取得 78 $this->objFormParam->setParam($_POST); 79 // 入力値の変換 80 $this->objFormParam->convParam(); 81 82 // 入力された値を取得する 83 $arrForm = $this->objFormParam->getHashArray(); 84 85 // エラーチェック 86 $this->arrErr = $this->lfCheckError(); 87 $is_select = empty($this->arrErr); 88 89 $sqlval = array(); 90 $where = ""; 91 92 if ($is_select) { 93 $where = "del_flg = 0"; 94 95 // 検索 96 foreach($arrForm as $tmp_key => $val){ 97 if( is_array($val) === false && 0 < strlen($val)){ 98 $key = strtr($tmp_key , array('search_' => '')); 99 switch($key){ 100 case 'customer_id': 101 $where .= " AND customer_id = ? "; 102 $sqlval[] = $val; 103 break; 104 case 'name01': 105 $where .= " AND name01 ILIKE ? "; 106 $sqlval[] = '%'.$val.'%'; 107 break; 108 case 'name02': 109 $where .= " AND name02 ILIKE ? "; 110 $sqlval[] = '%'.$val.'%'; 111 break; 112 case 'kana01': 113 $where .= " AND kana01 ILIKE ? "; 114 $sqlval[] = '%'.$val.'%'; 115 break; 116 case 'kana02': 117 $where .= " AND kana02 ILIKE ? "; 118 $sqlval[] = '%'.$val.'%'; 119 break; 120 default : 121 break; 122 } 123 } 124 } 125 } 126 127 128 if( $is_select === true ){ 129 $objQuery = new SC_Query(); 130 131 // 既に購入した事がある顧客を取得 132 $col = '*'; 133 $from = 'dtb_customer'; 134 $order = 'customer_id'; 135 $arrCustomer = $objQuery->select($col, $from, $where, $sqlval); 136 137 // 顧客情報を取得できたら、テンプレートに 138 if( is_array($arrCustomer) === true && count($arrCustomer) > 0){ 139 $customer_count = count($arrCustomer); 140 if( $customer_count != 0 ){ 141 $this->tpl_linemax = $customer_count; 142 } 143 } else { 144 $this->tpl_linemax = null; 145 } 146 147 // ページ送りの処理 148 if(isset($_POST['search_page_max']) 149 && is_numeric($_POST['search_page_max'])) { 150 $page_max = $_POST['search_page_max']; 151 } else { 152 $page_max = SEARCH_PMAX; 153 } 154 155 // ページ送りの取得 156 $objNavi = new SC_PageNavi($_POST['search_pageno'], $customer_count, $page_max, "fnNaviSearchOnlyPage", NAVI_PMAX); 157 $this->tpl_strnavi = $objNavi->strnavi; // 表示文字列 158 $startno = $objNavi->start_row; 159 160 // 取得範囲の指定(開始行番号、行数のセット) 161 $objQuery->setLimitOffset($page_max, $startno); 162 // 表示順序 163 $objQuery->setOrder($order); 164 // 検索結果の取得 165 $this->arrCustomer = $objQuery->select($col, $from, $where, $sqlval); 166 } 96 list($this->tpl_linemax, $this->arrCustomer, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray()); 97 $this->arrPagenavi = $this->objNavi->arrPagenavi; 167 98 break; 168 99 default: 169 100 break; 170 101 } 171 $this->arrForm = $arrForm;172 102 $this->setTemplate($this->tpl_mainpage); 173 103 } … … 183 113 } 184 114 185 /* パラメータ情報の初期化 */ 186 function lfInitParam() { 187 $this->objFormParam->addParam("顧客ID", "search_customer_id", INT_LEN, "n", array("NUM_CHECK", "MAX_LENGTH_CHECK")); 188 $this->objFormParam->addParam("顧客名(姓)", "search_name01", STEXT_LEN, "aKV", array("NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 189 $this->objFormParam->addParam("顧客名(名)", "search_name02", STEXT_LEN, "aKV", array("NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK")); 190 $this->objFormParam->addParam("顧客名(カナ)", 'search_kana01', STEXT_LEN, "CKV", array("NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 191 $this->objFormParam->addParam("顧客名(カナ/名)", 'search_kana02', STEXT_LEN, "CKV", array("NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK", "KANA_CHECK")); 115 /** 116 * パラメーター情報の初期化 117 * 118 * @param array $objFormParam フォームパラメータークラス 119 * @return void 120 */ 121 function lfInitParam(&$objFormParam) { 122 SC_Helper_Customer_Ex::sfSetSearchParam($objFormParam); 192 123 } 193 124 194 /* 入力内容のチェック */ 195 function lfCheckError() { 196 // 入力データを渡す。 197 $arrRet = $this->objFormParam->getHashArray(); 198 $objErr = new SC_CheckError($arrRet); 199 $objErr->arrErr = $this->objFormParam->checkError(); 125 /** 126 * エラーチェック 127 * 128 * @param array $objFormParam フォームパラメータークラス 129 * @return array エラー配列 130 */ 131 function lfCheckError(&$objFormParam) { 132 return SC_Helper_Customer_Ex::sfCheckErrorSearchParam($objFormParam); 133 } 200 134 201 return $objErr->arrErr; 135 /** 136 * 顧客一覧を検索する処理 137 * 138 * @param array $arrParam 検索パラメーター連想配列 139 * @return array( integer 全体件数, mixed 顧客データ一覧配列, mixed SC_PageNaviオブジェクト) 140 */ 141 function lfDoSearch($arrParam) { 142 return SC_Helper_Customer_Ex::sfGetSearchData($arrParam); 202 143 } 203 144 }
Note: See TracChangeset
for help on using the changeset viewer.