- Timestamp:
- 2010/03/11 10:35:11 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tmp/version-2_5-test/data/class/pages/admin/design/LC_Page_Admin_Design.php
r17653 r18609 25 25 require_once(CLASS_PATH . "pages/LC_Page.php"); 26 26 27 /** ターゲットID 未使用 */ 28 define('TARGET_ID_UNUSED', 0); 29 27 30 /** 28 31 * デザイン管理 のページクラス. 29 32 * 33 * ターゲットID 0:未使用 1:レフトナビ 2:ライトナビ 3:イン画面上部 4:メイン画面下部 5:画面上部 6:画面下部 7:ヘッダより上 8:フッタより下 9:HEADタグ内 30 34 * @package Page 31 35 * @author LOCKON CO.,LTD. … … 79 83 80 84 // ブロック配置用データを取得 81 $sel = ", pos.target_id, pos.bloc_id, pos.bloc_row ";85 $sel = ", pos.target_id, pos.bloc_id, pos.bloc_row ,pos.anywhere"; 82 86 $from = ", dtb_blocposition AS pos"; 83 87 $where = " where "; 84 $where .= " lay.page_id = ? AND "; 85 $where .= "lay.page_id = pos.page_id AND exists (select bloc_id from dtb_bloc as blc where pos.bloc_id = blc.bloc_id) ORDER BY lay.page_id,pos.target_id, pos.bloc_row, pos.bloc_id "; 88 $where .= "( pos.anywhere = 1 OR (lay.page_id = ? AND "; 89 $where .= "lay.page_id = pos.page_id AND exists (select bloc_id from dtb_bloc as blc where pos.bloc_id = blc.bloc_id) )) ORDER BY lay.page_id,pos.target_id, pos.bloc_row, pos.bloc_id "; 90 // $where .= "((lay.page_id = ? AND "; 91 // $where .= "lay.page_id = pos.page_id AND exists (select bloc_id from dtb_bloc as blc where pos.bloc_id = blc.bloc_id) )) ORDER BY lay.page_id,pos.target_id, pos.bloc_row, pos.bloc_id "; 92 86 93 $arrData = array($page_id); 87 94 $arrBlocPos = $this->lfgetLayoutData($sel, $from, $where, $arrData ); … … 143 150 $arrUpdBlocData[$upd_cnt]['target_id'] = $arrTargetFlip[$_POST['target_id_'.$upd_cnt]]; // ターゲットID 144 151 $arrUpdBlocData[$upd_cnt]['top'] = $_POST['top_'.$upd_cnt]; // TOP座標 152 $arrUpdBlocData[$upd_cnt]['anywhere'] = $_POST['anywhere_'.$upd_cnt]; // 全ページ適用か 145 153 $arrUpdBlocData[$upd_cnt]['update_url'] = $_SERVER['HTTP_REFERER']; // 更新URL 154 146 155 } 147 156 … … 157 166 // ブロックの順序を取得し、更新を行う 158 167 foreach($arrUpdBlocData as $key => $val){ 168 if ($arrUpdBlocData[$key]['target_id'] == TARGET_ID_UNUSED) { 169 continue; 170 } 171 159 172 // ブロックの順序を取得 160 173 $bloc_row = $this->lfGetRowID($arrUpdBlocData, $val); 161 174 $arrUpdBlocData[$key]['bloc_row'] = $bloc_row; 162 175 $arrUpdBlocData[$key]['page_id'] = $page_id; // ページID 163 164 /*165 ターゲットID 1:レフトナビ 2:ライトナビ 3:イン画面上部 4:メイン画面下部 5:欄外166 */167 if ($arrUpdBlocData[$key]['target_id'] == 5) {168 $arrUpdBlocData[$key]['bloc_row'] = "0";169 }170 176 171 177 // insert文生成 … … 178 184 $ins_sql .= " ,? "; // ブロックの並び順序 179 185 $ins_sql .= " ,(SELECT filename FROM dtb_bloc WHERE bloc_id = ?) "; // ファイル名称 186 $ins_sql .= " ,? "; // 全ページフラグ 180 187 $ins_sql .= " ) "; 181 188 182 189 // insertデータ生成 183 190 $arrInsData = array($page_id, 184 $arrUpdBlocData[$key]['target_id'], 185 $arrUpdBlocData[$key]['id'], 186 $arrUpdBlocData[$key]['bloc_row'], 187 $arrUpdBlocData[$key]['id'] 188 ); 191 $arrUpdBlocData[$key]['target_id'], 192 $arrUpdBlocData[$key]['id'], 193 $arrUpdBlocData[$key]['bloc_row'], 194 $arrUpdBlocData[$key]['id'], 195 $arrUpdBlocData[$key]['anywhere'] ? 1 : 0 196 ); 197 $count = $objDBConn->getOne("SELECT COUNT(*) FROM dtb_blocposition WHERE anywhere = 1 AND bloc_id = ?",array($arrUpdBlocData[$key]['id'])); 198 199 if($arrUpdBlocData[$key]['anywhere'] == 1){ 200 $count = $objDBConn->getOne("SELECT COUNT(*) FROM dtb_blocposition WHERE anywhere = 1 AND bloc_id = ?",array($arrUpdBlocData[$key]['id'])); 201 $objDBConn->getLastQuery(); 202 if($count != 0){ 203 continue; 204 }else{ 205 } 206 }else{ 207 if($count > 0){ 208 $objDBConn->query("DELETE FROM dtb_blocposition WHERE anywhere = 1 AND bloc_id = ?",array($arrUpdBlocData[$key]['id'])); 209 } 210 } 189 211 // SQL実行 190 212 $arrRet = $objDBConn->query($ins_sql,$arrInsData); … … 194 216 if ($_POST['mode'] == 'preview') { 195 217 if ($page_id === "") { 196 $this->sendRedirect($this->getLocation( "./index.php"));218 $this->sendRedirect($this->getLocation(DIR_INDEX_URL)); 197 219 exit; 198 220 } … … 201 223 $_SESSION['preview'] = "ON"; 202 224 203 $this->sendRedirect($this->getLocation(URL_DIR . "preview/ index.php", array("filename" => $arrPageData[0]["filename"])));225 $this->sendRedirect($this->getLocation(URL_DIR . "preview/" . DIR_INDEX_URL, array("filename" => $arrPageData[0]["filename"]))); 204 226 exit; 205 227 206 228 }else{ 207 $this->sendRedirect($this->getLocation( "./index.php",208 229 $this->sendRedirect($this->getLocation(DIR_INDEX_URL, 230 array("page_id" => $page_id, 209 231 "msg" => "on"))); 210 232 exit; 211 233 212 234 } … … 216 238 if ($_POST['mode'] == 'delete' and !$objLayout->lfCheckBaseData($page_id)) { 217 239 $objLayout->lfDelPageData($page_id); 218 $this->sendRedirect($this->getLocation( "./index.php"));240 $this->sendRedirect($this->getLocation(DIR_INDEX_URL)); 219 241 exit; 220 242 } … … 228 250 $tpl_arrBloc = $this->lfSetBlocData($arrBloc, $val, $tpl_arrBloc, $cnt); 229 251 $cnt++; 252 }else{ 230 253 } 231 254 } … … 234 257 foreach($arrBloc as $key => $val){ 235 258 if (!$this->lfChkBloc($val, $tpl_arrBloc)) { 236 $val['target_id'] = 5;// 未使用に追加する259 $val['target_id'] = TARGET_ID_UNUSED; // 未使用に追加する 237 260 $tpl_arrBloc = $this->lfSetBlocData($arrBloc, $val, $tpl_arrBloc, $cnt); 238 261 $cnt++; 262 }else{ 239 263 } 240 264 } … … 373 397 $tpl_arrBloc[$cnt]['bloc_id'] = $val['bloc_id']; 374 398 $tpl_arrBloc[$cnt]['bloc_row'] = 375 isset($val['bloc_row']) ? $val['bloc_row'] : ""; 376 399 isset($val['bloc_row']) ? $val['bloc_row'] : ""; 400 $tpl_arrBloc[$cnt]['anywhere'] = $val['anywhere']; 401 if($val['anywhere'] == 1){ 402 $tpl_arrBloc[$cnt]['anywhere_selected'] = 'checked="checked"'; 403 } 377 404 foreach($arrBloc as $bloc_key => $bloc_val){ 378 405 if ($bloc_val['bloc_id'] == $val['bloc_id']) { … … 447 474 } 448 475 449 $tplfile = TEMPLATE_DIR . $filename;450 451 476 // filename が空の場合にはMYページと判断 452 477 if($filename == ""){ 453 478 $tplfile = TEMPLATE_DIR . "mypage/index"; 454 479 $filename = 'mypage'; 480 } else { 481 if (file_exists(TEMPLATE_FTP_DIR . $filename . ".tpl")) { 482 $tplfile = TEMPLATE_FTP_DIR . $filename; 483 } else { 484 $tplfile = TEMPLATE_DIR . $filename; 485 } 455 486 } 456 487 … … 465 496 466 497 // 更新データの取得 467 $sql = "select page_name, header_chk, footer_chk from dtb_pagelayout where page_id = ?"; 498 $sql = "select page_id,page_name, header_chk, footer_chk from dtb_pagelayout where page_id = ? OR page_id = (SELECT page_id FROM dtb_blocposition WHERE anywhere = 1)" ; 499 468 500 $ret = $objDBConn->getAll($sql, array($arrPageData[0]['page_id'])); 469 501 … … 476 508 $sql .= " ,tpl_dir = ?"; 477 509 $sql .= " ,filename = ?"; 510 // $sql .= " ,anywhere = ?"; 478 511 $sql .= " where page_id = 0"; 512 var_dump($ret); 513 echo("####<br/>\n\n".__LINE__ ." in file:".__FILE__."<br/>\n\n ####"); 479 514 480 515 $arrUpdData = array($ret[0]['page_id'] 481 ,$ret[0]['page_id'] 482 ,$ret[0]['page_id'] 483 ,USER_DIR . "templates/" . TEMPLATE_NAME . "/" 484 ,USER_DIR . "templates/" . TEMPLATE_NAME . "/" 485 ,$filename 486 ); 516 ,$ret[0]['page_id'] 517 ,$ret[0]['page_id'] 518 ,USER_DIR . "templates/" . TEMPLATE_NAME . "/" 519 ,USER_DIR . "templates/" . TEMPLATE_NAME . "/" 520 ,$filename 521 // ,$ret[0]['anywhere'] 522 523 ); 487 524 488 525 $objDBConn->query($sql,$arrUpdData);
Note: See TracChangeset
for help on using the changeset viewer.