- Timestamp:
- 2008/05/31 20:20:34 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2/data/class/helper/SC_Helper_PageLayout.php
r17104 r17340 60 60 . TEMPLATE_NAME . "/" . $arrPageData[0]['filename'] . ".tpl"; 61 61 } 62 63 foreach($arrPageData[0] as $key => $val) { 62 63 reset($arrPageData[0]); 64 while( list($key,$val) = each($arrPageData[0]) ){ 64 65 $debug_message.= "arrPageData[$key]:" . $val . "\n"; 65 66 } … … 120 121 * @return array ページ情報を格納した配列 121 122 */ 122 function lfgetPageData($where = '', $arrVal = ''){ 123 $objDBConn = new SC_DbConn; // DB操作オブジェクト 124 $sql = ""; // データ取得SQL生成用 123 function lfgetPageData($addwhere = '', $sqlval = ''){ 124 $objQuery = new SC_Query; // DB操作オブジェクト 125 125 $arrRet = array(); // データ取得用 126 126 127 // SQL 生成128 $sql .= " SELECT";129 $ sql .= " page_id"; // ページID130 $ sql .= " ,page_name"; // 名称131 $ sql .= " ,url"; // URL132 $ sql .= " ,php_dir"; // php保存先ディレクトリ133 $ sql .= " ,tpl_dir"; // tpl保存先ディレクトリ134 $ sql .= " ,filename"; // ファイル名称135 $ sql .= " ,header_chk "; // ヘッダー使用FLG136 $ sql .= " ,footer_chk "; // フッター使用FLG137 $ sql .= " ,edit_flg "; // 編集可能FLG138 $ sql .= " ,author"; // authorタグ139 $ sql .= " ,description"; // descriptionタグ140 $ sql .= " ,keyword"; // keywordタグ141 $ sql .= " ,update_url"; // 更新URL142 $ sql .= " ,create_date"; // データ作成日143 $ sql .= " ,update_date"; // データ更新日144 $sql .= " FROM ";145 $sql .= " dtb_pagelayout";146 $ sql .= " WHERE";147 127 // SQL文生成 128 // 取得するカラム 129 $col = " page_id"; // ページID 130 $col .= " ,page_name"; // 名称 131 $col .= " ,url"; // URL 132 $col .= " ,php_dir"; // php保存先ディレクトリ 133 $col .= " ,tpl_dir"; // tpl保存先ディレクトリ 134 $col .= " ,filename"; // ファイル名称 135 $col .= " ,header_chk "; // ヘッダー使用FLG 136 $col .= " ,footer_chk "; // フッター使用FLG 137 $col .= " ,edit_flg "; // 編集可能FLG 138 $col .= " ,author"; // authorタグ 139 $col .= " ,description"; // descriptionタグ 140 $col .= " ,keyword"; // keywordタグ 141 $col .= " ,update_url"; // 更新URL 142 $col .= " ,create_date"; // データ作成日 143 $col .= " ,update_date"; // データ更新日 144 145 // 取得するテーブル 146 $table = "dtb_pagelayout"; 147 148 148 // where句の指定があれば追加 149 if ($where != '') { 150 $sql .= " " . $where . " "; 151 }else{ 152 $sql .= " page_id <> 0 "; 153 } 154 155 $sql .= " ORDER BY page_id"; 156 157 $arrRet = $objDBConn->getAll($sql, $arrVal); 158 149 $where = ($addwhere != '') ? $addwhere : "page_id <> 0"; 150 151 // 並び変え 152 $objQuery->setOrder('page_id'); 153 154 // SQL実行 155 $arrRet = $objQuery->select($col, $table, $where, $sqlval); 156 157 // 結果を返す 159 158 return $arrRet; 160 159 } … … 168 167 */ 169 168 function lfGetNaviData($url, $preview=false){ 170 $obj DBConn = new SC_DbConn; // DB操作オブジェクト169 $objQuery = new SC_Query; // DB操作オブジェクト 171 170 $sql = ""; // データ取得SQL生成用 172 171 $arrRet = array(); // データ取得用 … … 174 173 175 174 // SQL文生成 176 $sql = ""; 177 $sql .= " SELECT "; 178 $sql .= " target_id "; 179 $sql .= " ,(SELECT bloc_name FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS bloc_name"; 180 $sql .= " ,(SELECT tpl_path FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS tpl_path"; 181 $sql .= " ,(SELECT php_path FROM dtb_bloc AS bloc WHERE bloc.bloc_id = pos.bloc_id) AS php_path"; 182 $sql .= " FROM"; 183 $sql .= " dtb_blocposition AS pos"; 184 $sql .= " WHERE"; 175 // 取得するカラム 176 $col = "target_id, bloc_name, tpl_path, php_path"; 177 178 // 取得するテーブル 179 $table = "dtb_blocposition AS pos, dtb_bloc AS bloc"; 180 181 // where文生成 182 $where = "bloc.bloc_id = pos.bloc_id"; 185 183 if ($preview == true) { 186 $ sql .= " page_id = (SELECT page_id FROM dtb_pagelayout WHERE page_id = '0')";184 $where .= " AND EXISTS (SELECT page_id FROM dtb_pagelayout AS lay WHERE page_id = '0' AND pos.page_id = lay.page_id)"; 187 185 }else{ 188 $ sql .= " page_id = (SELECT page_id FROM dtb_pagelayout WHERE page_id <> '0' AND url = ?)";189 $ arrData= array($url);190 } 191 $sql .= " ORDER BY target_id,bloc_row";192 $ sql .= " ";193 186 $where .= " AND EXISTS (SELECT page_id FROM dtb_pagelayout AS lay WHERE url = ? AND page_id <> '0' AND pos.page_id = lay.page_id)"; 187 $sqlval = array($url); 188 } 189 // 並び変え 190 $objQuery->setOrder('target_id, bloc_row'); 191 194 192 // SQL実行 195 $arrRet = $obj DBConn->getAll($sql, $arrData);196 193 $arrRet = $objQuery->select($col, $table, $where, $sqlval); 194 197 195 // 結果を返す 198 196 return $arrRet; … … 208 206 function lfGetNavi($arrNavi, $target_id) { 209 207 $arrRet = array(); 210 if(is_array($arrNavi)) { 211 foreach($arrNavi as $key => $val){ 212 // 指定された箇所と同じデータだけを取得する 208 if(is_array($arrNavi) === true) { 209 reset($arrNavi); 210 while( list($key,$val)= each($arrNavi) ){ 211 // 指定された箇所と同じデータだけを取得する 213 212 if ($target_id == $val['target_id']){ 214 213 if ($val['php_path'] != '') { … … 259 258 */ 260 259 function lfDelPageData($page_id){ 261 262 $obj DBConn = new SC_DbConn; // DB操作オブジェクト260 // DBへデータを更新する 261 $objQuery = new SC_Query; // DB操作オブジェクト 263 262 $sql = ""; // データ更新SQL生成用 264 263 $ret = ""; // データ更新結果格納用 … … 269 268 270 269 $arrPageData = $this->lfgetPageData(" page_id = ? " , array($page_id)); 271 // SQL生成272 $sql = " DELETE FROM dtb_pagelayout WHERE page_id = ?";273 274 270 // SQL実行 275 $ret = $obj DBConn->query($sql,array($page_id));271 $ret = $objQuery->delete("dtb_pagelayout", "page_id = ?", array($page_id)); 276 272 277 273 // ファイルの削除
Note: See TracChangeset
for help on using the changeset viewer.