Changeset 23654 for branches/version-2_13_3/data/class/pages/admin/products/LC_Page_Admin_Products_Review.php
- Timestamp:
- 2014/10/14 11:27:26 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13_3/data/class/pages/admin/products/LC_Page_Admin_Products_Review.php
r23546 r23654 86 86 public function action() 87 87 { 88 $objReview = new SC_Helper_Review_Ex();89 88 // パラメーター管理クラス 90 89 $objFormParam = new SC_FormParam_Ex(); … … 106 105 switch ($this->getMode()) { 107 106 case 'delete': 108 $ objReview->delete($this->arrForm['review_id']);107 $this->lfDeleteReview($this->arrForm['review_id']); 109 108 case 'search': 110 109 case 'csv': 111 110 111 // 検索条件を取得 112 list($where, $arrWhereVal) = $this->lfGetWhere($this->arrForm); 112 113 // 検索結果を取得 113 $this->arrReview = $this->lfGetReview($ objReview);114 $this->arrReview = $this->lfGetReview($this->arrForm, $where, $arrWhereVal); 114 115 115 116 //CSVダウンロード 116 117 if ($this->getMode() == 'csv') { 117 // 検索条件を取得118 list($where, $arrWhereVal) = $this->lfGetWhere($this->arrForm);119 118 $this->lfDoOutputCsv($where, $arrWhereVal); 120 119 … … 159 158 160 159 return $objErr->arrErr; 160 } 161 162 /** 163 * 商品レビューの削除 164 * 165 * @param integer $review_id 商品レビューのID 166 * @return void 167 */ 168 public function lfDeleteReview($review_id) 169 { 170 $objQuery =& SC_Query_Ex::getSingletonInstance(); 171 $sqlval['del_flg'] = 1; 172 $objQuery->update('dtb_review', $sqlval, 'review_id = ?', array($review_id)); 161 173 } 162 174 … … 322 334 * レビュー検索結果の取得 323 335 * 324 * @param SC_Helper_Review $objReview 336 * @param array $arrForm フォームデータ 337 * @param string $where WHERE文 338 * @param array $arrWhereVal WHERE文の判定値 325 339 * @return array レビュー一覧 326 340 */ 327 public function lfGetReview(SC_Helper_Review $objReview) 328 { 329 $arrForm = $this->arrForm; 330 331 $query = $this->makeQuery($arrForm); 332 $linemax = $objReview->count($query); 333 341 public function lfGetReview($arrForm, $where, $arrWhereVal) 342 { 343 $objQuery =& SC_Query_Ex::getSingletonInstance(); 344 345 // ページ送りの処理 346 $page_max = SC_Utils_Ex::sfGetSearchPageMax($arrForm['search_page_max']); 347 348 if (!isset($arrWhereVal)) $arrWhereVal = array(); 349 350 $from = 'dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id '; 351 $linemax = $objQuery->count($from, $where, $arrWhereVal); 334 352 $this->tpl_linemax = $linemax; 353 335 354 $this->tpl_pageno = isset($arrForm['search_pageno']) ? $arrForm['search_pageno'] : ''; 336 355 337 356 // ページ送りの取得 338 $page_max = SC_Utils_Ex::sfGetSearchPageMax($arrForm['search_page_max']);339 357 $objNavi = new SC_PageNavi_Ex($this->tpl_pageno, $linemax, $page_max, 340 358 'eccube.moveNaviPage', NAVI_PMAX); … … 343 361 344 362 // 取得範囲の指定(開始行番号、行数のセット) 345 $params = array( 346 'query' => $query, 347 'limit' => $page_max, 348 'offset' => $startno 349 ); 350 $arrReview = $objReview->find($params); 363 $objQuery->setLimitOffset($page_max, $startno); 364 365 // 表示順序 366 $order = 'A.create_date DESC'; 367 $objQuery->setOrder($order); 368 //検索結果の取得 369 //レビュー情報のカラムの取得 370 $col = 'review_id, A.product_id, reviewer_name, sex, recommend_level, '; 371 $col .= 'reviewer_url, title, comment, A.status, A.create_date, A.update_date, name'; 372 $from = 'dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id '; 373 $arrReview = $objQuery->select($col, $from, $where, $arrWhereVal); 351 374 352 375 return $arrReview; 353 376 } 354 355 /**356 * SC_Helper_Reviewインスタンスへ渡す検索条件の配列を作成.357 *358 * @param array $data359 * @return array360 */361 private function makeQuery($data = array()) {362 $query = array();363 364 foreach ($data AS $key => $val) {365 if (empty($val)) continue;366 367 switch ($key) {368 case 'search_reviewer_name':369 $query['reviewer_name'] = $val;370 break;371 372 case 'search_reviewer_url':373 $query['reviewer_url'] = $val;374 break;375 376 case 'search_name':377 $query['product_name'] = $val;378 break;379 380 case 'search_product_code':381 $query['product_code'] = $val;382 break;383 384 case 'search_sex':385 $query['reviewer_sex'] = $val;386 break;387 388 case 'search_recommend_level':389 $query['recommend_level'] = $val;390 break;391 392 case 'search_startyear':393 if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])) {394 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']);395 $query['date_from'] = $date;396 }397 break;398 399 case 'search_endyear':400 if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])) {401 $date = SC_Utils_Ex::sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday']);402 $end_date = date('Y/m/d', strtotime('1 day', strtotime($date)));403 $query['date_to'] = $end_date;404 }405 break;406 407 default:408 break;409 }410 411 }412 413 return $query;414 }415 377 }
Note: See TracChangeset
for help on using the changeset viewer.