Ignore:
Timestamp:
2011/02/21 20:46:15 (13 years ago)
Author:
naka
Message:

レビュー管理リファクタリング

Location:
branches/version-2_5-dev/data/class/pages/admin/products
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Review.php

    r20262 r20309  
    5656        $this->arrRECOMMEND = $masterData->getMasterData("mtb_recommend"); 
    5757        $this->arrSex = $masterData->getMasterData("mtb_sex"); 
    58          
     58 
    5959        $objDate = new SC_Date(); 
    6060        // 登録・更新検索開始年 
     
    8989    function action() { 
    9090        $objSess = new SC_Session(); 
    91  
    92         $objQuery =& SC_Query::getSingletonInstance(); 
    93  
    9491        // 認証可否の判定 
    9592        SC_Utils_Ex::sfIsSuccess($objSess); 
     
    9996        $this->lfInitParam($objFormParam); 
    10097        $objFormParam->setParam($_POST); 
     98        $objFormParam->convParam(); 
     99        // URLを小文字に変換 
     100        $objFormParam->toLower('search_reviewer_url'); 
     101 
    101102        $this->arrForm = $objFormParam->getHashArray(); 
    102103        $this->arrHidden = $this->lfSetHidden($this->arrForm); 
     
    137138    } 
    138139 
    139     // 入力エラーチェック 
     140    /** 
     141     * 入力内容のチェックを行う. 
     142     * 
     143     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     144     * @return void 
     145     */ 
    140146    function lfCheckError(&$objFormParam) { 
    141147        // 入力データを渡す。 
     
    161167    } 
    162168 
    163     //レビューの削除 
     169    /** 
     170     * 商品レビューの削除 
     171     * 
     172     * @param integer $review_id 商品レビューのID 
     173     * @return void 
     174     */ 
    164175    function lfDeleteReview($review_id) { 
    165176        $objQuery =& SC_Query::getSingletonInstance(); 
     
    168179    } 
    169180 
    170     // 検索ワードの引き継ぎ 
     181    /** 
     182     * hidden情報の作成 
     183     * 
     184     * @param array $arrForm フォームデータ 
     185     * @return array hidden情報 
     186     */ 
    171187    function lfSetHidden($arrForm) { 
    172188        $arrHidden = array(); 
     
    189205    } 
    190206 
    191     /* パラメータ情報の初期化 */ 
     207    /** 
     208     * パラメータ情報の初期化を行う. 
     209     * 
     210     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     211     * @return void 
     212     */ 
    192213    function lfInitParam(&$objFormParam) { 
    193         $objFormParam->addParam("投稿者名", "search_reviewer_name", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"),"",false); 
    194         $objFormParam->addParam("投稿者URL", "search_reviewer_url", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"),"",false); 
    195         $objFormParam->addParam("商品名", "search_name", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"),"",false); 
    196         $objFormParam->addParam("商品コード", "search_product_code", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"),"",false); 
     214        $objFormParam->addParam("投稿者名", "search_reviewer_name", STEXT_LEN, "KVas", array("MAX_LENGTH_CHECK"),"",false); 
     215        $objFormParam->addParam("投稿者URL", "search_reviewer_url", STEXT_LEN, "KVas", array("MAX_LENGTH_CHECK"),"",false); 
     216        $objFormParam->addParam("商品名", "search_name", STEXT_LEN, "KVas", array("MAX_LENGTH_CHECK"),"",false); 
     217        $objFormParam->addParam("商品コード", "search_product_code", STEXT_LEN, "KVas", array("MAX_LENGTH_CHECK"),"",false); 
    197218        $objFormParam->addParam("性別", "search_sex", INT_LEN, "n", array("MAX_LENGTH_CHECK"),"",false); 
    198219        $objFormParam->addParam("おすすめレベル", "search_recommend_level", INT_LEN, "n", array("MAX_LENGTH_CHECK"),"",false); 
     
    208229    } 
    209230 
    210     // CSV ファイル出力実行 
     231    /** 
     232     * CSV ファイル出力実行 
     233     * 
     234     * @param string $where WHERE文 
     235     * @param array $arrval WHERE文の判定値 
     236     * @return void 
     237     */ 
    211238    function lfCsv($where, $arrval) { 
    212239        $objCSV = new SC_Helper_CSV_Ex(); 
     
    220247 
    221248 
    222     // 検索条件の取得 
     249    /** 
     250     * WHERE文の作成 
     251     * 
     252     * @param array $arrForm フォームデータ 
     253     * @return array WHERE文、判定値 
     254     */ 
    223255    function lfGetWhere($arrForm) { 
    224256        //削除されていない商品を検索 
     
    230262            switch ($key){ 
    231263            case 'search_reviewer_name': 
    232                 $val = mb_convert_kana($val, 's'); 
    233264                $val = preg_replace("/ /", "%", $val); 
    234                 $where.= " AND reviewer_name ILIKE ? "; 
     265                $where.= " AND reviewer_name LIKE ? "; 
    235266                $arrval[] = "%$val%"; 
    236267                break; 
    237268 
    238269            case 'search_reviewer_url': 
    239                 $val = mb_convert_kana($val, 's'); 
    240270                $val = preg_replace("/ /", "%", $val); 
    241                 $where.= " AND reviewer_url ILIKE ? "; 
     271                $where.= " AND reviewer_url LIKE ? "; 
    242272                $arrval[] = "%$val%"; 
    243273                break; 
    244274 
    245275            case 'search_name': 
    246                 $val = mb_convert_kana($val, 's'); 
    247276                $val = preg_replace("/ /", "%", $val); 
    248                 $where.= " AND name ILIKE ? "; 
     277                $where.= " AND name LIKE ? "; 
    249278                $arrval[] = "%$val%"; 
    250279                break; 
    251280 
    252281            case 'search_product_code': 
    253                 $val = mb_convert_kana($val, 's'); 
    254282                $val = preg_replace("/ /", "%", $val); 
    255                 $where.= " AND A.product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? )"; 
     283                $where.= " AND A.product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code LIKE ? )"; 
    256284                $arrval[] = "%$val%"; 
    257285                break; 
     
    305333    } 
    306334 
    307     /* 
    308      * レビューの検索結果取得 
     335    /** 
     336     * レビュー検索結果の取得 
     337     * 
     338     * @param array $arrForm フォームデータ 
     339     * @param string $where WHERE文 
     340     * @param array $arrval WHERE文の判定値 
     341     * @return array レビュー一覧 
    309342     */ 
    310343    function lfGetReview($arrForm, $where, $arrval) { 
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ReviewEdit.php

    r20262 r20309  
    7474    function action() { 
    7575        $objSess = new SC_Session(); 
    76         $this->objQuery =& SC_Query::getSingletonInstance(); 
    7776        // 認証可否の判定 
    7877        SC_Utils_Ex::sfIsSuccess($objSess); 
     
    8584        // 検索ワードの引き継ぎ 
    8685        $this->arrSearchHidden = $objFormParam->getSearchArray(); 
    87         $this->arrReview = $objFormParam->getHashArray(); 
    88                  
     86        $this->arrForm = $objFormParam->getHashArray(); 
     87 
    8988        switch ($this->getMode()) { 
    9089            // 登録 
     
    9493                if (!$this->arrErr) { 
    9594                    // レビュー情報の更新 
    96                     $this->lfRegistReviewData($objFormParam); 
     95                    $this->lfRegistReviewData($this->arrForm['review_id'], $objFormParam); 
    9796                    // レビュー情報のDB取得 
    98                     $this->arrReview = $this->lfGetReviewData($this->arrReview['review_id']); 
     97                    $this->arrForm = $this->lfGetReviewData($this->arrForm['review_id']); 
    9998                    $this->tpl_onload = "alert('登録が完了しました。');"; 
    10099                } 
     
    102101            default: 
    103102                // レビュー情報のDB取得 
    104                 $this->arrReview = $this->lfGetReviewData($this->arrReview['review_id']); 
     103                $this->arrForm = $this->lfGetReviewData($this->arrForm['review_id']); 
    105104                break; 
    106105        } 
     
    123122     */ 
    124123    function lfInitParam(&$objFormParam) { 
    125         // 検索条件のパラメータを初期化 
     124        // 検索条件のパラメータを初期化 
    126125        parent::lfInitParam($objFormParam); 
    127         $objFormParam->addParam("レビューID", "review_id"); 
    128         $objFormParam->addParam("商品名", "name", "", "", array(), "", false); 
    129         $objFormParam->addParam("投稿日", "create_date", "", "", array(), "", false); 
    130          
    131         // 登録情報 
     126        $objFormParam->addParam("レビューID", "review_id", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
     127        $objFormParam->addParam("商品名", "name", "", "", array(), "", false); 
     128        $objFormParam->addParam("投稿日", "create_date", "", "", array(), "", false); 
     129 
     130        // 登録情報 
    132131        $objFormParam->addParam("レビュー表示", "status", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    133132        $objFormParam->addParam("投稿者名", "reviewer_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    134133        $objFormParam->addParam("投稿者URL", "reviewer_url", URL_LEN, "KVCa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    135         $objFormParam->addParam("性別", "sex", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    136         $objFormParam->addParam("おすすめレベル", "recommend_level", INT_LEN, "n", array("SELECT_CHECK")); 
    137         $objFormParam->addParam("タイトル", "title", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     134        $objFormParam->addParam("性別", "sex", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
     135        $objFormParam->addParam("おすすめレベル", "recommend_level", INT_LEN, "n", array("SELECT_CHECK")); 
     136        $objFormParam->addParam("タイトル", "title", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    138137        $objFormParam->addParam("コメント", "comment", LTEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    139     }     
     138    } 
    140139 
    141     /** 
     140    /** 
    142141     * フォーム入力パラメーターエラーチェック 
    143142     * 
     
    146145     */ 
    147146    function lfCheckError(&$objFormParam) { 
    148         $arrErr = $objFormParam->checkError(); 
     147        $arrErr = $objFormParam->checkError(); 
    149148        if (!SC_Utils_Ex::isBlank($arrErr)) { 
    150149            return $arrErr; 
     
    155154     * レビュー情報のDB取得 
    156155     * 
     156     * @param integer $review_id レビューID 
     157     * @return array レビュー情報 
    157158     */ 
    158159    function lfGetReviewData($review_id){ 
     160        $objQuery =& SC_Query::getSingletonInstance(); 
    159161        $select="review_id, A.product_id, reviewer_name, sex, recommend_level, "; 
    160162        $select.="reviewer_url, title, comment, A.status, A.create_date, A.update_date, name"; 
    161163        $from = "dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id "; 
    162164        $where = "A.del_flg = 0 AND B.del_flg = 0 AND review_id = ? "; 
    163         $arrReview = $this->objQuery->select($select, $from, $where, array($review_id)); 
     165        $arrReview = $objQuery->select($select, $from, $where, array($review_id)); 
    164166        if (empty($arrReview)) { 
    165167            SC_Utils_Ex::sfDispError(""); 
     
    171173     * レビュー情報の更新 
    172174     * 
     175     * @param integer $review_id レビューID 
     176     * @param SC_FormParam $objFormParam SC_FormParam インスタンス 
     177     * @return void 
    173178     */ 
    174     function lfRegistReviewData(&$objFormParam){ 
    175         $arrValues = $objFormParam->getDbArray(); 
     179    function lfRegistReviewData($review_id, &$objFormParam){ 
     180        $objQuery =& SC_Query::getSingletonInstance(); 
     181        $arrValues = $objFormParam->getDbArray(); 
    176182        $arrValues['update_date'] = 'now()'; 
    177         $this->objQuery->update("dtb_review", $arrValues, "review_id = ?", array($arrValues['review_id'])); 
     183        $objQuery->update("dtb_review", $arrValues, "review_id = ?", array($review_id)); 
    178184    } 
    179185} 
Note: See TracChangeset for help on using the changeset viewer.