Changeset 20285 for branches/version-2_5-dev/data/class
- Timestamp:
- 2011/02/21 06:17:20 (15 years ago)
- Location:
- branches/version-2_5-dev/data/class
- Files:
-
- 6 edited
-
helper/SC_Helper_CSV.php (modified) (4 diffs)
-
helper/SC_Helper_Customer.php (modified) (2 diffs)
-
helper/SC_Helper_Session.php (modified) (2 diffs)
-
pages/admin/customer/LC_Page_Admin_Customer.php (modified) (6 diffs)
-
pages/admin/customer/LC_Page_Admin_Customer_Edit.php (modified) (5 diffs)
-
pages/admin/mail/LC_Page_Admin_Mail.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/helper/SC_Helper_CSV.php
r20280 r20285 228 228 }else if($csv_id == '2') { 229 229 // 顧客の場合 230 $sql = "SELECT " . $cols . " FROM dtb_customer " . $where . " " . $order;230 $sql = "SELECT " . $cols . " FROM dtb_customer " . $where; 231 231 232 232 } 233 233 // 固有処理ここまで 234 234 235 235 // ヘッダ構築 236 236 $header = $this->sfArrayToCSV($arrOutput['disp_name']); 237 237 $header = mb_convert_encoding($header, 'SJIS-Win'); 238 238 $header .= "\r\n"; 239 239 240 240 //テンポラリファイル作成 241 241 // TODO: パフォーマンス向上には、ストリームを使うようにすると良い … … 245 245 $this->fpOutput = fopen($tmp_filename, "w+"); 246 246 fwrite($this->fpOutput, $header); 247 248 247 $objQuery->doCallbackAll(array(&$this, 'cbOutputCSV'), $sql, $arrVal); 249 248 … … 399 398 */ 400 399 function replaceLineSuffix($line) { 401 // return mb_ereg_replace(",$", "\r\n", $line);402 400 return preg_replace('/,$/',"\r\n",$line); 403 401 } … … 409 407 */ 410 408 function sfArrayToCsv($fields, $delimiter = ',', $enclosure = '"', $arrayDelimiter = '|') { 411 412 409 if( strlen($delimiter) != 1 ) { 413 410 trigger_error('delimiter must be a single character', E_USER_WARNING); -
branches/version-2_5-dev/data/class/helper/SC_Helper_Customer.php
r20281 r20285 504 504 $objFormParam->addParam('購入商品名', 'search_buy_product_name', STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 505 505 $objFormParam->addParam('カテゴリ', 'search_category_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 506 $objFormParam->addParam('編集対象顧客ID', 'search_edit_customer_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK"));507 506 $objFormParam->addParam('性別', 'search_sex', INT_LEN, "n", array("MAX_LENGTH_CHECK")); 508 507 $objFormParam->addParam('会員状態', 'search_status', INT_LEN, "n", array("MAX_LENGTH_CHECK")); … … 551 550 return $arrErr; 552 551 } 552 553 /** 554 * 顧客一覧検索をする処理(ページング処理付き、管理画面用共通処理) 555 * 556 * @param array $arrParam 検索パラメーター連想配列 557 * @return array( integer 全体件数, mixed 顧客データ一覧配列, mixed SC_PageNaviオブジェクト) 558 */ 559 function sfGetSearchData($arrParam) { 560 $objQuery =& SC_Query::getSingletonInstance(); 561 $objSelect = new SC_CustomerList($arrParam, "customer"); 562 $page_rows = $arrParam['search_page_rows']; 563 if(SC_Utils_Ex::sfIsInt($page_rows)) { 564 $page_max = $page_rows; 565 }else{ 566 $page_max = SEARCH_PMAX; 567 } 568 $disp_pageno = $arrParam['search_pageno']; 569 if($disp_pageno == 0) { 570 $disp_pageno = 1; 571 } 572 $offset = intval($page_max) * (intval($disp_pageno) - 1); 573 $objSelect->setLimitOffset($page_max, $offset); 574 575 $arrData = $objQuery->getAll($objSelect->getList(), $objSelect->arrVal); 576 577 // 該当全体件数の取得 578 $linemax = $objQuery->getOne($objSelect->getListCount(), $objSelect->arrVal); 579 580 // ページ送りの取得 581 $objNavi = new SC_PageNavi($arrParam['search_pageno'], 582 $linemax, 583 $page_max, 584 "fnCustomerPage", 585 NAVI_PMAX); 586 return array($linemax, $arrData, $objNavi); 587 } 553 588 } -
branches/version-2_5-dev/data/class/helper/SC_Helper_Session.php
r20116 r20285 176 176 * 177 177 * @access protected 178 * @param boolean $is_unset TODO: nanasessさんが作り変えているらしいですが暫定対応で 178 179 * @return boolean トランザクショントークンが有効な場合 true 179 180 */ 180 function isValidToken( ) {181 function isValidToken($is_unset = true) { 181 182 182 183 $checkToken = ""; … … 198 199 } 199 200 200 unset($_SESSION[TRANSACTION_ID_NAME]); 201 if ($is_unset) { 202 unset($_SESSION[TRANSACTION_ID_NAME]); 203 } 201 204 return $ret; 202 205 } -
branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer.php
r20232 r20285 94 94 95 95 // 不正アクセスチェック 96 // FIXME: nanasessさんが作り変えて共通化しているようなので暫定で isValidToken(false) 96 97 if ($_SERVER["REQUEST_METHOD"] == "POST") { 97 if (!SC_Helper_Session_Ex::isValidToken( )) {98 if (!SC_Helper_Session_Ex::isValidToken(false)) { 98 99 SC_Utils_Ex::sfDispError(INVALID_MOVE_ERRORR); 99 100 } … … 109 110 $objFormParam->convParam(); 110 111 // パラメーター読み込み 111 $this->arrForm = $ this->lfGetFormParam($objFormParam);112 $this->arrForm = $objFormParam->getFormParamList(); 112 113 // 検索ワードの引き継ぎ 113 $this->arrHidden = $this->lfGetSearchWords($objFormParam); 114 $this->arrHidden = $objFormParam->getSearchArray(); 115 114 116 // 入力パラメーターチェック 115 117 $this->arrErr = $this->lfCheckError($objFormParam); … … 122 124 case 'delete': 123 125 $this->is_delete = $this->lfDoDeleteCustomer($objFormParam->getValue('edit_customer_id')); 124 list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($ this->arrForm);126 list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray()); 125 127 $this->arrPagenavi = $this->objNavi->arrPagenavi; 126 128 break; 127 129 case 'resend_mail': 128 130 $this->is_resendmail = $this->lfDoResendMail($objFormParam->getValue('edit_customer_id')); 129 list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($ this->arrForm);131 list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray()); 130 132 $this->arrPagenavi = $this->objNavi->arrPagenavi; 131 133 break; 132 134 case 'search': 133 list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($ this->arrForm);135 list($this->tpl_linemax, $this->arrData, $this->objNavi) = $this->lfDoSearch($objFormParam->getHashArray()); 134 136 $this->arrPagenavi = $this->objNavi->arrPagenavi; 135 137 break; 136 138 case 'csv': 137 $this->lfDoCSV($ this->arrForm);139 $this->lfDoCSV($objFormParam->getHashArray()); 138 140 exit; 139 141 break; … … 160 162 function lfInitParam(&$objFormParam) { 161 163 SC_Helper_Customer_Ex::sfSetSearchParam($objFormParam); 164 $objFormParam->addParam('編集対象顧客ID', 'edit_customer_id', INT_LEN, 'n', array("NUM_CHECK","MAX_LENGTH_CHECK")); 162 165 } 163 166 … … 216 219 */ 217 220 function lfDoSearch($arrParam) { 218 $objQuery =& SC_Query::getSingletonInstance(); 219 $objSelect = new SC_CustomerList($arrParam, "customer"); 220 $page_rows = $arrParam['page_rows']; 221 if(SC_Utils_Ex::sfIsInt($page_rows)) { 222 $page_max = $page_rows; 223 }else{ 224 $page_max = SEARCH_PMAX; 225 } 226 $disp_pageno = $arrParam['search_pageno']; 227 if($disp_pageno == 0) { 228 $disp_pageno = 1; 229 } 230 $offset = $page_max * ($disp_pageno - 1); 231 $objSelect->setLimitOffset($page_max, $offset); 232 $arrData = $objQuery->getAll($objSelect->getList(), $objSelect->arrVal); 233 234 // 該当全体件数の取得 235 $linemax = $objQuery->getOne($objSelect->getListCount(), $objSelect->arrVal); 236 // ページ送りの取得 237 $objNavi = new SC_PageNavi($arrParam['search_pageno'], 238 $linemax, 239 $page_max, 240 "fnCustomerPage", 241 NAVI_PMAX); 242 return array($linemax, $arrData, $objNavi); 221 return SC_Helper_Customer_Ex::sfGetSearchData($arrParam); 243 222 } 244 223 … … 252 231 $objSelect = new SC_CustomerList($arrParam, "customer"); 253 232 $order = "update_date DESC, customer_id DESC"; 233 254 234 require_once(CLASS_EX_REALDIR . "helper_extends/SC_Helper_CSV_Ex.php"); 255 235 $objCSV = new SC_Helper_CSV_Ex(); 256 236 list($where, $arrVal) = $objSelect->getWhere(); 257 $objCSV->sfDownloadCsv('2', $where, $arrVal); 258 } 259 260 /** 261 * 検索パラメーター引継ぎ用展開 262 * 263 * @param array $objFormParam フォームパラメータークラス 264 * @return array 引き継ぎ用連想配列 265 */ 266 function lfGetSearchWords(&$objFormParam) { 267 $arrData = $objFormParam->getSearchArray("search_"); 268 $arrData['sex'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('sex')); 269 $arrData['status'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('status')); 270 $arrData['job'] = SC_Utils_Ex::sfMergeParamCheckBoxes($objFormParam->getValue('job')); 271 } 272 273 /** 274 * 表示用パラメーター値取得処理 275 * 276 * @param array $objFormParam フォームパラメータークラス 277 * @return array 表示用連想配列 278 */ 279 function lfGetFormParam(&$objFormParam) { 280 $arrForm = $objFormParam->getHashArray(); 281 // 配列形式のデータの展開処理 282 $val_sex = $objFormParam->getValue('sex'); 283 if(!is_array($val_sex) and !SC_Utils_Ex::isBlank($val_sex)) { 284 $arrForm['sex'] = explode("-", $val_sex); 285 } 286 $val_status = $objFormParam->getValue('status'); 287 if(!is_array($val_status) and !SC_Utils_Ex::isBlank($val_status)) { 288 $arrForm['status'] = explode("-", $val_status); 289 } 290 $val_job = $objFormParam->getValue('job'); 291 if(!is_array($val_job) and !SC_Utils_Ex::isBlank($val_job)) { 292 $arrForm['job'] = explode("-", $val_job); 293 } 294 return $arrForm; 295 } 296 237 return $objCSV->sfDownloadCsv('2', $where, $arrVal, $order, true); 238 } 297 239 } 298 240 ?> -
branches/version-2_5-dev/data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php
r20261 r20285 111 111 $objFormSearchParam->setParam($_REQUEST); 112 112 $this->arrErr = $this->lfCheckErrorSearchParam($objFormSearchParam); 113 $this->arrSearchData = $objFormSearchParam->get HashArray();113 $this->arrSearchData = $objFormSearchParam->getSearchArray(); 114 114 if(!SC_Utils_Ex::isBlank($this->arrErr)) { 115 115 return; … … 135 135 $objFormSearchParam->setParam($objFormParam->getValue("search_data")); 136 136 $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam); 137 $this->arrSearchData = $objFormSearchParam->get HashArray();137 $this->arrSearchData = $objFormSearchParam->getSearchArray(); 138 138 if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) { 139 139 return; … … 154 154 $objFormSearchParam->setParam($objFormParam->getValue("search_data")); 155 155 $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam); 156 $this->arrSearchData = $objFormSearchParam->get HashArray();156 $this->arrSearchData = $objFormSearchParam->getSearchArray(); 157 157 if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) { 158 158 return; … … 178 178 $objFormSearchParam->setParam($objFormParam->getValue("search_data")); 179 179 $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam); 180 $this->arrSearchData = $objFormSearchParam->get HashArray();180 $this->arrSearchData = $objFormSearchParam->getSearchArray(); 181 181 if(!SC_Utils_Ex::isBlank($this->arrErr) or !SC_Utils_Ex::isBlank($this->arrSearchErr)) { 182 182 return; … … 185 185 $this->tpl_mainpage = 'customer/edit_complete.tpl'; 186 186 break; 187 case 'complete_return': 188 //検索引き継ぎ用パラメーター処理 189 $this->lfInitParam($objFormParam); 190 $objFormParam->setParam($_POST); 191 $this->lfInitSearchParam($objFormSearchParam); 192 $objFormSearchParam->setParam($objFormParam->getValue("search_data")); 193 $this->arrSearchErr = $this->lfCheckErrorSearchParam($objFormSearchParam); 194 $this->arrSearchData = $objFormSearchParam->getSearchArray(); 195 if(!SC_Utils_Ex::isBlank($this->arrSearchErr)) { 196 return; 197 } 187 198 default: 188 199 break; -
branches/version-2_5-dev/data/class/pages/admin/mail/LC_Page_Admin_Mail.php
r20283 r20285 348 348 */ 349 349 function lfDoSearch($arrParam) { 350 $objQuery =& SC_Query::getSingletonInstance(); 351 $objSelect = new SC_CustomerList($arrParam, "customer"); 352 $page_rows = $arrParam['search_page_rows']; 353 if(SC_Utils_Ex::sfIsInt($page_rows)) { 354 $page_max = $page_rows; 355 }else{ 356 $page_max = SEARCH_PMAX; 357 } 358 $disp_pageno = $arrParam['search_pageno']; 359 if($disp_pageno == 0) { 360 $disp_pageno = 1; 361 } 362 $offset = intval($page_max) * (intval($disp_pageno) - 1); 363 $objSelect->setLimitOffset($page_max, $offset); 364 365 $arrData = $objQuery->getAll($objSelect->getList(), $objSelect->arrVal); 366 367 // 該当全体件数の取得 368 $linemax = $objQuery->getOne($objSelect->getListCount(), $objSelect->arrVal); 369 370 // ページ送りの取得 371 $objNavi = new SC_PageNavi($arrParam['search_pageno'], 372 $linemax, 373 $page_max, 374 "fnCustomerPage", 375 NAVI_PMAX); 376 return array($linemax, $arrData, $objNavi); 350 return SC_Helper_Customer_Ex::sfGetSearchData($arrParam); 377 351 } 378 352
Note: See TracChangeset
for help on using the changeset viewer.
