Changeset 15486


Ignore:
Timestamp:
2007/08/30 17:51:39 (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/classcategory.php

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