Changeset 15898


Ignore:
Timestamp:
2007/09/22 00:15:19 (16 years ago)
Author:
nanasess
Message:

クラス化に伴う修正

Location:
branches/feature-module-update
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/html/admin/products/review_edit.php

    r15532 r15898  
    55 * http://www.lockon.co.jp/ 
    66 */ 
    7 require_once("../require.php"); 
    87 
    9 class LC_Page { 
    10     var $arrSession; 
    11     function LC_Page() { 
    12         $this->tpl_mainpage = 'products/review_edit.tpl'; 
    13         $this->tpl_subnavi = 'products/subnavi.tpl'; 
    14         $this->tpl_mainno = 'products';      
    15         $this->tpl_subno = 'review'; 
    16         global $arrRECOMMEND; 
    17         $this->arrRECOMMEND = $arrRECOMMEND; 
    18         $this->tpl_subtitle = 'レビュー管理'; 
    19         global $arrSex; 
    20         $this->arrSex = $arrSex; 
    21     } 
    22 } 
     8// {{{ requires 
     9require_once("../../require.php"); 
     10require_once(CLASS_PATH . "page_extends/admin/products/LC_Page_Admin_Products_ReviewEdit_Ex.php"); 
    2311 
    24 $objPage = new LC_Page(); 
    25 $objView = new SC_AdminView(); 
    26 $objSess = new SC_Session(); 
    27 $objQuery = new SC_Query(); 
    28 // 認証可否の判定 
    29 sfIsSuccess($objSess); 
     12// }}} 
     13// {{{ generate page 
    3014 
    31 //検索ワードの引継ぎ 
    32 foreach ($_POST as $key => $val){ 
    33     if (ereg("^search_", $key)){ 
    34     $objPage->arrSearchHidden[$key] = $val; 
    35     } 
    36 } 
    37  
    38 //取得文字列の変換用カラム 
    39 $arrRegistColumn = array (       
    40                                 array( "column" => "update_date"), 
    41                                 array( "column" => "status"), 
    42                                 array( "column" => "recommend_level"),       
    43                                 array(  "column" => "title","convert" => "KVa"), 
    44                                 array(  "column" => "comment","convert" => "KVa"), 
    45                                 array(  "column" => "reviewer_name","convert" => "KVa"), 
    46                                 array(  "column" => "reviewer_url","convert" => "KVa"), 
    47                                 array(  "column" => "sex","convert" => "n") 
    48                                  
    49                             ); 
    50  
    51 //レビューIDを渡す 
    52 $objPage->tpl_review_id = $_POST['review_id']; 
    53 //レビュー情報のカラムの取得 
    54 $objPage->arrReview = lfGetReviewData($_POST['review_id']); 
    55 //登録済みのステータスを渡す 
    56 $objPage->tpl_pre_status = $objPage->arrReview['status']; 
    57 //商品ごとのレビュー表示数取得 
    58 $count = $objQuery->count("dtb_review", "del_flg=0 AND status=1 AND product_id=?", array($objPage->arrReview['product_id'])); 
    59 //両方選択可能 
    60 $objPage->tpl_status_change = true; 
    61  
    62 switch($_POST['mode']) { 
    63 //登録 
    64 case 'complete': 
    65     //フォーム値の変換 
    66     $arrReview = lfConvertParam($_POST, $arrRegistColumn); 
    67     $objPage->arrErr = lfCheckError($arrReview); 
    68     //エラー無し 
    69     if (!$objPage->arrErr){ 
    70         //レビュー情報の編集登録 
    71         lfRegistReviewData($arrReview, $arrRegistColumn); 
    72         $objPage->arrReview = $arrReview; 
    73         $objPage->tpl_onload = "confirm('登録が完了しました。');"; 
    74     } 
    75     break; 
    76 default: 
    77     break; 
    78 } 
    79  
    80 $objView->assignobj($objPage); 
    81 $objView->display(MAIN_FRAME); 
    82  
    83 //------------------------------------------------------------------------------------------------------------------------------------ 
    84  
    85 // 入力エラーチェック 
    86 function lfCheckError($array) { 
    87     $objErr = new SC_CheckError($array); 
    88     $objErr->doFunc(array("おすすめレベル", "recommend_level"), array("SELECT_CHECK")); 
    89     $objErr->doFunc(array("タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    90     $objErr->doFunc(array("コメント", "comment", LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    91     $objErr->doFunc(array("投稿者名", "reviewer_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    92     $objErr->doFunc(array("ホームページアドレス", "reviewer_url", URL_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    93     $objErr->doFunc(array("タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    94     $objErr->doFunc(array("性別", "sex", STEXT_LEN), array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    95     return $objErr->arrErr; 
    96 } 
    97  
    98 //---- 取得文字列の変換 
    99 function lfConvertParam($array, $arrRegistColumn) { 
    100     /* 
    101      *  文字列の変換 
    102      *  K :  「半角(ハンカク)片仮名」を「全角片仮名」に変換 
    103      *  C :  「全角ひら仮名」を「全角かた仮名」に変換 
    104      *  V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します  
    105      *  n :  「全角」数字を「半角(ハンカク)」に変換 
    106      *  a :  全角英数字を半角英数字に変換する 
    107      */ 
    108     // カラム名とコンバート情報 
    109     foreach ($arrRegistColumn as $data) { 
    110         $arrConvList[ $data["column"] ] = $data["convert"]; 
    111     } 
    112      
    113     // 文字変換 
    114     foreach ($arrConvList as $key => $val) { 
    115         // POSTされてきた値のみ変換する。 
    116         if(strlen(($array[$key])) > 0) { 
    117             $array[$key] = mb_convert_kana($array[$key] ,$val); 
    118         } 
    119     } 
    120     return $array; 
    121 } 
    122  
    123 //レビュー情報の取得 
    124 function lfGetReviewData($review_id){ 
    125     global $objPage; 
    126     global $objQuery; 
    127     $select="review_id, A.product_id, reviewer_name, sex, recommend_level, "; 
    128     $select.="reviewer_url, title, comment, A.status, A.create_date, A.update_date, name"; 
    129     $from = "dtb_review AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id "; 
    130     $where = "A.del_flg = 0 AND B.del_flg = 0 AND review_id = ? "; 
    131     $arrReview = $objQuery->select($select, $from, $where, array($review_id)); 
    132     if(!empty($arrReview)) { 
    133         $objPage->arrReview = $arrReview[0]; 
    134     } else { 
    135         sfDispError(""); 
    136     } 
    137     return $objPage->arrReview; 
    138 } 
    139  
    140 //レビュー情報の編集登録 
    141 function lfRegistReviewData($array, $arrRegistColumn){ 
    142     global $objQuery; 
    143     foreach ($arrRegistColumn as $data) { 
    144         if (strlen($array[ $data["column"] ]) > 0 ) { 
    145             $arrRegist[ $data["column"] ] = $array[ $data["column"] ]; 
    146         } 
    147         if ($data['column'] == 'update_date'){ 
    148             $arrRegist['update_date'] = 'now()'; 
    149         } 
    150     } 
    151     //登録実行 
    152     $objQuery->begin(); 
    153     $objQuery->update("dtb_review", $arrRegist, "review_id='".$_POST['review_id']."'"); 
    154     $objQuery->commit(); 
    155 } 
     15$objPage = new LC_Page_Admin_Products_ReviewEdit_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    15619?> 
Note: See TracChangeset for help on using the changeset viewer.