Ignore:
Timestamp:
2008/08/28 14:19:19 (16 years ago)
Author:
Seasoft
Message:

・marge 17340(一部)
・プレビューの内容が本番に影響する不具合を修正。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/helper/SC_Helper_PageLayout.php

    r17488 r17574  
    5555            $url2 = preg_replace('|^' . preg_quote(SITE_URL) . '|', '', $url); 
    5656            // URLを元にページデザインを取得 
    57             $arrPageData = $this->lfgetPageData(" url IN (?, ?) " , array($url2, $url)); // $url は従来互換 
    58         }else{ 
    59             $arrPageData = $this->lfgetPageData(" page_id = ? " , array("0")); 
     57            $arrPageData = $this->lfgetPageData("url IN (?, ?) AND page_id <> 0" , array($url2, $url)); // $url は従来互換 
     58        } else { 
     59            $arrPageData = $this->lfgetPageData("page_id = 0"); 
    6060            $objPage->tpl_mainpage = USER_PATH . "templates/preview/" 
    6161                . TEMPLATE_NAME . "/" . $arrPageData[0]['filename'] . ".tpl"; 
     
    121121     * @return array ページ情報を格納した配列 
    122122     */ 
    123     function lfgetPageData($where = '', $arrVal = ''){ 
    124         $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
    125         $sql = "";                      // データ取得SQL生成用 
     123    function lfgetPageData($where, $where_vals=array()) { 
     124        $objQuery = new SC_Query;       // DB操作オブジェクト 
    126125        $arrRet = array();              // データ取得用 
    127126 
    128         // SQL生成 
    129         $sql .= " SELECT"; 
    130         $sql .= " page_id";             // ページID 
    131         $sql .= " ,page_name";          // 名称 
    132         $sql .= " ,url";                // URL 
    133         $sql .= " ,php_dir";            // php保存先ディレクトリ 
    134         $sql .= " ,tpl_dir";            // tpl保存先ディレクトリ 
    135         $sql .= " ,filename";           // ファイル名称 
    136         $sql .= " ,header_chk ";        // ヘッダー使用FLG 
    137         $sql .= " ,footer_chk ";        // フッター使用FLG 
    138         $sql .= " ,edit_flg ";          // 編集可能FLG 
    139         $sql .= " ,author";             // authorタグ 
    140         $sql .= " ,description";        // descriptionタグ 
    141         $sql .= " ,keyword";            // keywordタグ 
    142         $sql .= " ,update_url";         // 更新URL 
    143         $sql .= " ,create_date";        // データ作成日 
    144         $sql .= " ,update_date";        // データ更新日 
    145         $sql .= " FROM "; 
    146         $sql .= "     dtb_pagelayout"; 
    147         $sql .= " WHERE "; 
    148  
    149         // where句の指定があれば追加 
    150         if ($where != '') { 
    151             $sql .= " " . $where . " "; 
    152         }else{ 
    153             $sql .= " page_id <> 0 "; 
    154         } 
    155  
    156         $sql .= " ORDER BY page_id"; 
    157  
    158         $arrRet = $objDBConn->getAll($sql, $arrVal); 
    159  
     127        // 取得するカラム 
     128        $col  = " page_id";             // ページID 
     129        $col .= " ,page_name";          // 名称 
     130        $col .= " ,url";                // URL 
     131        $col .= " ,php_dir";            // php保存先ディレクトリ 
     132        $col .= " ,tpl_dir";            // tpl保存先ディレクトリ 
     133        $col .= " ,filename";           // ファイル名称 
     134        $col .= " ,header_chk ";        // ヘッダー使用FLG 
     135        $col .= " ,footer_chk ";        // フッター使用FLG 
     136        $col .= " ,edit_flg ";          // 編集可能FLG 
     137        $col .= " ,author";             // authorタグ 
     138        $col .= " ,description";        // descriptionタグ 
     139        $col .= " ,keyword";            // keywordタグ 
     140        $col .= " ,update_url";         // 更新URL 
     141        $col .= " ,create_date";        // データ作成日 
     142        $col .= " ,update_date";        // データ更新日 
     143         
     144        // 取得するテーブル 
     145        $table = "dtb_pagelayout"; 
     146 
     147         
     148        // 並び変え 
     149        $objQuery->setOrder('page_id'); 
     150         
     151        // SQL実行 
     152        $arrRet = $objQuery->select($col, $table, $where, $where_vals); 
     153         
     154        // 結果を返す 
    160155        return $arrRet; 
    161156    } 
     
    168163     */ 
    169164    function lfGetNaviData($page_id){ 
    170         $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
    171         $sql = "";                      // データ取得SQL生成用 
    172         $arrRet = array();              // データ取得用 
    173  
    174         $arrData = array($page_id); 
    175  
    176         // SQL文生成 
    177         $sql = ""; 
    178         $sql .= " SELECT "; 
    179         $sql .= "     target_id "; 
    180         $sql .= "     ,(SELECT bloc_name FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS bloc_name"; 
    181         $sql .= "     ,(SELECT tpl_path FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS tpl_path"; 
    182         $sql .= "     ,(SELECT php_path FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS php_path"; 
    183         $sql .= " FROM"; 
    184         $sql .= "     dtb_blocposition AS pos"; 
    185         $sql .= " WHERE"; 
    186         $sql .= "     page_id = ?"; 
    187         $sql .= " ORDER BY target_id,bloc_row"; 
    188         $sql .= " "; 
    189  
     165        $objQuery = new SC_Query;       // DB操作オブジェクト 
     166 
     167        // 取得するカラム 
     168        $col = "target_id, bloc_name, tpl_path, php_path"; 
     169         
     170        // 取得するテーブル 
     171        $table = "dtb_blocposition AS pos INNER JOIN dtb_bloc AS bloc ON bloc.bloc_id = pos.bloc_id"; 
     172         
     173        // where文生成 
     174        $where = "page_id = ?"; 
     175        $where_vals[] = $page_id; 
     176 
     177        // 並び変え 
     178        $objQuery->setOrder('target_id, bloc_row'); 
     179         
    190180        // SQL実行 
    191         $arrRet = $objDBConn->getAll($sql, $arrData); 
    192  
     181        $arrRet = $objQuery->select($col, $table, $where, $where_vals); 
     182                                             
    193183        // 結果を返す 
    194184        return $arrRet; 
     
    255245     */ 
    256246    function lfDelPageData($page_id){ 
    257         // DBへデータを更新する 
    258         $objDBConn = new SC_DbConn; // DB操作オブジェクト 
    259         $sql = "";                  // データ更新SQL生成用 
    260         $ret = "";                  // データ更新結果格納用 
    261         $arrDelData = array();      // 更新データ生成用 
     247        $objQuery = new SC_Query;       // DB操作オブジェクト 
     248        $ret = "";                  // 結果格納用 
     249        $arrDelData = array();      // 抽出データ用 
    262250 
    263251        // page_id が空でない場合にはdeleteを実行 
     
    265253 
    266254            $arrPageData = $this->lfgetPageData(" page_id = ? " , array($page_id)); 
    267             // SQL生成 
    268             $sql = " DELETE FROM dtb_pagelayout WHERE page_id = ?"; 
    269  
    270255            // SQL実行 
    271             $ret = $objDBConn->query($sql,array($page_id)); 
     256            $ret = $objQuery->delete("dtb_pagelayout", "page_id = ?", array($page_id)); 
    272257 
    273258            // ファイルの削除 
Note: See TracChangeset for help on using the changeset viewer.