Changeset 15662


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

クラス化に伴う修正

Location:
branches/feature-module-update
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/pages/inquiry/LC_Page_Inquiry.php

    r15532 r15662  
    1414 * @package Page 
    1515 * @author LOCKON CO.,LTD. 
    16  * @version $Id$ 
     16 * @version $Id:LC_Page_Inquiry.php 15532 2007-08-31 14:39:46Z nanasess $ 
    1717 */ 
    1818class LC_Page_Inquiry extends LC_Page { 
     
    4646        // 都道府県プルダウン用配列 
    4747        $masterData = new SC_DB_MasterData_Ex(); 
    48         $this->arrPrfef = $masterData->getMasterData("mtb_pref", 
     48        $this->arrPref = $masterData->getMasterData("mtb_pref", 
    4949                                  array("pref_id", "pref_name", "rank")); 
    5050 
     
    6969 
    7070 
     71        if (!isset($_POST['mode'])) $_POST['mode'] = ""; 
    7172 
    7273        if ( ( ! $_POST['mode'] == 'confirm' ) && ( ! is_numeric($_REQUEST['question_id']) ) ){ 
     
    8586        unset($this->arrHidden['mode']); 
    8687 
    87         if ( (int)$this->QUESTION["delete"] !== 0 ){ 
     88        if (isset($this->QUESTION["delete"]) 
     89            && (int)$this->QUESTION["delete"] !== 0 ){ 
    8890 
    8991            $objPage->tpl_mainpage = "inquiry/closed.tpl"; 
     
    111113            $this->arrForm = $this->lfConvertParam($this->arrForm, $arrRegistColumn); 
    112114            $this->arrErr = $this->lfErrorCheck($this->arrForm); 
    113             $this->arrErr = $this->GGlfGetArrInput($this->arrErr); 
     115            $this->arrErr = $this->lfGetArrInput($this->arrErr); 
    114116 
    115117 
     
    153155 
    154156        $this->cnt_question = 6; 
    155         $this->arrActive = $arrActive; 
    156         $this->arrQuestion = $arrQuestion; 
     157        $this->arrActive = isset($arrActive) ? $arrActive : ""; 
     158        $this->arrQuestion = isset($arrQuestion) ? $arrQuestion : ""; 
    157159 
    158160 
    159161        //---- ページ表示 
    160         $objView->_smarty->register_function("lfArray_Search_key_Smarty","lfArray_Search_key_Smarty"); 
     162        $objView->_smarty->register_modifier("lfArray_Search_key_Smarty","lfArray_Search_key_Smarty"); 
    161163        $objView->assignobj($this); 
    162164        $objView->display($this->tpl_mainpage); 
     
    202204        $objErr->doFunc(array('メールアドレス', 'メールアドレス(確認)', "email", "email02") ,array("EQUAL_CHECK")); 
    203205 
    204         $objErr->arrErr["option"] =  array_map( "lfCheckNull", (array)$_POST['option'] ); 
     206        $objErr->arrErr["option"] =  array_map(array($this, "lfCheckNull"), (array)$_POST['option'] ); 
    205207 
    206208        return $objErr->arrErr; 
     
    250252    function lfGetArrInput( $arr ){ 
    251253        // 値が入力された配列のみを返す 
     254        $return = array(); 
    252255 
    253256        if ( is_array($arr) ){ 
     
    256259                    $return[$key] = $val; 
    257260                } elseif ( is_array( $val ) ) { 
    258                     $data = lfGetArrInput ( $val ); 
     261                    $data = $this->lfGetArrInput ( $val ); 
    259262                    if ( $data ){ 
    260263                        $return[$key] = $data; 
     
    290293     */ 
    291294    function lfCheckNull ( $val ){ 
     295        $return = array(); 
    292296 
    293297        if ( ( ! is_array( $val ) ) && ( strlen( $val ) < 1 ) ){ 
     
    295299        } elseif ( is_array( $val ) ) { 
    296300            foreach ($val as $line) { 
    297                 $return = lfCheckNull( $line ); 
     301                $return = $this->lfCheckNull( $line ); 
    298302            } 
    299303        } 
  • branches/feature-module-update/data/class/util/SC_Utils.php

    r15634 r15662  
    12771277                } 
    12781278                if(is_array($val)) { 
    1279                     $arrDst = sfMakeHiddenArray($val, $arrDst, $keyname); 
     1279                    $arrDst = SC_Utils::sfMakeHiddenArray($val, $arrDst, $keyname); 
    12801280                } else { 
    12811281                    $arrDst[$keyname] = $val; 
  • branches/feature-module-update/html/admin/contents/inquiry.php

    r15532 r15662  
    55 * http://www.lockon.co.jp/ 
    66 */ 
    7 require_once("../require.php"); 
    87 
    9 require_once("../order/index_csv.php"); 
     8// {{{ requires 
     9require_once("../../require.php"); 
     10require_once(CLASS_PATH . "page_extends/admin/contents/LC_Page_Admin_Contents_Inquiry_Ex.php"); 
    1011 
    11 $arrCVSCOL = array(  
    12          
    13                 ); 
    14                          
    15 $arrCVSTITLE = array( 
    16                 '回答ID', 
    17                 '質問ID', 
    18                 '回答日時', 
    19                 '回答名', 
    20                 '顧客名1', 
    21                 '顧客名2', 
    22                 '顧客名カナ1', 
    23                 '顧客名カナ2', 
    24                 '郵便番号1', 
    25                 '郵便番号2', 
    26                 '都道府県', 
    27                 '住所1', 
    28                 '住所2', 
    29                 '電話番号1', 
    30                 '電話番号2', 
    31                 '電話番号3', 
    32                 'メールアドレス', 
    33                 '回答1', 
    34                 '回答2', 
    35                 '回答3', 
    36                 '回答4', 
    37                 '回答5', 
    38                 '回答6'                
    39             ); 
     12// }}} 
     13// {{{ generate page 
    4014 
    41  
    42 class LC_Page { 
    43     var $cnt_question; 
    44  
    45     var $ERROR; 
    46     var $ERROR_COLOR; 
    47     var $MESSAGE; 
    48      
    49     var $QUESTION_ID; 
    50      
    51     var $arrActive; 
    52     var $arrQuestion; 
    53     var $arrSession; 
    54      
    55     function LC_Page() { 
    56         $this->tpl_mainpage = 'contents/inquiry.tpl'; 
    57         $this->tpl_mainno = 'contents'; 
    58         $this->tpl_subnavi = 'contents/subnavi.tpl'; 
    59         $this->tpl_subno = "inquiry"; 
    60         $this->tpl_subtitle = 'アンケート管理'; 
    61     } 
    62 } 
    63  
    64 $conn = new SC_DBConn(); 
    65 $objPage = new LC_Page(); 
    66 $objView = new SC_AdminView(); 
    67 $objSess = new SC_Session(); 
    68  
    69 // 認証可否の判定 
    70 sfIsSuccess($objSess); 
    71  
    72 $arrActive = array( "0"=>"稼働", "1"=>"非稼働" ); 
    73 $arrQuestion = array( "0"=>"使用しない", "1"=>"テキストエリア", "2"=>"テキストボックス" 
    74                     , "3"=>"チェックボックス", "4"=>"ラジオボタン"  
    75                 ); 
    76                  
    77 $sql = "SELECT *, cast(substring(create_date, 1, 10) as date) as disp_date FROM dtb_question WHERE del_flg = 0 ORDER BY question_id"; 
    78 $result = $conn->getAll($sql); 
    79 $objPage->list_data = $result; 
    80  
    81  
    82 if ( $_GET['mode'] == 'regist' ){ 
    83  
    84     for ( $i=0; $i<count($_POST["question"]); $i++ ) { 
    85         $_POST['question'][$i]['name'] = mb_convert_kana( trim ( $_POST['question'][$i]['name'] ), "K" ); 
    86         for ( $j=0; $j<count( $_POST['question'][$i]['option'] ); $j++ ){ 
    87             $_POST['question'][$i]['option'][$j] = mb_convert_kana( trim ( $_POST['question'][$i]['option'][$j] ) ); 
    88         } 
    89     } 
    90      
    91     $error = lfErrCheck(); 
    92  
    93     if ( ! $error  ){ 
    94          
    95         if ( ! is_numeric($_POST['question_id']) ){ 
    96             $objQuery = new SC_Query(); 
    97              
    98             //登録 
    99             $value = serialize($_POST); 
    100             if (DB_TYPE == "pgsql") { 
    101                 $question_id = $objQuery->nextval('dtb_question', 'question_id'); 
    102             } 
    103              
    104             $sql_val = array( $value, $_POST['title'] ,$question_id ); 
    105             $conn->query("INSERT INTO dtb_question ( question, question_name, question_id, create_date) VALUES (?, ?, ?, now())", $sql_val ); 
    106             $objPage->MESSAGE = "登録が完了しました"; 
    107  
    108             if (DB_TYPE == "mysql") { 
    109                 $question_id = $objQuery->nextval('dtb_question', 'question_id'); 
    110             } 
    111              
    112             $objPage->QUESTION_ID = $question_id; 
    113             sfReload(); 
    114         } else { 
    115             //編集 
    116             $value = serialize($_POST); 
    117             $sql_val = array( $value, $_POST['title'] ,$_POST['question_id'] ); 
    118             $conn->query("UPDATE dtb_question SET question = ?, question_name = ? WHERE question_id = ?", $sql_val ); 
    119             $objPage->MESSAGE = "編集が完了しました"; 
    120             $objPage->QUESTION_ID = $_POST['question_id']; 
    121             sfReload(); 
    122         } 
    123     } else { 
    124          
    125         //エラー表示 
    126         $objPage->ERROR = $error; 
    127         $objPage->QUESTION_ID = $_REQUEST['question_id']; 
    128         $objPage->ERROR_COLOR = lfGetErrColor($error, ERR_COLOR); 
    129  
    130     } 
    131 } elseif ( ( $_GET['mode'] == 'delete' ) && ( sfCheckNumLength($_GET['question_id']) )  ){ 
    132  
    133     $sql = "UPDATE dtb_question SET del_flg = 1 WHERE question_id = ?"; 
    134     $conn->query( $sql, array( $_GET['question_id'] ) ); 
    135     sfReload(); 
    136      
    137 } elseif ( ( $_GET['mode'] == 'csv' ) && ( sfCheckNumLength($_GET['question_id']) ) ){  
    138  
    139             $head = sfGetCSVList($arrCVSTITLE); 
    140             $list_data = $conn->getAll("SELECT result_id,question_id,question_date,question_name,name01,name02,kana01,kana02,zip01,zip02,pref,addr01,addr02,tel01,tel02,tel03,mail01,question01,question02,question03,question04,question05,question06 FROM dtb_question_result WHERE del_flg = 0 AND question_id = ? ORDER BY result_id ASC",array($_GET['question_id'])); 
    141             $data = ""; 
    142             for($i = 0; $i < count($list_data); $i++) { 
    143                 // 各項目をCSV出力用に変換する。 
    144                 $data .= lfMakeCSV($list_data[$i]); 
    145             } 
    146             // CSVを送信する 
    147             sfCSVDownload($head.$data); 
    148             exit; 
    149  
    150 } else { 
    151      
    152     if ( is_numeric($_GET['question_id']) ){ 
    153      
    154         $sql = "SELECT question FROM dtb_question WHERE question_id = ?"; 
    155         $result = $conn->getOne($sql, array($_GET['question_id'])); 
    156          
    157         if ( $result ){ 
    158             $_POST = unserialize( $result ); 
    159             $objPage->QUESTION_ID = $_GET['question_id']; 
    160         } 
    161     } 
    162 }  
    163  
    164  
    165  
    166  
    167 //各ページ共通 
    168 $objPage->cnt_question = 6; 
    169 $objPage->arrActive = $arrActive; 
    170 $objPage->arrQuestion = $arrQuestion; 
    171  
    172  
    173 //---- ページ表示 
    174 $objView->assignobj($objPage); 
    175 $objView->display(MAIN_FRAME); 
    176  
    177  
    178 // ------------  エラーチェック処理部 ------------   
    179  
    180 function lfGetErrColor( $arr, $err_color ){ 
    181      
    182     foreach ( $arr as $key=>$val ) { 
    183         if ( is_string($val) && strlen($val) > 0 ){ 
    184             $return[$key] = $err_color; 
    185         } elseif ( is_array( $val ) ) { 
    186             $return[$key] = lfGetErrColor ( $val, $err_color); 
    187         } 
    188     } 
    189     return $return; 
    190 } 
    191  
    192  
    193 // ------------  エラーチェック処理部 ------------   
    194  
    195 function lfErrCheck (){ 
    196  
    197     $objErr = new SC_CheckError(); 
    198     $errMsg = ""; 
    199  
    200     $objErr->doFunc( array( "稼働・非稼働", "active" ), array( "SELECT_CHECK" ) ); 
    201      
    202     $_POST["title"] = mb_convert_kana( trim (  $_POST["title"] ), "K" ); 
    203     $objErr->doFunc( array( "アンケート名", "title" ), array( "EXIST_CHECK" ) ); 
    204  
    205     $_POST["contents"] = mb_convert_kana( trim (  $_POST["contents"] ), "K" ); 
    206     $objErr->doFunc( array( "アンケート内容" ,"contents", "3000" ), array( "EXIST_CHECK", "MAX_LENGTH_CHECK" ) ); 
    207  
    208      
    209     if ( ! $_POST['question'][0]["name"] ){ 
    210         $objErr->arrErr['question'][0]["name"] = "1つめの質問名が入力されていません"; 
    211     } 
    212      
    213     // チェックボックス、ラジオボタンを選択した場合は最低1つ以上項目を記入させる。 
    214     for( $i = 0; $i < count( $_POST["question"] ); $i++ ) { 
    215          
    216         if ( $_POST["question"][$i]["kind"] ) { 
    217             if (strlen($_POST["question"][$i]["name"]) == 0) { 
    218                 $objErr->arrErr["question"][$i]["name"] = "タイトルを入力して下さい。"; 
    219             } else if ( strlen($_POST["question"][$i]["name"]) > STEXT_LEN ) { 
    220                 $objErr->arrErr["question"][$i]["name"] = "タイトルは". STEXT_LEN  ."字以内で入力して下さい。"; 
    221             } 
    222         } 
    223          
    224         if( $_POST["question"][$i]["kind"] == 3 || $_POST["question"][$i]["kind"] == 4  ) { 
    225  
    226             $temp_data = array(); 
    227             for( $j = 0; $j < count( $_POST["question"][$i]["option"] ); $j++ ) {    
    228  
    229                 // 項目間(テキストボックス)があいていたら詰めていく 
    230                 if( strlen( $_POST["question"][$i]["option"][$j] ) > 0 ) $temp_data[] = mb_convert_kana( trim ( $_POST["question"][$i]["option"][$j]  ), "asKVn" ); 
    231  
    232             } 
    233  
    234              $_POST["question"][$i]["option"] = $temp_data; 
    235  
    236             if( ( strlen( $_POST["question"][$i] ["option"][0] ) == 0 ) || ( strlen( $_POST["question"][$i] ["option"][0] ) > 0 
    237              && strlen( $_POST["question"][$i] ["option"][1] ) == 0 ) ) $objErr->arrErr["question"][$i]['kind'] = "下記の2つ以上の項目に記入してください。"; 
    238         } 
    239     } 
    240  
    241     return lfGetArrInput( $objErr->arrErr ); 
    242  
    243 } 
    244  
    245  
    246 function lfGetArrInput( $arr ){ 
    247     // 値が入力された配列のみを返す 
    248      
    249     if ( is_array($arr) ){ 
    250         foreach ( $arr as $key=>$val ) { 
    251             if ( is_string($val) && strlen($val) > 0 ){ 
    252                 $return[$key] = $val; 
    253             } elseif ( is_array( $val ) ) { 
    254                 $data = lfGetArrInput ( $val ); 
    255                 if ( $data ){ 
    256                     $return[$key] = $data; 
    257                 } 
    258             } 
    259         } 
    260     } 
    261     return $return; 
    262 } 
     15$objPage = new LC_Page_Admin_Contents_Inquiry_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    26319?> 
Note: See TracChangeset for help on using the changeset viewer.