Changeset 15584


Ignore:
Timestamp:
2007/09/04 14:49:20 (17 years ago)
Author:
nanasess
Message:

クラス化に伴う修正

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

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/html/admin/order/index.php

    r15532 r15584  
    55 * http://www.lockon.co.jp/ 
    66 */ 
    7 require_once("../require.php"); 
    8 require_once("./index_csv.php"); 
    97 
    10 class LC_Page { 
    11     function LC_Page() { 
    12         $this->tpl_mainpage = 'order/index.tpl'; 
    13         $this->tpl_subnavi = 'order/subnavi.tpl'; 
    14         $this->tpl_mainno = 'order';         
    15         $this->tpl_subno = 'index'; 
    16         $this->tpl_pager = DATA_PATH . 'Smarty/templates/admin/pager.tpl'; 
    17         $this->tpl_subtitle = '受注管理'; 
    18         global $arrORDERSTATUS; 
    19         $this->arrORDERSTATUS = $arrORDERSTATUS; 
    20         global $arrORDERSTATUS_COLOR; 
    21         $this->arrORDERSTATUS_COLOR = $arrORDERSTATUS_COLOR; 
    22         global $arrSex; 
    23         $this->arrSex = $arrSex; 
    24         global $arrPageMax; 
    25         $this->arrPageMax = $arrPageMax; 
    26     } 
    27 } 
     8// {{{ requires 
     9require_once("../../require.php"); 
     10require_once(CLASS_PATH . "page_extends/admin/order/LC_Page_Admin_Order_Ex.php"); 
    2811 
    29 $conn = new SC_DBConn(); 
    30 $objPage = new LC_Page(); 
    31 $objView = new SC_AdminView(); 
    32 $objSess = new SC_Session(); 
    33 // パラメータ管理クラス 
    34 $objFormParam = new SC_FormParam(); 
    35 // パラメータ情報の初期化 
    36 lfInitParam(); 
    37 $objFormParam->setParam($_POST); 
     12// }}} 
     13// {{{ generate page 
    3814 
    39 $objFormParam->splitParamCheckBoxes('search_order_sex'); 
    40 $objFormParam->splitParamCheckBoxes('search_payment_id'); 
    41  
    42 // 検索ワードの引き継ぎ 
    43 foreach ($_POST as $key => $val) { 
    44     if (ereg("^search_", $key)) { 
    45         switch($key) { 
    46             case 'search_order_sex': 
    47             case 'search_payment_id': 
    48                 $objPage->arrHidden[$key] = sfMergeParamCheckBoxes($val); 
    49                 break; 
    50             default: 
    51                 $objPage->arrHidden[$key] = $val; 
    52                 break; 
    53         }        
    54     } 
    55 } 
    56  
    57 // ページ送り用 
    58 $objPage->arrHidden['search_pageno'] = $_POST['search_pageno']; 
    59  
    60 // 認証可否の判定 
    61 sfIsSuccess($objSess); 
    62  
    63 if($_POST['mode'] == 'delete') { 
    64     if(sfIsInt($_POST['order_id'])) { 
    65         $objQuery = new SC_Query(); 
    66         $where = "order_id = ?"; 
    67         $sqlval['del_flg'] = '1'; 
    68         $objQuery->update("dtb_order", $sqlval, $where, array($_POST['order_id'])); 
    69     }    
    70 } 
    71  
    72 switch($_POST['mode']) { 
    73 case 'delete': 
    74 case 'csv': 
    75 case 'delete_all': 
    76 case 'search': 
    77     // 入力値の変換 
    78     $objFormParam->convParam(); 
    79     $objPage->arrErr = lfCheckError($arrRet); 
    80     $arrRet = $objFormParam->getHashArray(); 
    81     // 入力なし 
    82     if (count($objPage->arrErr) == 0) { 
    83         $where = "del_flg = 0"; 
    84         foreach ($arrRet as $key => $val) { 
    85             if($val == "") { 
    86                 continue; 
    87             } 
    88             $val = sfManualEscape($val); 
    89              
    90             switch ($key) { 
    91                 case 'search_order_name': 
    92                     if(DB_TYPE == "pgsql"){ 
    93                         $where .= " AND order_name01||order_name02 ILIKE ?"; 
    94                     }elseif(DB_TYPE == "mysql"){ 
    95                         $where .= " AND concat(order_name01,order_name02) ILIKE ?"; 
    96                     } 
    97                     $nonsp_val = ereg_replace("[  ]+","",$val); 
    98                     $arrval[] = "%$nonsp_val%"; 
    99                     break; 
    100                 case 'search_order_kana': 
    101                     if(DB_TYPE == "pgsql"){ 
    102                         $where .= " AND order_kana01||order_kana02 ILIKE ?"; 
    103                     }elseif(DB_TYPE == "mysql"){ 
    104                         $where .= " AND concat(order_kana01,order_kana02) ILIKE ?"; 
    105                     } 
    106                     $nonsp_val = ereg_replace("[  ]+","",$val); 
    107                     $arrval[] = "%$nonsp_val%"; 
    108                     break; 
    109                 case 'search_order_id1': 
    110                     $where .= " AND order_id >= ?"; 
    111                     $arrval[] = $val; 
    112                     break; 
    113                 case 'search_order_id2': 
    114                     $where .= " AND order_id <= ?"; 
    115                     $arrval[] = $val; 
    116                     break; 
    117                 case 'search_order_sex': 
    118                     $tmp_where = ""; 
    119                     foreach($val as $element) { 
    120                         if($element != "") { 
    121                             if($tmp_where == "") { 
    122                                 $tmp_where .= " AND (order_sex = ?"; 
    123                             } else { 
    124                                 $tmp_where .= " OR order_sex = ?"; 
    125                             } 
    126                             $arrval[] = $element; 
    127                         } 
    128                     } 
    129                      
    130                     if($tmp_where != "") { 
    131                         $tmp_where .= ")"; 
    132                         $where .= " $tmp_where "; 
    133                     }                    
    134                     break; 
    135                 case 'search_order_tel': 
    136                     if(DB_TYPE == "pgsql"){ 
    137                         $where .= " AND (order_tel01||order_tel02||order_tel03) ILIKE ?"; 
    138                     }elseif(DB_TYPE == "mysql"){ 
    139                         $where .= " AND concat(order_tel01,order_tel02,order_tel03) ILIKE ?"; 
    140                     } 
    141                     $nonmark_val = ereg_replace("[()-]+","",$val); 
    142                     $arrval[] = "$nonmark_val%"; 
    143                     break; 
    144                 case 'search_order_email': 
    145                     $where .= " AND order_email ILIKE ?"; 
    146                     $arrval[] = "%$val%"; 
    147                     break; 
    148                 case 'search_payment_id': 
    149                     $tmp_where = ""; 
    150                     foreach($val as $element) { 
    151                         if($element != "") { 
    152                             if($tmp_where == "") { 
    153                                 $tmp_where .= " AND (payment_id = ?"; 
    154                             } else { 
    155                                 $tmp_where .= " OR payment_id = ?"; 
    156                             } 
    157                             $arrval[] = $element; 
    158                         } 
    159                     } 
    160                      
    161                     if($tmp_where != "") { 
    162                         $tmp_where .= ")"; 
    163                         $where .= " $tmp_where "; 
    164                     } 
    165                     break; 
    166                 case 'search_total1': 
    167                     $where .= " AND total >= ?"; 
    168                     $arrval[] = $val; 
    169                     break; 
    170                 case 'search_total2': 
    171                     $where .= " AND total <= ?"; 
    172                     $arrval[] = $val; 
    173                     break; 
    174                 case 'search_startyear': 
    175                     $date = sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']); 
    176                     $where.= " AND update_date >= ?"; 
    177                     $arrval[] = $date; 
    178                     break; 
    179                 case 'search_endyear': 
    180                     $date = sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday'], true); 
    181                     $where.= " AND update_date <= ?"; 
    182                     $arrval[] = $date; 
    183                     break; 
    184                 case 'search_sbirthyear': 
    185                     $date = sfGetTimestamp($_POST['search_sbirthyear'], $_POST['search_sbirthmonth'], $_POST['search_sbirthday']); 
    186                     $where.= " AND order_birth >= ?"; 
    187                     $arrval[] = $date; 
    188                     break; 
    189                 case 'search_ebirthyear': 
    190                     $date = sfGetTimestamp($_POST['search_ebirthyear'], $_POST['search_ebirthmonth'], $_POST['search_ebirthday'], true); 
    191                     $where.= " AND order_birth <= ?"; 
    192                     $arrval[] = $date; 
    193                     break; 
    194                 case 'search_order_status': 
    195                     $where.= " AND status = ?"; 
    196                     $arrval[] = $val; 
    197                     break; 
    198                 default: 
    199                     break; 
    200             } 
    201         } 
    202          
    203         $order = "update_date DESC"; 
    204          
    205         switch($_POST['mode']) { 
    206         case 'csv': 
    207             // オプションの指定 
    208             $option = "ORDER BY $order"; 
    209              
    210             // CSV出力タイトル行の作成 
    211             $arrCsvOutput = sfSwapArray(sfgetCsvOutput(3, " WHERE csv_id = 3 AND status = 1")); 
    212              
    213             if (count($arrCsvOutput) <= 0) break; 
    214              
    215             $arrCsvOutputCols = $arrCsvOutput['col']; 
    216             $arrCsvOutputTitle = $arrCsvOutput['disp_name']; 
    217             $head = sfGetCSVList($arrCsvOutputTitle); 
    218             $data = lfGetCSV("dtb_order", $where, $option, $arrval, $arrCsvOutputCols); 
    219              
    220             // CSVを送信する。 
    221             sfCSVDownload($head.$data); 
    222             exit; 
    223             break; 
    224         case 'delete_all': 
    225             // 検索結果をすべて削除 
    226             $sqlval['del_flg'] = 1; 
    227             $objQuery = new SC_Query(); 
    228             $objQuery->update("dtb_order", $sqlval, $where, $arrval); 
    229             break; 
    230         default: 
    231             // 読み込む列とテーブルの指定 
    232             $col = "*"; 
    233             $from = "dtb_order"; 
    234              
    235             $objQuery = new SC_Query(); 
    236             // 行数の取得 
    237             $linemax = $objQuery->count($from, $where, $arrval); 
    238             $objPage->tpl_linemax = $linemax;               // 何件が該当しました。表示用 
    239              
    240             // ページ送りの処理 
    241             if(is_numeric($_POST['search_page_max'])) {  
    242                 $page_max = $_POST['search_page_max']; 
    243             } else { 
    244                 $page_max = SEARCH_PMAX; 
    245             } 
    246              
    247             // ページ送りの取得 
    248             $objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX); 
    249             $startno = $objNavi->start_row; 
    250             $objPage->arrPagenavi = $objNavi->arrPagenavi;       
    251              
    252             // 取得範囲の指定(開始行番号、行数のセット) 
    253             $objQuery->setlimitoffset($page_max, $startno); 
    254             // 表示順序 
    255             $objQuery->setorder($order); 
    256             // 検索結果の取得 
    257             $objPage->arrResults = $objQuery->select($col, $from, $where, $arrval); 
    258         } 
    259     } 
    260     break; 
    261      
    262 default: 
    263     break; 
    264 } 
    265  
    266 $objDate = new SC_Date(); 
    267 // 登録・更新日検索用 
    268 $objDate->setStartYear(RELEASE_YEAR); 
    269 $objDate->setEndYear(DATE("Y")); 
    270 $objPage->arrRegistYear = $objDate->getYear(); 
    271 // 生年月日検索用 
    272 $objDate->setStartYear(BIRTH_YEAR); 
    273 $objDate->setEndYear(DATE("Y")); 
    274 $objPage->arrBirthYear = $objDate->getYear(); 
    275 // 月日の設定 
    276 $objPage->arrMonth = $objDate->getMonth(); 
    277 $objPage->arrDay = $objDate->getDay(); 
    278  
    279 // 入力値の取得 
    280 $objPage->arrForm = $objFormParam->getFormParamList(); 
    281 // 支払い方法の取得 
    282 $arrRet = sfGetPayment(); 
    283 $objPage->arrPayment = sfArrKeyValue($arrRet, 'payment_id', 'payment_method'); 
    284  
    285 $objView->assignobj($objPage); 
    286 $objView->display(MAIN_FRAME); 
    287  
    288 //----------------------------------------------------------------------------------------------------------------------------------- 
    289 /* パラメータ情報の初期化 */ 
    290 function lfInitParam() { 
    291     global $objFormParam; 
    292     $objFormParam->addParam("受注番号1", "search_order_id1", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    293     $objFormParam->addParam("受注番号2", "search_order_id2", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    294     $objFormParam->addParam("対応状況", "search_order_status", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    295     $objFormParam->addParam("顧客名", "search_order_name", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
    296     $objFormParam->addParam("顧客名(カナ)", "search_order_kana", STEXT_LEN, "KVCa", array("KANA_CHECK","MAX_LENGTH_CHECK")); 
    297     $objFormParam->addParam("性別", "search_order_sex", INT_LEN, "n", array("MAX_LENGTH_CHECK")); 
    298     $objFormParam->addParam("年齢1", "search_age1", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    299     $objFormParam->addParam("年齢2", "search_age2", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    300     $objFormParam->addParam("メールアドレス", "search_order_email", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
    301     $objFormParam->addParam("TEL", "search_order_tel", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK")); 
    302     $objFormParam->addParam("支払い方法", "search_payment_id", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    303     $objFormParam->addParam("購入金額1", "search_total1", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    304     $objFormParam->addParam("購入金額2", "search_total2", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    305     $objFormParam->addParam("表示件数", "search_page_max", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    306     $objFormParam->addParam("開始日", "search_startyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    307     $objFormParam->addParam("開始日", "search_startmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    308     $objFormParam->addParam("開始日", "search_startday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    309     $objFormParam->addParam("終了日", "search_endyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    310     $objFormParam->addParam("終了日", "search_endmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    311     $objFormParam->addParam("終了日", "search_endday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    312     $objFormParam->addParam("開始日", "search_sbirthyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    313     $objFormParam->addParam("開始日", "search_sbirthmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    314     $objFormParam->addParam("開始日", "search_sbirthday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    315     $objFormParam->addParam("終了日", "search_ebirthyear", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    316     $objFormParam->addParam("終了日", "search_ebirthmonth", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    317     $objFormParam->addParam("終了日", "search_ebirthday", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    318 } 
    319  
    320 /* 入力内容のチェック */ 
    321 function lfCheckError() { 
    322     global $objFormParam; 
    323     // 入力データを渡す。 
    324     $arrRet =  $objFormParam->getHashArray(); 
    325     $objErr = new SC_CheckError($arrRet); 
    326     $objErr->arrErr = $objFormParam->checkError(); 
    327      
    328     // 特殊項目チェック 
    329     $objErr->doFunc(array("受注番号1", "受注番号2", "search_order_id1", "search_order_id2"), array("GREATER_CHECK")); 
    330     $objErr->doFunc(array("年齢1", "年齢2", "search_age1", "search_age2"), array("GREATER_CHECK")); 
    331     $objErr->doFunc(array("購入金額1", "購入金額2", "search_total1", "search_total2"), array("GREATER_CHECK")); 
    332     $objErr->doFunc(array("開始日", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); 
    333     $objErr->doFunc(array("終了日", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE")); 
    334     $objErr->doFunc(array("開始日", "終了日", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM")); 
    335      
    336     $objErr->doFunc(array("開始日", "search_sbirthyear", "search_sbirthmonth", "search_sbirthday"), array("CHECK_DATE")); 
    337     $objErr->doFunc(array("終了日", "search_ebirthyear", "search_ebirthmonth", "search_ebirthday"), array("CHECK_DATE")); 
    338     $objErr->doFunc(array("開始日", "終了日", "search_sbirthyear", "search_sbirthmonth", "search_sbirthday", "search_ebirthyear", "search_ebirthmonth", "search_ebirthday"), array("CHECK_SET_TERM")); 
    339  
    340     return $objErr->arrErr; 
    341 } 
    342  
    343  
     15$objPage = new LC_Page_Admin_Order_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    34419?> 
Note: See TracChangeset for help on using the changeset viewer.