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

クラス化に伴う修正

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/html/admin/contents/recommend_search.php

    r15532 r15661  
    55 * http://www.lockon.co.jp/ 
    66 */ 
    7 require_once("../require.php"); 
    87 
    9 class LC_Page { 
    10      
    11     function LC_Page() { 
    12         $this->tpl_mainpage = 'contents/recomend_search.tpl'; 
    13         $this->tpl_mainno = 'contents'; 
    14         $this->tpl_subnavi = ''; 
    15         $this->tpl_subno = ""; 
    16     } 
    17 } 
     8// {{{ requires 
     9require_once("../../require.php"); 
     10require_once(CLASS_PATH . "page_extends/admin/contents/LC_Page_Admin_Contents_RecommendSearch_Ex.php"); 
    1811 
    19 $conn = new SC_DBConn(); 
    20 $objPage = new LC_Page(); 
    21 $objView = new SC_AdminView(); 
    22 $objSess = new SC_Session(); 
     12// }}} 
     13// {{{ generate page 
    2314 
    24 // 認証可否の判定 
    25 sfIsSuccess($objSess); 
    26  
    27 if ($_POST['mode'] == "search") { 
    28      
    29     // POST値の引き継ぎ 
    30     $objPage->arrForm = $_POST; 
    31     // 入力文字の強制変換 
    32     lfConvertParam(); 
    33      
    34      
    35     $where = "del_flg = 0"; 
    36      
    37     /* 入力エラーなし */ 
    38     foreach ($objPage->arrForm as $key => $val) { 
    39         if($val == "") { 
    40             continue; 
    41         } 
    42          
    43         switch ($key) { 
    44             case 'search_name': 
    45                  
    46                 $where .= " AND name ILIKE ?"; 
    47                 $arrval[] = "%$val%"; 
    48                 break; 
    49             case 'search_category_id': 
    50                 // 子カテゴリIDの取得 
    51                 $arrRet = sfGetChildsID("dtb_category", "parent_category_id", "category_id", $val); 
    52                 $tmp_where = ""; 
    53                 foreach ($arrRet as $val) { 
    54                     if($tmp_where == "") { 
    55                         $tmp_where.= " AND ( category_id = ?"; 
    56                     } else { 
    57                         $tmp_where.= " OR category_id = ?"; 
    58                     } 
    59                     $arrval[] = $val; 
    60                 } 
    61                 $where.= $tmp_where . " )"; 
    62                 break; 
    63             case 'search_product_code': 
    64                 $where .= " AND product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? GROUP BY product_id)"; 
    65                 $where .= " OR product_code ILIKE ?"; 
    66                 $arrval[] = "%$val%"; 
    67                 $arrval[] = "%$val%"; 
    68                 break; 
    69             default: 
    70                 break; 
    71         } 
    72     } 
    73      
    74     $order = "update_date DESC, product_id DESC"; 
    75      
    76     // 読み込む列とテーブルの指定 
    77     $col = "product_id, name, category_id, main_list_image, status, product_code, price01, stock, stock_unlimited"; 
    78     $from = "vw_products_nonclass AS noncls "; 
    79          
    80     $objQuery = new SC_Query(); 
    81     // 行数の取得 
    82     $linemax = $objQuery->count("dtb_products", $where, $arrval); 
    83     $objPage->tpl_linemax = $linemax;               // 何件が該当しました。表示用 
    84  
    85     // ページ送りの処理 
    86     if(is_numeric($_POST['search_page_max'])) {  
    87         $page_max = $_POST['search_page_max']; 
    88     } else { 
    89         $page_max = SEARCH_PMAX; 
    90     } 
    91  
    92     // ページ送りの取得 
    93     $objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchOnlyPage", NAVI_PMAX); 
    94     $objPage->tpl_strnavi = $objNavi->strnavi;      // 表示文字列 
    95     $startno = $objNavi->start_row; 
    96  
    97     // 取得範囲の指定(開始行番号、行数のセット) 
    98     if(DB_TYPE != "mysql") $objQuery->setlimitoffset($page_max, $startno); 
    99     // 表示順序 
    100     $objQuery->setorder($order); 
    101  
    102     // viewも絞込みをかける(mysql用) 
    103     sfViewWhere("&&noncls_where&&", $where, $arrval, $objQuery->order . " " .  $objQuery->setlimitoffset($page_max, $startno, true)); 
    104  
    105     // 検索結果の取得 
    106     $objPage->arrProducts = $objQuery->select($col, $from, $where, $arrval); 
    107 } 
    108  
    109 // カテゴリ取得 
    110 $objPage->arrCatList = sfGetCategoryList(); 
    111  
    112  
    113  
    114  
    115  
    116  
    117 //---- ページ表示 
    118 $objView->assignobj($objPage); 
    119 $objView->display($objPage->tpl_mainpage); 
    120  
    121  
    122  
    123 //--------------------------------------------------------------------------------------------------------------------------------------------------------- 
    124  
    125 /* 取得文字列の変換 */ 
    126 function lfConvertParam() { 
    127     global $objPage; 
    128     /* 
    129      *  文字列の変換 
    130      *  K :  「半角(ハンカク)片仮名」を「全角片仮名」に変換 
    131      *  C :  「全角ひら仮名」を「全角かた仮名」に変換 
    132      *  V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します  
    133      *  n :  「全角」数字を「半角(ハンカク)」に変換 
    134      */ 
    135     $arrConvList['search_name'] = "KVa"; 
    136     $arrConvList['search_product_code'] = "KVa"; 
    137      
    138     // 文字変換 
    139     foreach ($arrConvList as $key => $val) { 
    140         // POSTされてきた値のみ変換する。 
    141         if(isset($objPage->arrForm[$key])) { 
    142             $objPage->arrForm[$key] = mb_convert_kana($objPage->arrForm[$key] ,$val); 
    143         } 
    144     } 
    145 } 
    146  
    147  
     15$objPage = new LC_Page_Admin_Contents_RecommendSearch_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    14819?> 
Note: See TracChangeset for help on using the changeset viewer.