Changeset 18803


Ignore:
Timestamp:
2010/09/12 03:28:25 (10 years ago)
Author:
Seasoft
Message:

#780(ID の出力に MDB2::nextID を使用する)

  • r18788 での実装誤りを改修

#635(処理の単純化)

  • SC_Query#query の使用箇所を SC_Query#update 及び SC_Query#insert に変更。
  • LC_Page_Admin_Design_MainEdit#lfEntryPageData の戻り値を廃止。(元々受け取りなし)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php

    r18788 r18803  
    275275     * 
    276276     * @param array $arrData 更新データ 
    277      * @return integer 更新結果 
     277     * @return void 
    278278     */ 
    279279    function lfEntryPageData($arrData){ 
    280         $objQuery = new SC_Query();     // DB操作オブジェクト 
    281         $sql = "";                      // データ更新SQL生成用 
    282         $ret = "";                      // データ更新結果格納用 
    283         $arrUpdData = array();          // 更新データ生成用 
    284         $arrChk = array();              // 排他チェック用 
     280        $objQuery = new SC_Query(); 
     281        $arrChk = array();          // 排他チェック用 
    285282 
    286283        // 更新データの変換 
    287         $arrUpdData = $this->lfGetUpdData($arrData); 
     284        $sqlval = $this->lfGetUpdData($arrData); 
    288285 
    289286        // データが存在しているかチェックを行う 
     
    291288            $arrChk = $this->objLayout->lfgetPageData("page_id = ?", array($arrData['page_id'])); 
    292289        } 
    293          
     290 
    294291        // page_id が空 若しくは データが存在していない場合にはINSERTを行う 
    295292        if ($arrData['page_id'] === '' or !isset($arrChk[0])) { 
    296             // SQL生成 
    297             $arrData['page_id'] = $objQuery->nextVal('dtb_pagelayout_page_id'); 
    298             $sql = " INSERT INTO dtb_pagelayout "; 
    299             $sql .= " ( "; 
    300             $sql .= "     page_id"; 
    301             $sql .= "     ,page_name"; 
    302             $sql .= "     ,url"; 
    303             $sql .= "     ,php_dir"; 
    304             $sql .= "     ,tpl_dir"; 
    305             $sql .= "     ,filename"; 
    306             $sql .= "     ,header_chk"; 
    307             $sql .= "     ,footer_chk"; 
    308             $sql .= "     ,update_url"; 
    309             $sql .= "     ,create_date"; 
    310             $sql .= "     ,update_date"; 
    311             $sql .= " ) VALUES ( ?,?,?,?,?,?,?,?,now(),now() )"; 
    312             $sql .= " "; 
    313         } else { 
    314             // データが存在してる場合にはアップデートを行う 
    315             // SQL生成 
    316             $sql = " UPDATE dtb_pagelayout "; 
    317             $sql .= " SET"; 
    318             $sql .= "     page_name = ? "; 
    319             $sql .= "     ,url = ? "; 
    320             $sql .= "     ,php_dir = ? "; 
    321             $sql .= "     ,tpl_dir = ? "; 
    322             $sql .= "     ,filename = ? "; 
    323             $sql .= "     ,header_chk = ? "; 
    324             $sql .= "     ,footer_chk = ? "; 
    325             $sql .= "     ,update_url = ? "; 
    326             $sql .= "     ,update_date = now() "; 
    327             $sql .= " WHERE page_id = ?"; 
    328             $sql .= " "; 
    329  
    330             // 更新データにブロックIDを追加 
    331             array_push($arrUpdData, $arrData['page_id']); 
    332         } 
    333  
    334         // SQL実行 
    335         $ret = $objQuery->query($sql,$arrUpdData); 
    336  
    337         return $ret; 
     293            $sqlval['page_id'] = $objQuery->nextVal('dtb_pagelayout_page_id'); 
     294            $sqlval['create_date'] = 'now()'; 
     295            $objQuery->insert('dtb_pagelayout', $sqlval); 
     296        } 
     297        // データが存在してる場合にはアップデートを行う 
     298        else { 
     299            $objQuery->update('dtb_pagelayout', $sqlval, 'page_id = ?', array($arrData['page_id'])); 
     300        } 
    338301    } 
    339302 
     
    345308     */ 
    346309    function lfGetUpdData($arrData){ 
     310        $arrUpdData = array( 
     311            'header_chk'    => SC_Utils_Ex::sfChangeCheckBox($arrData['header_chk']),   // ヘッダー使用 
     312            'footer_chk'    => SC_Utils_Ex::sfChangeCheckBox($arrData['footer_chk']),   // フッター使用 
     313            'update_url'    => $_SERVER['HTTP_REFERER'],                                // 更新URL 
     314            'update_date'   => 'now()', 
     315        ); 
     316 
    347317        // ベースデータの場合には変更しない。 
    348         if ($this->objLayout->lfCheckBaseData($arrData['page_id'])) { 
    349             $arrPageData = $this->objLayout->lfgetPageData( ' page_id = ? ' , array($arrData['page_id'])); 
    350              
    351             $name = $arrPageData[0]['page_name'] ; 
    352             $url = $arrPageData[0]['url']; 
    353             $php_dir = $arrPageData[0]['php_dir']; 
    354             $filename = $arrPageData[0]['filename']; 
    355         } else { 
    356             $name = $arrData['page_name'] ; 
    357             $url = USER_DIR . $arrData['url'] . '.php'; 
    358             $php_dir = dirname($url); 
    359             if ($php_dir == '.') { 
    360                 $php_dir = ''; 
     318        if (!$this->objLayout->lfCheckBaseData($arrData['page_id'])) { 
     319            $arrUpdData['page_name']    = $arrData['page_name'] ; 
     320            $arrUpdData['url']          = USER_DIR . $arrData['url'] . '.php'; 
     321            $arrUpdData['php_dir']      = dirname($arrUpdData['url']); 
     322            if ($arrUpdData['php_dir'] == '.') { 
     323                $arrUpdData['php_dir'] = ''; 
    361324            } else { 
    362                 $php_dir .= '/'; 
    363             } 
    364             $tpl_dir = substr(TPL_DIR, strlen(URL_DIR)); 
    365             $filename = basename($arrData['url']); // 拡張子を付加しない 
    366         } 
    367          
    368         // 更新データ配列の作成 
    369         $arrUpdData = array( 
    370             $name                                                   // 名称 
    371             ,$url                                                   // URL 
    372             ,$php_dir                                               // PHPディレクトリ 
    373             ,$tpl_dir                                               // TPLディレクトリ 
    374             ,$filename                                              // ファイル名 
    375             ,SC_Utils_Ex::sfChangeCheckBox($arrData['header_chk'])  // ヘッダー使用 
    376             ,SC_Utils_Ex::sfChangeCheckBox($arrData['footer_chk'])  // フッター使用 
    377             ,$_SERVER['HTTP_REFERER']                               // 更新URL 
    378         ); 
     325                $arrUpdData['php_dir'] .= '/'; 
     326            } 
     327            $arrUpdData['tpl_dir']      = substr(TPL_DIR, strlen(URL_DIR)); 
     328            $arrUpdData['filename']     = basename($arrData['url']); // 拡張子を付加しない 
     329        } 
    379330 
    380331        return $arrUpdData; 
Note: See TracChangeset for help on using the changeset viewer.