Changeset 20055 for branches/version-2_5-dev/data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php
- Timestamp:
- 2011/01/31 02:45:32 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php
r20041 r20055 46 46 $this->tpl_mainpage = 'design/main_edit.tpl'; 47 47 $this->tpl_subnavi = 'design/subnavi.tpl'; 48 $this->user_URL = USER_URL;49 48 $this->text_row = 13; 50 49 $this->tpl_subno = "main_edit"; … … 156 155 // テンプレートを読み込む 157 156 $templatePath = $this->objLayout->getTemplatePath($device_type_id); 158 $arrPageData[0]['tpl_data'] = file_get_contents($templatePath . $arrPageData[0][' tpl_dir'] . $arrPageData[0]['filename'] . ".tpl");157 $arrPageData[0]['tpl_data'] = file_get_contents($templatePath . $arrPageData[0]['filename'] . ".tpl"); 159 158 160 159 // チェックボックスの値変更 … … 163 162 164 163 // ディレクトリを画面表示用に編集 165 $arrPageData[0][' directory'] = str_replace(USER_DIR, '', $arrPageData[0]['php_dir']);164 $arrPageData[0]['filename'] = preg_replace('|^' . preg_quote(USER_DIR) . '|', '', $arrPageData[0]['filename']); 166 165 167 166 return $arrPageData[0]; … … 181 180 $url = 'preview/index'; 182 181 183 $tmpPost = $_POST;184 $tmpPost['page_id'] = $page_id;185 $tmpPost['url'] = $url;186 $tmpPost['tpl_dir'] = "{$url}.tpl";187 188 182 $arrPreData = $this->objLayout->lfGetPageData("page_id = ? AND device_type_id = ?", 189 183 array($page_id, $device_type_id)); 190 184 191 185 // DBへデータを更新する 192 $this->lfEntryPageData($tmpPost, $device_type_id); 186 $this->lfEntryPageData( 187 $device_type_id, 188 $page_id, 189 $_POST['page_name'], 190 $url, 191 $_POST['header_chk'], 192 $_POST['footer_chk'] 193 ); 193 194 194 195 // TPLファイル作成 … … 230 231 if (count($this->arrErr) == 0) { 231 232 // DBへデータを更新する 232 $arrTmp = $this->lfEntryPageData($_POST, $device_type_id); 233 $arrTmp = $this->lfEntryPageData( 234 $device_type_id, 235 $page_id, 236 $_POST['page_name'], 237 USER_DIR . $_POST['url'], 238 $_POST['header_chk'], 239 $_POST['footer_chk'] 240 ); 233 241 $page_id = $arrTmp['page_id']; 234 242 … … 243 251 244 252 // TPLファイル作成 245 $cre_tpl = $this->objLayout->getTemplatePath($device_type_id) . $arrData[' tpl_dir'] . $arrData['filename'] . '.tpl';253 $cre_tpl = $this->objLayout->getTemplatePath($device_type_id) . $arrData['filename'] . '.tpl'; 246 254 $this->lfCreateFile($cre_tpl, $_POST['tpl_data']); 247 255 … … 266 274 * ブロック情報を更新する. 267 275 * 268 * @param array $arrData 基となる更新データ 276 * @param integer $device_type_id 277 * @param integer $page_id 278 * @param string $page_name 279 * @param string $filename 280 * @param integer $header_chk 281 * @param integer $footer_chk 269 282 * @return array 実際に使用した更新データ 270 283 */ 271 function lfEntryPageData($ arrData, $device_type_id){284 function lfEntryPageData($device_type_id, $page_id, $page_name, $filename, $header_chk, $footer_chk) { 272 285 $objQuery = new SC_Query(); 273 286 $arrChk = array(); // 排他チェック用 274 287 275 // 更新 データの変換276 $sqlval = $this->lfGetUpdData($ arrData, $device_type_id);288 // 更新用データの変換 289 $sqlval = $this->lfGetUpdData($device_type_id, $page_id, $page_name, $filename, $header_chk, $footer_chk); 277 290 278 291 // データが存在しているかチェックを行う 279 if ($arrData['page_id']!== ''){292 if ($page_id !== ''){ 280 293 $arrChk = $this->objLayout->lfGetPageData("page_id = ? AND device_type_id = ?", 281 array($ arrData['page_id'], $device_type_id));294 array($page_id, $device_type_id)); 282 295 } 283 296 284 297 // page_id が空 若しくは データが存在していない場合にはINSERTを行う 285 if ($ arrData['page_id']=== '' || !isset($arrChk[0])) {298 if ($page_id === '' || !isset($arrChk[0])) { 286 299 // FIXME device_type_id ごとの連番にする 287 300 $sqlval['page_id'] = $objQuery->nextVal('dtb_pagelayout_page_id'); … … 293 306 else { 294 307 $objQuery->update('dtb_pagelayout', $sqlval, 'page_id = ? AND device_type_id = ?', 295 array($ arrData['page_id'], $device_type_id));308 array($page_id, $device_type_id)); 296 309 // 戻り値用 297 $sqlval['page_id'] = $ arrData['page_id'];310 $sqlval['page_id'] = $page_id; 298 311 } 299 312 return $sqlval; … … 303 316 * DBへ更新を行うデータを生成する. 304 317 * 305 * @param array $arrData 更新データ 318 * @param integer $device_type_id 319 * @param integer $page_id 320 * @param string $page_name 321 * @param string $filename 322 * @param integer $header_chk 323 * @param integer $footer_chk 306 324 * @return array 更新データ 307 325 */ 308 function lfGetUpdData($ arrData, $device_type_id) {326 function lfGetUpdData($device_type_id, $page_id, $page_name, $filename, $header_chk, $footer_chk) { 309 327 $arrUpdData = array( 310 'header_chk' => SC_Utils_Ex::sfChangeCheckBox($ arrData['header_chk']),// ヘッダー使用311 'footer_chk' => SC_Utils_Ex::sfChangeCheckBox($ arrData['footer_chk']),// フッター使用312 'update_url' => $_SERVER['HTTP_REFERER'], 328 'header_chk' => SC_Utils_Ex::sfChangeCheckBox($header_chk), // ヘッダー使用 329 'footer_chk' => SC_Utils_Ex::sfChangeCheckBox($footer_chk), // フッター使用 330 'update_url' => $_SERVER['HTTP_REFERER'], // 更新URL 313 331 'update_date' => 'now()', 314 332 ); 315 333 316 334 // ベースデータの場合には変更しない。 317 if (!$this->objLayout->lfCheckBaseData($arrData['page_id'], $device_type_id)) { 318 $arrUpdData['page_name'] = $arrData['page_name'] ; 319 $arrUpdData['url'] = preg_replace('|^' . preg_quote(ROOT_URLPATH) . '|', '', $arrData['url'] . '.php'); 320 $arrUpdData['php_dir'] = dirname($arrUpdData['url']); 321 if ($arrUpdData['php_dir'] == '.') { 322 $arrUpdData['php_dir'] = ''; 323 } else { 324 $arrUpdData['php_dir'] .= '/'; 325 } 326 $arrUpdData['tpl_dir'] = $arrUpdData['php_dir']; 327 $arrUpdData['filename'] = basename($arrData['url']); // 拡張子を付加しない 335 if (!$this->objLayout->lfCheckBaseData($page_id, $device_type_id)) { 336 $arrUpdData['page_name'] = $page_name; 337 $arrUpdData['url'] = $filename . '.php'; 338 $arrUpdData['filename'] = $filename; // 拡張子を付加しない 328 339 } 329 340
Note: See TracChangeset
for help on using the changeset viewer.