Changeset 23654
- Timestamp:
- 2014/10/14 11:27:26 (9 years ago)
- Location:
- branches/version-2_13_3/data
- Files:
-
- 2 deleted
- 4 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 } -
branches/version-2_13_3/data/class/pages/admin/products/LC_Page_Admin_Products_ReviewEdit.php
r23546 r23654 72 72 public function action() 73 73 { 74 $objReview = new SC_Helper_Review_Ex();75 74 // パラメーター情報の初期化 76 75 $objFormParam = new SC_FormParam_Ex(); … … 89 88 if (SC_Utils_Ex::isBlank($this->arrErr)) { 90 89 // レビュー情報の更新 91 $arrValues = $objFormParam->getDbArray(); 92 $objReview->save($arrValues); 90 $this->lfRegistReviewData($this->arrForm['review_id'], $objFormParam); 93 91 // レビュー情報のDB取得 94 $this->arrForm = $ objReview->get($this->arrForm['review_id']);92 $this->arrForm = $this->lfGetReviewData($this->arrForm['review_id']); 95 93 $this->tpl_onload = "alert('登録が完了しました。');"; 96 94 } … … 98 96 default: 99 97 // レビュー情報のDB取得 100 $this->arrForm = $ objReview->get($this->arrForm['review_id']);98 $this->arrForm = $this->lfGetReviewData($this->arrForm['review_id']); 101 99 break; 102 100 } … … 127 125 $objFormParam->addParam('コメント', 'comment', LTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 128 126 } 127 128 /** 129 * レビュー情報のDB取得 130 * 131 * @param integer $review_id レビューID 132 * @return array レビュー情報 133 */ 134 public function lfGetReviewData($review_id) 135 { 136 $objQuery =& SC_Query_Ex::getSingletonInstance(); 137 $select='review_id, A.product_id, reviewer_name, sex, recommend_level, '; 138 $select.='reviewer_url, title, comment, A.status, A.create_date, A.update_date, name'; 139 $from = 'dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id '; 140 $where = 'A.del_flg = 0 AND B.del_flg = 0 AND review_id = ? '; 141 $arrReview = $objQuery->select($select, $from, $where, array($review_id)); 142 if (empty($arrReview)) { 143 SC_Utils_Ex::sfDispError(''); 144 } 145 146 return $arrReview[0]; 147 } 148 149 /** 150 * レビュー情報の更新 151 * 152 * @param integer $review_id レビューID 153 * @param SC_FormParam $objFormParam SC_FormParam インスタンス 154 * @return void 155 */ 156 public function lfRegistReviewData($review_id, &$objFormParam) 157 { 158 $objQuery =& SC_Query_Ex::getSingletonInstance(); 159 $arrValues = $objFormParam->getDbArray(); 160 $arrValues['update_date'] = 'CURRENT_TIMESTAMP'; 161 $objQuery->update('dtb_review', $arrValues, 'review_id = ?', array($review_id)); 162 } 129 163 } -
branches/version-2_13_3/data/class/pages/products/LC_Page_Products_Detail.php
r23653 r23654 300 300 $this->subImageFlag = $this->lfSetFile($this->objUpFile, $this->arrProduct, $this->arrFile); 301 301 //レビュー情報の取得 302 $objReview = new SC_Helper_Review_Ex(); 303 $this->arrReview = $objReview->getListByProductId($product_id); 302 $this->arrReview = $this->lfGetReviewData($product_id); 304 303 305 304 //関連商品情報表示 … … 535 534 536 535 /** 536 * 商品ごとのレビュー情報を取得する 537 * 538 * @param int $product_id 539 * @return array 540 */ 541 public function lfGetReviewData($product_id) 542 { 543 $objQuery =& SC_Query_Ex::getSingletonInstance(); 544 //商品ごとのレビュー情報を取得する 545 $col = 'create_date, reviewer_url, reviewer_name, recommend_level, title, comment'; 546 $from = 'dtb_review'; 547 $where = 'del_flg = 0 AND status = 1 AND product_id = ?'; 548 $objQuery->setOrder('create_date DESC'); 549 $objQuery->setLimit(REVIEW_REGIST_MAX); 550 $arrWhereVal = array($product_id); 551 $arrReview = $objQuery->select($col, $from, $where, $arrWhereVal); 552 553 return $arrReview; 554 } 555 556 /** 537 557 * ファイルの情報をセットする 538 558 * -
branches/version-2_13_3/data/class/pages/products/LC_Page_Products_Review.php
r23589 r23654 176 176 177 177 //登録実行 178 public function lfRegistRecommendData( SC_FormParam&$objFormParam)178 public function lfRegistRecommendData(&$objFormParam) 179 179 { 180 $objQuery =& SC_Query_Ex::getSingletonInstance(); 181 $objCustomer = new SC_Customer_Ex(); 182 180 183 $arrRegist = $objFormParam->getDbArray(); 181 184 182 $objCustomer = new SC_Customer_Ex(); 185 $arrRegist['create_date'] = 'CURRENT_TIMESTAMP'; 186 $arrRegist['update_date'] = 'CURRENT_TIMESTAMP'; 187 $arrRegist['creator_id'] = '0'; 188 183 189 if ($objCustomer->isLoginSuccess(true)) { 184 190 $arrRegist['customer_id'] = $objCustomer->getValue('customer_id'); … … 186 192 187 193 //-- 登録実行 188 $objReview = new SC_Helper_Review_Ex(); 189 $objReview->save($arrRegist); 194 $objQuery->begin(); 195 $arrRegist['review_id'] = $objQuery->nextVal('dtb_review_review_id'); 196 $objQuery->insert('dtb_review', $arrRegist); 197 $objQuery->commit(); 190 198 } 191 199 }
Note: See TracChangeset
for help on using the changeset viewer.