Ticket #966: rev966.diff

File rev966.diff, 24.1 KB (added by miningbrownie, 10 years ago)

まだテスト出来てない。

  • data/class/pages/admin/order/LC_Page_Admin_Order_MailView.php

     
    6363     * @return void 
    6464     */ 
    6565    function action() { 
    66         $objSess = new SC_Session(); 
    67  
    6866        // 認証可否の判定 
    69         SC_Utils_Ex::sfIsSuccess($objSess); 
     67        SC_Utils_Ex::sfIsSuccess(new SC_Session()); 
    7068 
    7169        if(SC_Utils_Ex::sfIsInt($_GET['send_id'])) { 
    72             $objQuery = new SC_Query(); 
     70            $objQuery =& SC_Query::getSingletonInstance(); 
    7371            $col = "subject, mail_body"; 
    7472            $where = "send_id = ?"; 
    7573            $arrRet = $objQuery->select($col, "dtb_mail_history", $where, array($_GET['send_id'])); 
     
    8886        parent::destroy(); 
    8987    } 
    9088} 
    91 ?> 
     89?> 
     90 No newline at end of file 
  • data/class/pages/admin/order/LC_Page_Admin_Order_ProductSelect.php

     
    1  
    21<?php 
    32/* 
    43 * This file is part of EC-CUBE 
     
    8382        } 
    8483 
    8584        switch ($this->getMode()) { 
    86         case 'search': 
    87             // POST値の引き継ぎ 
    88             $this->arrForm = $_POST; 
    89             // 入力文字の強制変換 
    90             $this->lfConvertParam(); 
     85            case 'search': 
     86                // 入力文字の強制変換とPOST値の引き継ぎ 
     87                SC_FormParam::convParam(); 
     88                $this->arrForm = $this->lfConvertParam($_POST,$this->getConvertRule()); 
    9189 
    92             $where = "alldtl.del_flg = 0"; 
    93             $arrval = array(); 
     90                $where = "alldtl.del_flg = 0"; 
     91                $arrval = array(); 
    9492 
    95             /* 入力エラーなし */ 
    96             foreach ($this->arrForm as $key => $val) { 
    97                 if($val == "") { 
    98                     continue; 
    99                 } 
     93                /* 入力エラーなし */ 
     94                foreach ($this->arrForm as $key => $val) { 
     95                    if($val == "") { 
     96                        continue; 
     97                    } 
    10098 
    101                 switch ($key) { 
    102                 case 'search_name': 
    103                     $where .= " AND name ILIKE ?"; 
    104                     $arrval[] = "%$val%"; 
    105                     break; 
    106                 case 'search_category_id': 
    107                     list($tmp_where, $tmp_arrval) = $objDb->sfGetCatWhere($val); 
    108                     if($tmp_where != "") { 
    109                         $where.= " AND alldtl.product_id IN (SELECT product_id FROM dtb_product_categories WHERE " . $tmp_where . ")"; 
    110                         $arrval = array_merge((array)$arrval, (array)$tmp_arrval); 
     99                    switch ($key) { 
     100                        case 'search_name': 
     101                            $where .= " AND name ILIKE ?"; 
     102                            $arrval[] = "%$val%"; 
     103                            break; 
     104                        case 'search_category_id': 
     105                            list($tmp_where, $tmp_arrval) = $objDb->sfGetCatWhere($val); 
     106                            if($tmp_where != "") { 
     107                                $where.= " AND alldtl.product_id IN (SELECT product_id FROM dtb_product_categories WHERE " . $tmp_where . ")"; 
     108                                $arrval = array_merge((array)$arrval, (array)$tmp_arrval); 
     109                            } 
     110                            break; 
     111                        case 'search_product_code': 
     112                            $where .= " AND alldtl.product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code LIKE ? GROUP BY product_id)"; 
     113                            $arrval[] = "$val%"; 
     114                            break; 
     115                        default: 
     116                            break; 
    111117                    } 
    112                     break; 
    113                 case 'search_product_code': 
    114                     $where .= " AND alldtl.product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code LIKE ? GROUP BY product_id)"; 
    115                     $arrval[] = "$val%"; 
    116                     break; 
    117                 default: 
    118                     break; 
    119118                } 
    120             } 
    121119 
    122             // 検索結果対象となる商品の数を取得 
    123             $objQuery =& SC_Query::getSingletonInstance(); 
    124             $objQuery->setWhere($where); 
    125             $objProduct = new SC_Product(); 
    126             $linemax = $objProduct->findProductCount($objQuery, $arrval); 
    127             $this->tpl_linemax = $linemax;   // 何件が該当しました。表示用 
     120                // 検索結果対象となる商品の数を取得 
     121                $objQuery =& SC_Query::getSingletonInstance(); 
     122                $objQuery->setWhere($where); 
     123                $objProduct = new SC_Product(); 
     124                $linemax = $objProduct->findProductCount($objQuery, $arrval); 
     125                $this->tpl_linemax = $linemax;   // 何件が該当しました。表示用 
    128126 
    129             // ページ送りの処理 
    130             if(isset($_POST['search_page_max']) 
    131                && is_numeric($_POST['search_page_max'])) { 
    132                 $page_max = $_POST['search_page_max']; 
    133             } else { 
    134                 $page_max = SEARCH_PMAX; 
    135             } 
     127                // ページ送りの処理 
     128                if(isset($_POST['search_page_max']) 
     129                && is_numeric($_POST['search_page_max'])) { 
     130                    $page_max = $_POST['search_page_max']; 
     131                } else { 
     132                    $page_max = SEARCH_PMAX; 
     133                } 
    136134 
    137             // ページ送りの取得 
    138             $objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchOnlyPage", NAVI_PMAX); 
    139             $this->tpl_strnavi = $objNavi->strnavi;     // 表示文字列 
    140             $startno = $objNavi->start_row; 
     135                // ページ送りの取得 
     136                $objNavi = new SC_PageNavi($_POST['search_pageno'], $linemax, $page_max, "fnNaviSearchOnlyPage", NAVI_PMAX); 
     137                $this->tpl_strnavi = $objNavi->strnavi;     // 表示文字列 
     138                $startno = $objNavi->start_row; 
    141139 
    142             $objProduct = new SC_Product(); 
    143             $objQuery =& SC_Query::getSingletonInstance(); 
    144             $objQuery->setWhere($where); 
     140                $objProduct = new SC_Product(); 
     141                $objQuery =& SC_Query::getSingletonInstance(); 
     142                $objQuery->setWhere($where); 
    145143 
    146             // 取得範囲の指定(開始行番号、行数のセット) 
    147             $objQuery->setLimitOffset($page_max, $startno); 
    148             // 表示順序 
    149             $objQuery->setOrder($order); 
     144                // 取得範囲の指定(開始行番号、行数のセット) 
     145                $objQuery->setLimitOffset($page_max, $startno); 
     146                // 表示順序 
     147                $objQuery->setOrder($order); 
    150148 
    151             // 検索結果の取得 
    152             $arrProduct_id = $objProduct->findProductIdsOrder($objQuery, $arrval); 
     149                // 検索結果の取得 
     150                $arrProduct_id = $objProduct->findProductIdsOrder($objQuery, $arrval); 
    153151 
    154             $where = ""; 
    155             if (is_array($arrProduct_id) && !empty($arrProduct_id)) { 
    156                 $where = 'product_id IN (' . implode(',', $arrProduct_id) . ')'; 
    157             } else { 
    158                 // 一致させない 
    159                 $where = '0<>0'; 
    160             } 
    161             $objQuery =& SC_Query::getSingletonInstance(); 
    162             $objQuery->setWhere($where); 
    163             $arrProducts = $objProduct->lists($objQuery, $arrProduct_id); 
     152                $where = ""; 
     153                if (is_array($arrProduct_id) && !empty($arrProduct_id)) { 
     154                    $where = 'product_id IN (' . implode(',', $arrProduct_id) . ')'; 
     155                } else { 
     156                    // 一致させない 
     157                    $where = '0<>0'; 
     158                } 
     159                $objQuery =& SC_Query::getSingletonInstance(); 
     160                $objQuery->setWhere($where); 
     161                $arrProducts = $objProduct->lists($objQuery, $arrProduct_id); 
    164162 
    165             //取得している並び順で並び替え 
    166             $arrProducts2 = array(); 
    167             foreach($arrProducts as $item) { 
    168                 $arrProducts2[ $item['product_id'] ] = $item; 
    169             } 
    170             $this->arrProducts = array(); 
    171             foreach($arrProduct_id as $product_id) { 
    172                 $this->arrProducts[] = $arrProducts2[$product_id]; 
    173             } 
     163                //取得している並び順で並び替え 
     164                $arrProducts2 = array(); 
     165                foreach($arrProducts as $item) { 
     166                    $arrProducts2[ $item['product_id'] ] = $item; 
     167                } 
     168                $this->arrProducts = array(); 
     169                foreach($arrProduct_id as $product_id) { 
     170                    $this->arrProducts[] = $arrProducts2[$product_id]; 
     171                } 
    174172 
    175             $objProduct->setProductsClassByProductIds($arrProduct_id); 
    176             $objJson = new Services_JSON(); 
    177             $this->tpl_javascript .= 'productsClassCategories = ' . $objJson->encode($objProduct->classCategories) . '; '; 
     173                $objProduct->setProductsClassByProductIds($arrProduct_id); 
     174                $objJson = new Services_JSON(); 
     175                $this->tpl_javascript .= 'productsClassCategories = ' . $objJson->encode($objProduct->classCategories) . '; '; 
    178176 
    179             foreach ($this->arrProducts as $arrProduct) { 
    180                 $js_fnOnLoad .= "fnSetClassCategories(document.product_form{$arrProduct['product_id']});\n"; 
    181             } 
     177                foreach ($this->arrProducts as $arrProduct) { 
     178                    $js_fnOnLoad .= "fnSetClassCategories(document.product_form{$arrProduct['product_id']});\n"; 
     179                } 
    182180 
    183             $this->tpl_javascript .= 'function fnOnLoad(){' . $js_fnOnLoad . '}'; 
    184             $this->tpl_onload .= 'fnOnLoad(); '; 
     181                $this->tpl_javascript .= 'function fnOnLoad(){' . $js_fnOnLoad . '}'; 
     182                $this->tpl_onload .= 'fnOnLoad(); '; 
    185183 
    186             // 規格1クラス名 
    187             $this->tpl_class_name1 = $objProduct->className1; 
     184                // 規格1クラス名 
     185                $this->tpl_class_name1 = $objProduct->className1; 
    188186 
    189             // 規格2クラス名 
    190             $this->tpl_class_name2 = $objProduct->className2; 
     187                // 規格2クラス名 
     188                $this->tpl_class_name2 = $objProduct->className2; 
    191189 
    192             // 規格1 
    193             $this->arrClassCat1 = $objProduct->classCats1; 
     190                // 規格1 
     191                $this->arrClassCat1 = $objProduct->classCats1; 
    194192 
    195             // 規格1が設定されている 
    196             $this->tpl_classcat_find1 = $objProduct->classCat1_find; 
    197             // 規格2が設定されている 
    198             $this->tpl_classcat_find2 = $objProduct->classCat2_find; 
    199             $this->tpl_product_class_id = $objProduct->product_class_id; 
    200             $this->tpl_stock_find = $objProduct->stock_find; 
    201             break; 
    202         default: 
    203             break; 
     193                // 規格1が設定されている 
     194                $this->tpl_classcat_find1 = $objProduct->classCat1_find; 
     195                // 規格2が設定されている 
     196                $this->tpl_classcat_find2 = $objProduct->classCat2_find; 
     197                $this->tpl_product_class_id = $objProduct->product_class_id; 
     198                $this->tpl_stock_find = $objProduct->stock_find; 
     199                break; 
     200            default: 
     201                break; 
    204202        } 
    205203 
    206204        // カテゴリ取得 
     
    217215        parent::destroy(); 
    218216    } 
    219217 
    220     /* 取得文字列の変換 */ 
    221     function lfConvertParam() { 
     218    /** 
     219     * 文字列の変換ルールを返す 
     220     */ 
     221    function getConvertRule(){ 
    222222        /* 
    223223         *  文字列の変換 
    224224         *  K :  「半角(ハンカク)片仮名」を「全角片仮名」に変換 
     
    226226         *  V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します 
    227227         *  n :  「全角」数字を「半角(ハンカク)」に変換 
    228228         */ 
     229        $arrConvList = array(); 
    229230        $arrConvList['search_name'] = "KVa"; 
    230231        $arrConvList['search_product_code'] = "KVa"; 
     232        return $arrConvList; 
     233    } 
    231234 
    232         // 文字変換 
    233         foreach ($arrConvList as $key => $val) { 
    234             // POSTされてきた値のみ変換する。 
    235             if(isset($this->arrForm[$key])) { 
    236                 $this->arrForm[$key] = mb_convert_kana($this->arrForm[$key] ,$val); 
     235    /** 
     236     * 取得文字列の変換 
     237     * @param Array $param 取得文字列 
     238     * @param Array $convList 変換ルール 
     239     */ 
     240    function lfConvertParam($param,$convList){ 
     241        $convedParam = array(); 
     242        foreach ($convList as $key => $value){ 
     243            if(isset($param[$key])) { 
     244                $convedParam[$key] = mb_convert_kana($param[$key],$value); 
     245            }else{ 
     246                $convedParam[$key] = $param[$key]; 
    237247            } 
    238248        } 
     249        return $convedParam; 
    239250    } 
    240251} 
    241252?> 
  • data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php

     
    7171     */ 
    7272    function action() { 
    7373        SC_Utils_Ex::sfIsSuccess(new SC_Session()); 
    74  
    7574        // 検索パラメータの引き継ぎ 
    7675        $this->arrSearchHidden = SC_Utils_Ex::sfFilterKey($_POST,"^search_"); 
    77          
    7876        $this->tpl_order_id = $_POST['order_id']; 
    79  
    8077        // パラメータ管理クラス 
    8178        $objFormParam = new SC_FormParam(); 
    8279        // パラメータ情報の初期化 
     
    9289                $objFormParam->setParam($_POST); 
    9390                break; 
    9491            case 'send': 
    95                 // POST値の取得 
    96                 $objFormParam->setParam($_POST); 
    97                 // 入力値の変換 
    98                 $objFormParam->convParam(); 
    99                 $this->arrErr = $objFormParam->checkerror(); 
    100                 // メールの送信 
    101                 if (count($this->arrErr) == 0) { 
    102                     // 注文受付メール 
    103                     $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer']); 
    104                 } 
    105                 SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH); 
     92                $this->send(); 
    10693                exit; 
    107                 break; 
    10894            case 'confirm': 
    109                 // POST値の取得 
    110                 $objFormParam->setParam($_POST); 
    111                 // 入力値の変換 
    112                 $objFormParam->convParam(); 
    113                 // 入力値の引き継ぎ 
    114                 $this->arrHidden = $objFormParam->getHashArray(); 
    115                 $this->arrErr = $objFormParam->checkerror(); 
    116                 // メールの送信 
    117                 if (count($this->arrErr) == 0) { 
    118                     // 注文受付メール(送信なし) 
    119                     $objSendMail = $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer'], false); 
    120                     // 確認ページの表示 
    121                     $this->tpl_subject = $_POST['subject']; 
    122                     $this->tpl_body = mb_convert_encoding( $objSendMail->body, CHAR_CODE, "auto" ); 
    123                     $this->tpl_to = $objSendMail->tpl_to; 
    124                     $this->tpl_mainpage = 'order/mail_confirm.tpl'; 
    125                     return; 
    126                 } 
     95                $this->confirm(); 
    12796                break; 
    12897            case 'change': 
    12998                // POST値の取得 
    130                 $objFormParam->setValue('template_id', $_POST['template_id']); 
    131                 if(SC_Utils_Ex::sfIsInt($_POST['template_id'])) { 
    132                     $objQuery = new SC_Query(); 
    133                     $where = "template_id = ?"; 
    134                     $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($_POST['template_id'])); 
    135                     $objFormParam->setParam($arrRet[0]); 
    136                 } 
     99                $this->changeData(); 
    137100                break; 
    138101        } 
    139102 
     
    149112        $this->arrForm = $objFormParam->getFormParamList(); 
    150113    } 
    151114 
    152     /** 
    153      * TODO これ色々なところでやっていそうなので、どこかに共通化した方がよいんちゃうかな 
    154      * 検索パラメータを配列で返す 
    155      *  
    156      */ 
    157     function getSearchParameters($post){ 
    158         // 検索パラメータの引き継ぎ 
    159         $searchHiddenParams = array(); 
    160         foreach ($post as $key => $val) { 
    161             if (preg_match("/^search_/", $key)) { 
    162                 $searchHiddenParams[$key] = $val; 
    163             } 
     115    function send(){ 
     116        // POST値の取得 
     117        $objFormParam->setParam($_POST); 
     118        // 入力値の変換 
     119        $objFormParam->convParam(); 
     120        $this->arrErr = $objFormParam->checkerror(); 
     121        // メールの送信 
     122        if (count($this->arrErr) == 0) { 
     123            // 注文受付メール 
     124            $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer']); 
    164125        } 
    165         return $searchHiddenParams; 
     126        SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH); 
    166127    } 
    167128 
     129    function confirm(){ 
     130        // POST値の取得 
     131        $objFormParam->setParam($_POST); 
     132        // 入力値の変換 
     133        $objFormParam->convParam(); 
     134        // 入力値の引き継ぎ 
     135        $this->arrHidden = $objFormParam->getHashArray(); 
     136        $this->arrErr = $objFormParam->checkerror(); 
     137        // メールの送信 
     138        if (count($this->arrErr) == 0) { 
     139            // 注文受付メール(送信なし) 
     140            $objSendMail = $objMail->sfSendOrderMail($_POST['order_id'], $_POST['template_id'], $_POST['subject'], $_POST['header'], $_POST['footer'], false); 
     141            // 確認ページの表示 
     142            $this->tpl_subject = $_POST['subject']; 
     143            $this->tpl_body = mb_convert_encoding( $objSendMail->body, CHAR_CODE, "auto" ); 
     144            $this->tpl_to = $objSendMail->tpl_to; 
     145            $this->tpl_mainpage = 'order/mail_confirm.tpl'; 
     146            return; 
     147        } 
     148    } 
    168149 
     150    function changeData($where){ 
     151        $objFormParam->setValue('template_id', $_POST['template_id']); 
     152        if(SC_Utils_Ex::sfIsInt($_POST['template_id'])) { 
     153            $objQuery = new SC_Query(); 
     154            $where = "template_id = ?"; 
     155            $arrRet = $objQuery->select("subject, header, footer", "dtb_mailtemplate", $where, array($_POST['template_id'])); 
     156            $objFormParam->setParam($arrRet[0]); 
     157        } 
     158    } 
     159 
     160 
    169161    /** 
    170162     * デストラクタ. 
    171163     * 
  • data/class/pages/admin/order/LC_Page_Admin_Order_Status.php

     
    7070     * @return void 
    7171     */ 
    7272    function action() { 
    73         $objSess = new SC_Session(); 
    7473        $objDb = new SC_Helper_DB_Ex(); 
    7574 
    7675        // 認証可否の判定 
    77         $objSess = new SC_Session(); 
    78         SC_Utils_Ex::sfIsSuccess($objSess); 
     76        SC_Utils_Ex::sfIsSuccess(new SC_Session()); 
    7977 
    8078        $this->arrForm = $_POST; 
    8179 
     
    136134 
    137135    //ステータス一覧の表示 
    138136    function lfStatusDisp($status,$pageno){ 
    139         $objQuery = new SC_Query(); 
     137        $objQuery =& SC_Query::getSingletonInstance(); 
    140138 
    141139        $select ="*"; 
    142140        $from = "dtb_order"; 
  • data/class/pages/admin/order/LC_Page_Admin_Order_Pdf.php

     
    100100        if (!isset($arrRet)) $arrRet = array(); 
    101101 
    102102        switch($this->getMode()) { 
    103         case "confirm": 
    104             // 入力値の変換 
    105             $this->objFormParam->convParam(); 
    106             $this->arrErr = $this->lfCheckError($arrRet); 
    107             $arrRet = $this->objFormParam->getHashArray(); 
    108             $this->arrForm = $arrRet; 
    109             // エラー入力なし 
    110             if (count($this->arrErr) == 0) { 
    111                 $objFpdf = new SC_Fpdf($arrRet['download'], $arrRet['title']); 
    112                 foreach ($arrRet['order_id'] AS $key => $val) { 
    113                     $arrPdfData = $arrRet; 
    114                     $arrPdfData['order_id'] = $val; 
    115                     $objFpdf->setData($arrPdfData); 
     103            case "confirm": 
     104                // 入力値の変換 
     105                $this->objFormParam->convParam(); 
     106                $this->arrErr = $this->lfCheckError($arrRet); 
     107                $arrRet = $this->objFormParam->getHashArray(); 
     108                $this->arrForm = $arrRet; 
     109                // エラー入力なし 
     110                if (count($this->arrErr) == 0) { 
     111                    $objFpdf = new SC_Fpdf($arrRet['download'], $arrRet['title']); 
     112                    foreach ($arrRet['order_id'] AS $key => $val) { 
     113                        $arrPdfData = $arrRet; 
     114                        $arrPdfData['order_id'] = $val; 
     115                        $objFpdf->setData($arrPdfData); 
     116                    } 
     117                    $objFpdf->createPdf(); 
     118                    exit; 
    116119                } 
    117                 $objFpdf->createPdf(); 
    118                 exit; 
    119             } 
    120             break; 
    121         default: 
    122             // タイトルをセット 
    123             $arrForm['title'] = "お買上げ明細書(納品書)"; 
     120                break; 
     121            default: 
     122                // タイトルをセット 
     123                $arrForm['title'] = "お買上げ明細書(納品書)"; 
    124124 
    125             // 今日の日付をセット 
    126             $arrForm['year']  = date("Y"); 
    127             $arrForm['month'] = date("m"); 
    128             $arrForm['day']   = date("d"); 
     125                // 今日の日付をセット 
     126                $arrForm['year']  = date("Y"); 
     127                $arrForm['month'] = date("m"); 
     128                $arrForm['day']   = date("d"); 
    129129 
    130             // メッセージ 
    131             $arrForm['msg1'] = 'このたびはお買上げいただきありがとうございます。'; 
    132             $arrForm['msg2'] = '下記の内容にて納品させていただきます。'; 
    133             $arrForm['msg3'] = 'ご確認くださいますよう、お願いいたします。'; 
     130                // メッセージ 
     131                $arrForm['msg1'] = 'このたびはお買上げいただきありがとうございます。'; 
     132                $arrForm['msg2'] = '下記の内容にて納品させていただきます。'; 
     133                $arrForm['msg3'] = 'ご確認くださいますよう、お願いいたします。'; 
    134134 
    135             // 注文番号があったら、セットする 
    136             if(SC_Utils_Ex::sfIsInt($_GET['order_id'])) { 
    137                   $arrForm['order_id'][0] = $_GET['order_id']; 
    138             } elseif (is_array($_POST['pdf_order_id'])) { 
    139                 sort($_POST['pdf_order_id']); 
    140                 foreach ($_POST['pdf_order_id'] AS $key=>$val) { 
    141                       $arrForm['order_id'][] = $val; 
     135                // 注文番号があったら、セットする 
     136                if(SC_Utils_Ex::sfIsInt($_GET['order_id'])) { 
     137                    $arrForm['order_id'][0] = $_GET['order_id']; 
     138                } elseif (is_array($_POST['pdf_order_id'])) { 
     139                    sort($_POST['pdf_order_id']); 
     140                    foreach ($_POST['pdf_order_id'] AS $key=>$val) { 
     141                        $arrForm['order_id'][] = $val; 
     142                    } 
    142143                } 
    143             } 
    144144 
    145             $this->arrForm = $arrForm; 
    146             break; 
     145                $this->arrForm = $arrForm; 
     146                break; 
    147147        } 
    148148        $this->setTemplate($this->tpl_mainpage); 
    149149    } 
     
    191191 
    192192} 
    193193 
    194 ?>