Ignore:
Timestamp:
2007/09/01 18:48:53 (17 years ago)
Author:
nanasess
Message:

クラス化に伴う修正

File:
1 edited

Legend:

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

    r15532 r15546  
    55 * http://www.lockon.co.jp/ 
    66 */ 
     7 
     8// {{{ requires 
    79require_once("../require.php"); 
    8 require_once("./index_csv.php"); 
     10require_once(CLASS_PATH . "page_extends/admin/products/LC_Page_Admin_Products_Trackback_Ex.php"); 
    911 
    10 session_start(); 
     12// }}} 
     13// {{{ generate page 
    1114 
    12 class LC_Page { 
    13     var $arrSession; 
    14     function LC_Page() { 
    15         global $arrPageMax; 
    16         $this->arrPageMax = $arrPageMax; 
    17         $this->tpl_mainpage = 'products/trackback.tpl'; 
    18         $this->tpl_subnavi = 'products/subnavi.tpl'; 
    19         $this->tpl_mainno = 'products'; 
    20         $this->tpl_subno = 'trackback'; 
    21         $this->tpl_pager = DATA_PATH . 'Smarty/templates/admin/pager.tpl'; 
    22         $this->tpl_subtitle = 'トラックバック管理'; 
    23     } 
    24 } 
    25  
    26 $objPage = new LC_Page(); 
    27 $objView = new SC_AdminView(); 
    28 $objSess = new SC_Session(); 
    29 $objDate = new SC_Date(); 
    30 $objQuery = new SC_Query(); 
    31  
    32 // 状態の設定 
    33 $objPage->arrTrackBackStatus = $arrTrackBackStatus; 
    34  
    35 // 登録・更新検索開始年 
    36 $objDate->setStartYear(RELEASE_YEAR); 
    37 $objDate->setEndYear(DATE("Y")); 
    38 $objPage->arrStartYear = $objDate->getYear(); 
    39 $objPage->arrStartMonth = $objDate->getMonth(); 
    40 $objPage->arrStartDay = $objDate->getDay(); 
    41 // 登録・更新検索終了年 
    42 $objDate->setStartYear(RELEASE_YEAR); 
    43 $objDate->setEndYear(DATE("Y")); 
    44 $objPage->arrEndYear = $objDate->getYear(); 
    45 $objPage->arrEndMonth = $objDate->getMonth(); 
    46 $objPage->arrEndDay = $objDate->getDay(); 
    47  
    48 // 認証可否の判定 
    49 sfIsSuccess($objSess); 
    50  
    51 // トラックバック情報のカラムの取得(viewとの結合のため、テーブルをAと定義しておく) 
    52 $select = "A.trackback_id, A.product_id, A.blog_name, A.title, A.url, "; 
    53 $select .= "A.excerpt, A.status, A.create_date, A.update_date, B.name"; 
    54 $from = "dtb_trackback AS A LEFT JOIN dtb_products AS B ON A.product_id = B.product_id "; 
    55  
    56 // 検索ワードの引き継ぎ 
    57 foreach ($_POST as $key => $val) { 
    58     if (ereg("^search_", $key)) { 
    59         $objPage->arrHidden[$key] = $val; 
    60     } 
    61 } 
    62  
    63 // トラックバックの削除 
    64 if ($_POST['mode'] == "delete") { 
    65     $objQuery->exec("UPDATE dtb_trackback SET del_flg = 1, update_date = now() WHERE trackback_id = ?", array($_POST['trackback_id'])); 
    66 } 
    67      
    68 if ($_POST['mode'] == 'search' || $_POST['mode'] == 'csv' || $_POST['mode'] == 'delete'){ 
    69      
    70     //削除されていない商品を検索 
    71     $where="A.del_flg = 0 AND B.del_flg = 0"; 
    72     $objPage->arrForm = $_POST; 
    73  
    74     //エラーチェック 
    75     $objPage->arrErr = lfCheckError(); 
    76  
    77     if (!$objPage->arrErr) { 
    78         foreach ($_POST as $key => $val) { 
    79  
    80             $val = sfManualEscape($val); 
    81              
    82             if ($val == "") { 
    83                 continue; 
    84             } 
    85              
    86             switch ($key) { 
    87  
    88                 case 'search_blog_name': 
    89                     $val = ereg_replace(" ", "%", $val); 
    90                     $val = ereg_replace(" ", "%", $val); 
    91                     $where.= " AND A.blog_name ILIKE ? "; 
    92                     $arrval[] = "%$val%"; 
    93                     break; 
    94              
    95                 case 'search_blog_title': 
    96                     $val = ereg_replace(" ", "%", $val); 
    97                     $val = ereg_replace(" ", "%", $val); 
    98                     $where.= " AND A.title ILIKE ? "; 
    99                     $arrval[] = "%$val%"; 
    100                     break; 
    101              
    102                 case 'search_blog_url': 
    103                     $val = ereg_replace(" ", "%", $val); 
    104                     $val = ereg_replace(" ", "%", $val); 
    105                     $where.= " AND A.url ILIKE ? "; 
    106                     $arrval[] = "%$val%"; 
    107                     break; 
    108                      
    109                 case 'search_status': 
    110                     if (isset($_POST['search_status'])) { 
    111                         $where.= " AND A.status = ? "; 
    112                         $arrval[] = $val; 
    113                     } 
    114                     break; 
    115                              
    116                 case 'search_name': 
    117                     $val = ereg_replace(" ", "%", $val); 
    118                     $val = ereg_replace(" ", "%", $val); 
    119                     $where.= " AND B.name ILIKE ? "; 
    120                     $arrval[] = "%$val%"; 
    121                     break; 
    122                      
    123                 case 'search_product_code': 
    124                     $val = ereg_replace(" ", "%", $val); 
    125                     $val = ereg_replace(" ", "%", $val); 
    126                     $where.= " AND B.product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? )"; 
    127                     $arrval[] = "%$val%"; 
    128                     break; 
    129                      
    130                 case 'search_startyear': 
    131                     if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])) { 
    132                         $date = sfGetTimestamp($_POST['search_startyear'], $_POST['search_startmonth'], $_POST['search_startday']); 
    133                         $where.= " AND A.create_date >= ? "; 
    134                         $arrval[] = $date; 
    135                     } 
    136                     break; 
    137      
    138                 case 'search_endyear': 
    139                     if (isset($_POST['search_startyear']) && isset($_POST['search_startmonth']) && isset($_POST['search_startday'])) { 
    140                         $date = sfGetTimestamp($_POST['search_endyear'], $_POST['search_endmonth'], $_POST['search_endday']); 
    141                          
    142                         $end_date = date("Y/m/d",strtotime("1 day" ,strtotime($date))); 
    143                          
    144                         $where.= " AND A.create_date <= cast('$end_date' as date) "; 
    145                     } 
    146                     break; 
    147             } 
    148          
    149         } 
    150              
    151     } 
    152      
    153     $order = "A.create_date DESC"; 
    154      
    155     // ページ送りの処理 
    156     if(is_numeric($_POST['search_page_max'])) {  
    157         $page_max = $_POST['search_page_max']; 
    158     } else { 
    159         $page_max = SEARCH_PMAX; 
    160     } 
    161      
    162     $linemax = $objQuery->count($from, $where, $arrval); 
    163     $objPage->tpl_linemax = $linemax; 
    164      
    165     // ページ送りの取得 
    166     $objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX); 
    167     $objPage->arrPagenavi = $objNavi->arrPagenavi; 
    168     $startno = $objNavi->start_row; 
    169  
    170     $objPage->tpl_pageno = $_POST['search_pageno']; 
    171      
    172     // 取得範囲の指定(開始行番号、行数のセット) 
    173     $objQuery->setlimitoffset($page_max, $startno); 
    174  
    175     // 表示順序 
    176     $objQuery->setorder($order); 
    177      
    178     //検索結果の取得 
    179     $objPage->arrTrackback = $objQuery->select($select, $from, $where, $arrval); 
    180      
    181     //CSVダウンロード 
    182     if ($_POST['mode'] == 'csv'){ 
    183         // オプションの指定 
    184         $option = "ORDER BY A.trackback_id"; 
    185         // CSV出力タイトル行の作成 
    186         $head = sfGetCSVList($arrTRACKBACK_CVSTITLE); 
    187         $data = lfGetTrackbackCSV($where, '', $arrval); 
    188         // CSVを送信する。 
    189         sfCSVDownload($head.$data); 
    190         exit; 
    191     }    
    192 } 
    193  
    194 $objView->assignobj($objPage); 
    195 $objView->display(MAIN_FRAME); 
    196  
    197 //------------------------------------------------------------------------------------- 
    198  
    199 // 入力エラーチェック 
    200 function lfCheckError() { 
    201     $objErr = new SC_CheckError(); 
    202     switch ($_POST['mode']){ 
    203         case 'search': 
    204         $objErr->doFunc(array("投稿者", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); 
    205         $objErr->doFunc(array("開始日", "search_startyear", "search_startmonth", "search_startday"), array("CHECK_DATE")); 
    206         $objErr->doFunc(array("終了日", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_DATE")); 
    207         $objErr->doFunc(array("開始日", "終了日", "search_startyear", "search_startmonth", "search_startday", "search_endyear", "search_endmonth", "search_endday"), array("CHECK_SET_TERM")); 
    208         break; 
    209          
    210         case 'complete': 
    211         $objErr->doFunc(array("おすすめレベル", "recommend_level"), array("SELECT_CHECK")); 
    212         $objErr->doFunc(array("タイトル", "title", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    213         $objErr->doFunc(array("コメント", "comment", LTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    214         break; 
    215     } 
    216     return $objErr->arrErr; 
    217 } 
    218  
     15$objPage = new LC_Page_Admin_Products_Trackback_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    21919?> 
Note: See TracChangeset for help on using the changeset viewer.