Changeset 18152


Ignore:
Timestamp:
2009/06/30 14:08:47 (11 years ago)
Author:
kajiwara
Message:

#495 レビュー管理にて、登録URLの削除ができない不具合 を修正

Location:
branches/version-2_4/data
Files:
2 edited

Legend:

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

    r17054 r18152  
    2525<table width="878" border="0" cellspacing="0" cellpadding="0" summary=" "> 
    2626<form name="form1" id="form1" method="post" action="<!--{$smarty.server.PHP_SELF|escape}-->" > 
    27 <input type="hidden" name="mode" value="complete"> 
    28 <input type="hidden" name="review_id" value="<!--{$tpl_review_id}-->" > 
    29 <input type="hidden" name="pre_status" value="<!--{$tpl_pre_status}-->"> 
    30 <!--{foreach key=key item=item from=$arrReview}--> 
    31 <!--{if $key ne "mode"}--> 
    32 <input type="hidden" name="<!--{$key}-->" value="<!--{$item|escape}-->"> 
    33 <!--{/if}--> 
    34 <!--{/foreach}--> 
     27<input type="hidden" name="mode" value="complete" /> 
     28<input type="hidden" name="review_id" value="<!--{$arrReview.review_id|escape}-->" /> 
    3529<!--{foreach key=key item=item from=$arrSearchHidden}--> 
    3630<input type="hidden" name="<!--{$key}-->" value="<!--{$item|escape}-->"> 
     
    5650                        <td background="<!--{$TPL_DIR}-->img/contents/main_left.jpg"><img src="<!--{$TPL_DIR}-->img/common/_.gif" width="14" height="1" alt=""></td> 
    5751                        <td bgcolor="#cccccc"> 
    58                          
     52 
    5953                            <!--▼登録テーブルここから--> 
    6054                            <table width="678" border="0" cellspacing="0" cellpadding="0" summary=" "> 
     
    170164</form> 
    171165</table> 
    172 <!--★★メインコンテンツ★★-->      
     166<!--★★メインコンテンツ★★--> 
  • branches/version-2_4/data/class/pages/admin/products/LC_Page_Admin_Products_ReviewEdit.php

    r17054 r18152  
    6767        SC_Utils_Ex::sfIsSuccess($objSess); 
    6868 
    69         //検索ワードの引継ぎ 
     69        // 検索ワードの引継ぎ 
    7070        foreach ($_POST as $key => $val){ 
    7171            if (ereg("^search_", $key)){ 
     
    7474        } 
    7575 
    76         //取得文字列の変換用カラム 
    77         $arrRegistColumn = array ( 
    78                                   array( "column" => "update_date"), 
    79                                   array( "column" => "status"), 
    80                                   array( "column" => "recommend_level"), 
    81                                   array(    "column" => "title","convert" => "KVa"), 
    82                                   array(    "column" => "comment","convert" => "KVa"), 
    83                                   array(    "column" => "reviewer_name","convert" => "KVa"), 
    84                                   array(    "column" => "reviewer_url","convert" => "KVa"), 
    85                                   array(    "column" => "sex","convert" => "n") 
    86  
    87                                   ); 
    88  
    89         //レビューIDを渡す 
    90         $this->tpl_review_id = isset($_POST['review_id']) ? $_POST['review_id'] : ""; 
    91         //レビュー情報のカラムの取得 
    92         $this->arrReview = $this->lfGetReviewData($this->tpl_review_id); 
    93         //登録済みのステータスを渡す 
    94         $this->tpl_pre_status = $this->arrReview['status']; 
    95         //商品ごとのレビュー表示数取得 
    96         $count = $this->objQuery->count("dtb_review", "del_flg=0 AND status=1 AND product_id=?", array($this->arrReview['product_id'])); 
    97         //両方選択可能 
     76        // 両方選択可能 
    9877        $this->tpl_status_change = true; 
    9978 
    10079        if (!isset($_POST['mode'])) $_POST['mode'] = ""; 
    101         switch($_POST['mode']) { 
    102             //登録 
    103         case 'complete': 
    104             //フォーム値の変換 
    105             $arrReview = $this->lfConvertParam($_POST, $arrRegistColumn); 
    106             $this->arrErr = $this->lfCheckError($arrReview); 
    107             //エラー無し 
    108             if (!$this->arrErr){ 
    109                 //レビュー情報の編集登録 
    110                 $this->lfRegistReviewData($arrReview, $arrRegistColumn); 
    111                 $this->arrReview = $arrReview; 
    112                 $this->tpl_onload = "confirm('登録が完了しました。');"; 
    113             } 
    114             break; 
    115         default: 
    116             break; 
     80        switch ($_POST['mode']) { 
     81            // 登録 
     82            case 'complete': 
     83                // 取得文字列の変換用カラム 
     84                $arrRegistColumn = array ( 
     85                    array("column" => "status"), 
     86                    array("column" => "recommend_level"), 
     87                    array("column" => "title", "convert" => "KVa"), 
     88                    array("column" => "comment", "convert" => "KVa"), 
     89                    array("column" => "reviewer_name", "convert" => "KVa"), 
     90                    array("column" => "reviewer_url", "convert" => "KVa"), 
     91                    array("column" => "sex", "convert" => "n") 
     92                ); 
     93 
     94                // フォーム値の変換 
     95                $arrReview = $this->lfConvertParam($_POST, $arrRegistColumn); 
     96                $this->arrErr = $this->lfCheckError($arrReview); 
     97 
     98                // エラー有り 
     99                if ($this->arrErr) { 
     100                    // 入力内容を引き継ぐ 
     101                    $this->arrReview = $arrReview; 
     102                } 
     103                // エラー無し 
     104                else { 
     105                    // レビュー情報の更新 
     106                    $this->lfRegistReviewData($arrReview, $arrRegistColumn); 
     107 
     108                    // レビュー情報のDB取得 
     109                    $this->arrReview = $this->lfGetReviewData($arrReview['review_id']); 
     110 
     111                    $this->tpl_onload = "alert('登録が完了しました。');"; 
     112                } 
     113                break; 
     114 
     115            default: 
     116                // レビュー情報のDB取得 
     117                $this->arrReview = $this->lfGetReviewData($_POST['review_id']); 
     118                break; 
    117119        } 
    118120 
     
    130132    } 
    131133 
    132  
    133     // 入力エラーチェック 
    134     function lfCheckError($array) { 
    135         $objErr = new SC_CheckError($array); 
     134    /** 
     135     * 入力エラーチェック 
     136     * 
     137     */ 
     138    function lfCheckError($arrReview) { 
     139        $objErr = new SC_CheckError($arrReview); 
    136140        $objErr->doFunc(array("おすすめレベル", "recommend_level"), array("SELECT_CHECK")); 
    137141        $objErr->doFunc(array("タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     
    143147    } 
    144148 
    145     //---- 取得文字列の変換 
     149    /** 
     150     * 取得文字列の変換 
     151     * 
     152     */ 
    146153    function lfConvertParam($array, $arrRegistColumn) { 
    147154        /* 
     
    169176    } 
    170177 
    171     //レビュー情報の取得 
     178    /** 
     179     * レビュー情報のDB取得 
     180     * 
     181     */ 
    172182    function lfGetReviewData($review_id){ 
    173183        $select="review_id, A.product_id, reviewer_name, sex, recommend_level, "; 
     
    176186        $where = "A.del_flg = 0 AND B.del_flg = 0 AND review_id = ? "; 
    177187        $arrReview = $this->objQuery->select($select, $from, $where, array($review_id)); 
    178         if(!empty($arrReview)) { 
    179             $this->arrReview = $arrReview[0]; 
    180         } else { 
     188        if (empty($arrReview)) { 
    181189            SC_Utils_Ex::sfDispError(""); 
    182190        } 
    183         return $this->arrReview; 
    184     } 
    185  
    186     //レビュー情報の編集登録 
    187     function lfRegistReviewData($array, $arrRegistColumn){ 
     191 
     192        return $arrReview[0]; 
     193    } 
     194 
     195    /** 
     196     * レビュー情報の更新 
     197     * 
     198     */ 
     199    function lfRegistReviewData($arrReview, $arrRegistColumn){ 
    188200        foreach ($arrRegistColumn as $data) { 
    189             if (strlen($array[ $data["column"] ]) > 0 ) { 
    190                 $arrRegist[ $data["column"] ] = $array[ $data["column"] ]; 
    191             } 
    192             if ($data['column'] == 'update_date'){ 
    193                 $arrRegist['update_date'] = 'now()'; 
    194             } 
    195         } 
    196         //登録実行 
    197         $this->objQuery->begin(); 
    198         $this->objQuery->update("dtb_review", $arrRegist, "review_id='".$_POST['review_id']."'"); 
    199         $this->objQuery->commit(); 
     201            $arrRegist[ $data["column"] ] = $arrReview[ $data["column"] ]; 
     202        } 
     203        $arrRegist['update_date'] = 'now()'; 
     204 
     205        // 更新実行 
     206        $this->objQuery->update("dtb_review", $arrRegist, "review_id = ?", array($arrReview['review_id'])); 
    200207    } 
    201208} 
Note: See TracChangeset for help on using the changeset viewer.