Ignore:
Timestamp:
2007/08/30 17:30:42 (17 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/class.php

    r15080 r15481  
    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/class.tpl'; 
    13         $this->tpl_subnavi = 'products/subnavi.tpl'; 
    14         $this->tpl_subno = 'class'; 
    15         $this->tpl_subtitle = '規格登録'; 
    16         $this->tpl_mainno = 'products'; 
    17     } 
    18 } 
     8// {{{ requires 
     9require_once("../../require.php"); 
     10require_once(CLASS_PATH . "page_extends/admin/products/LC_Page_Admin_Products_Class_Ex.php"); 
    1911 
    20 $conn = new SC_DBConn(); 
    21 $objPage = new LC_Page(); 
    22 $objView = new SC_AdminView(); 
    23 $objSess = new SC_Session(); 
    24 $objQuery = new SC_Query(); 
     12// }}} 
     13// {{{ generate page 
    2514 
    26 // 認証可否の判定 
    27 sfIsSuccess($objSess); 
    28  
    29 // 要求判定 
    30 switch($_POST['mode']) { 
    31 // 編集処理 
    32 case 'edit': 
    33     // POST値の引き継ぎ 
    34     $objPage->arrForm = $_POST; 
    35     // 入力文字の変換 
    36     $objPage->arrForm = lfConvertParam($objPage->arrForm); 
    37     // エラーチェック 
    38     $objPage->arrErr = lfErrorCheck(); 
    39     if(count($objPage->arrErr) <= 0) { 
    40         if($_POST['class_id'] == "") { 
    41             lfInsertClass($objPage->arrForm);   // 新規作成 
    42         } else { 
    43             lfUpdateClass($objPage->arrForm);   // 既存編集 
    44         } 
    45         // 再表示 
    46         sfReload(); 
    47     } else { 
    48         // POSTデータを引き継ぐ 
    49         $objPage->tpl_class_id = $_POST['class_id']; 
    50     } 
    51     break; 
    52 // 削除 
    53 case 'delete': 
    54     sfDeleteRankRecord("dtb_class", "class_id", $_POST['class_id'], "", true); 
    55     $objQuery = new SC_Query(); 
    56     $objQuery->delete("dtb_classcategory", "class_id = ?", $_POST['class_id']); 
    57     // 再表示 
    58     sfReload(); 
    59     break; 
    60 // 編集前処理 
    61 case 'pre_edit': 
    62     // 編集項目をDBより取得する。 
    63     $where = "class_id = ?"; 
    64     $class_name = $objQuery->get("dtb_class", "name", $where, array($_POST['class_id'])); 
    65     // 入力項目にカテゴリ名を入力する。 
    66     $objPage->arrForm['name'] = $class_name; 
    67     // POSTデータを引き継ぐ 
    68     $objPage->tpl_class_id = $_POST['class_id']; 
    69 break; 
    70 case 'down': 
    71     sfRankDown("dtb_class", "class_id", $_POST['class_id']); 
    72     // 再表示 
    73     sfReload(); 
    74     break; 
    75 case 'up': 
    76     sfRankUp("dtb_class", "class_id", $_POST['class_id']); 
    77     // 再表示 
    78     sfReload(); 
    79     break; 
    80 default: 
    81     break; 
    82 } 
    83  
    84 // 規格の読込 
    85 $where = "del_flg <> 1"; 
    86 $objQuery->setorder("rank DESC"); 
    87 $objPage->arrClass = $objQuery->select("name, class_id", "dtb_class", $where); 
    88 $objPage->arrClassCatCount = sfGetClassCatCount(); 
    89  
    90 $objView->assignobj($objPage); 
    91 $objView->display(MAIN_FRAME); 
    92  
    93 //-------------------------------------------------------------------------------------------------------------------------------- 
    94  
    95 /* DBへの挿入 */ 
    96 function lfInsertClass($arrData) { 
    97     $objQuery = new SC_Query(); 
    98     // INSERTする値を作成する。 
    99     $sqlval['name'] = $arrData['name']; 
    100     $sqlval['creator_id'] = $_SESSION['member_id']; 
    101     $sqlval['rank'] = $objQuery->max("dtb_class", "rank") + 1; 
    102     $sqlval['create_date'] = "now()"; 
    103     $sqlval['update_date'] = "now()"; 
    104     // INSERTの実行 
    105     $ret = $objQuery->insert("dtb_class", $sqlval); 
    106      
    107     return $ret; 
    108 } 
    109  
    110 /* DBへの更新 */ 
    111 function lfUpdateClass($arrData) { 
    112     $objQuery = new SC_Query(); 
    113     // UPDATEする値を作成する。 
    114     $sqlval['name'] = $arrData['name']; 
    115     $sqlval['update_date'] = "Now()"; 
    116     $where = "class_id = ?"; 
    117     // UPDATEの実行 
    118     $ret = $objQuery->update("dtb_class", $sqlval, $where, array($arrData['class_id'])); 
    119     return $ret; 
    120 } 
    121  
    122 /* 取得文字列の変換 */ 
    123 function lfConvertParam($array) { 
    124     // 文字変換 
    125     $arrConvList['name'] = "KVa"; 
    126  
    127     foreach ($arrConvList as $key => $val) { 
    128         // POSTされてきた値のみ変換する。 
    129         if(isset($array[$key])) { 
    130             $array[$key] = mb_convert_kana($array[$key] ,$val); 
    131         } 
    132     } 
    133     return $array; 
    134 } 
    135  
    136 /* 入力エラーチェック */ 
    137 function lfErrorCheck() { 
    138     $objErr = new SC_CheckError(); 
    139     $objErr->doFunc(array("規格名", "name", STEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    140      
    141     if(!isset($objErr->arrErr['name'])) { 
    142         $objQuery = new SC_Query(); 
    143         $arrRet = $objQuery->select("class_id, name", "dtb_class", "del_flg = 0 AND name = ?", array($_POST['name'])); 
    144         // 編集中のレコード以外に同じ名称が存在する場合        
    145         if ($arrRet[0]['class_id'] != $_POST['class_id'] && $arrRet[0]['name'] == $_POST['name']) { 
    146             $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>"; 
    147         } 
    148     } 
    149     return $objErr->arrErr; 
    150 } 
     15$objPage = new LC_Page_Admin_Products_Class_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    15119?> 
Note: See TracChangeset for help on using the changeset viewer.