Changeset 20309


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

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

Location:
branches/version-2_5-dev/data
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/Smarty/templates/admin/products/review_edit.tpl

    r20262 r20309  
    2424<form name="form1" id="form1" method="post" action="?"> 
    2525    <input type="hidden" name="mode" value="complete" /> 
    26     <input type="hidden" name="review_id" value="<!--{$arrReview.review_id|h}-->" /> 
     26    <input type="hidden" name="review_id" value="<!--{$arrForm.review_id|h}-->" /> 
    2727    <!--{foreach key=key item=item from=$arrSearchHidden}--> 
    2828        <input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" /> 
     
    3535            <tr> 
    3636                <th>商品名</th> 
    37                 <td><!--{$arrReview.name|h}--> 
    38                 <input type="hidden" name="name" value="<!--{$arrReview.name}-->"> 
     37                <td><!--{$arrForm.name|h}--> 
     38                <input type="hidden" name="name" value="<!--{$arrForm.name|h}-->"> 
    3939                </td> 
    4040            </tr> 
    4141            <tr> 
    4242                <th>投稿日</th> 
    43                 <td><!--{$arrReview.create_date|sfDispDBDate}--> 
    44                 <input type="hidden" name="create_date" value="<!--{$arrReview.create_date}-->"> 
     43                <td><!--{$arrForm.create_date|sfDispDBDate}--> 
     44                <input type="hidden" name="create_date" value="<!--{$arrForm.create_date|h}-->"> 
    4545                </td> 
    4646            </tr> 
     
    4949                <td> 
    5050                    <!--{if $arrErr.status}--><span class="attention"><!--{$arrErr.status}--></span><!--{/if}--> 
    51                     <input type="radio" name="status" value="2" <!--{if $arrReview.status eq 2}-->checked<!--{/if}-->>非表示<!--{if $arrReview.status eq 2 && !$tpl_status_change}--><!--{else}--><input type="radio" name="status" value="1" <!--{if $arrReview.status eq 1}-->checked<!--{/if}-->>表示<!--{/if}--> 
     51                    <input type="radio" name="status" value="2" <!--{if $arrForm.status eq 2}-->checked<!--{/if}-->>非表示<!--{if $arrForm.status eq 2 && !$tpl_status_change}--><!--{else}--><input type="radio" name="status" value="1" <!--{if $arrForm.status eq 1}-->checked<!--{/if}-->>表示<!--{/if}--> 
    5252                </td> 
    5353            </tr> 
     
    5656                <td> 
    5757                    <!--{if $arrErr.reviewer_name}--><span class="attention"><!--{$arrErr.reviewer_name}--></span><!--{/if}--> 
    58                     <input type="text" class="box60" name="reviewer_name" value="<!--{$arrReview.reviewer_name|h}-->" style="<!--{$arrErr.reviewer_name|sfGetErrorColor}-->" size=30> 
     58                    <input type="text" class="box60" name="reviewer_name" value="<!--{$arrForm.reviewer_name|h}-->" style="<!--{$arrErr.reviewer_name|sfGetErrorColor}-->" size=30> 
    5959                </td> 
    6060            </tr> 
     
    6363                <td> 
    6464                    <!--{if $arrErr.reviewer_url}--><span class="attention"><!--{$arrErr.reviewer_url}--></span><!--{/if}--> 
    65                     <input type="text" class="box60" name="reviewer_url" maxlength="<!--{$smarty.const.URL_LEN}-->" value="<!--{$arrReview.reviewer_url|h}-->" style="<!--{$arrErr.reviewer_url|sfGetErrorColor}-->" size=30> 
     65                    <input type="text" class="box60" name="reviewer_url" maxlength="<!--{$smarty.const.URL_LEN}-->" value="<!--{$arrForm.reviewer_url|h}-->" style="<!--{$arrErr.reviewer_url|sfGetErrorColor}-->" size=30> 
    6666                </td> 
    6767            </tr> 
    6868            <tr> 
    6969                <th>性別</th> 
    70                 <td><!--{html_radios_ex name="sex" options=$arrSex selected=$arrReview.sex}--></td> 
     70                <td><!--{html_radios_ex name="sex" options=$arrSex selected=$arrForm.sex}--></td> 
    7171            </tr> 
    7272            <tr> 
     
    7979                    <select name="<!--{$key}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" > 
    8080                    <option value="" selected="selected">選択してください</option> 
    81                     <!--{html_options options=$arrRECOMMEND selected=$arrReview[$key]}--> 
     81                    <!--{html_options options=$arrRECOMMEND selected=$arrForm[$key]}--> 
    8282                    </select> 
    8383                </td> 
     
    8787                <td> 
    8888                    <!--{if $arrErr.title}--><span class="attention"><!--{$arrErr.title}--></span><!--{/if}--> 
    89                     <input type="text" class="box60" name="title" value="<!--{$arrReview.title|h}-->" style="<!--{$arrErr.title|sfGetErrorColor}-->" size=30><span class="attention"> 
     89                    <input type="text" class="box60" name="title" value="<!--{$arrForm.title|h}-->" style="<!--{$arrErr.title|sfGetErrorColor}-->" size=30><span class="attention"> 
    9090                </td> 
    9191            </tr> 
     
    9494                <td> 
    9595                    <!--{if $arrErr.comment}--><span class="attention"><!--{$arrErr.comment}--></span><!--{/if}--> 
    96                     <textarea name="comment" rows="20" cols="60" class="area60" wrap="soft" style="<!--{$arrErr.comment|sfGetErrorColor}-->" ><!--{$arrReview.comment|h}--></textarea> 
     96                    <textarea name="comment" rows="20" cols="60" class="area60" wrap="soft" style="<!--{$arrErr.comment|sfGetErrorColor}-->" ><!--{$arrForm.comment|h}--></textarea> 
    9797                </td> 
    9898            </tr> 
  • 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.