Ignore:
Timestamp:
2010/03/11 10:35:11 (14 years ago)
Author:
kajiwara
Message:

正式版にナイトリービルド版をマージしてみるテスト

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tmp/version-2_5-test/data/class/pages/admin/design/LC_Page_Admin_Design.php

    r17653 r18609  
    2525require_once(CLASS_PATH . "pages/LC_Page.php"); 
    2626 
     27/** ターゲットID 未使用 */ 
     28define('TARGET_ID_UNUSED', 0); 
     29 
    2730/** 
    2831 * デザイン管理 のページクラス. 
    2932 * 
     33 * ターゲットID 0:未使用 1:レフトナビ 2:ライトナビ 3:イン画面上部 4:メイン画面下部  5:画面上部 6:画面下部 7:ヘッダより上 8:フッタより下 9:HEADタグ内 
    3034 * @package Page 
    3135 * @author LOCKON CO.,LTD. 
     
    7983 
    8084        // ブロック配置用データを取得 
    81         $sel   = ", pos.target_id, pos.bloc_id, pos.bloc_row "; 
     85        $sel   = ", pos.target_id, pos.bloc_id, pos.bloc_row ,pos.anywhere"; 
    8286        $from  = ", dtb_blocposition AS pos"; 
    8387        $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 
    8693        $arrData = array($page_id); 
    8794        $arrBlocPos = $this->lfgetLayoutData($sel, $from, $where, $arrData ); 
     
    143150                $arrUpdBlocData[$upd_cnt]['target_id']  = $arrTargetFlip[$_POST['target_id_'.$upd_cnt]];    // ターゲットID 
    144151                $arrUpdBlocData[$upd_cnt]['top']        = $_POST['top_'.$upd_cnt];                          // TOP座標 
     152                $arrUpdBlocData[$upd_cnt]['anywhere']   = $_POST['anywhere_'.$upd_cnt];                     // 全ページ適用か 
    145153                $arrUpdBlocData[$upd_cnt]['update_url'] = $_SERVER['HTTP_REFERER'];                         // 更新URL 
     154 
    146155            } 
    147156 
     
    157166            // ブロックの順序を取得し、更新を行う 
    158167            foreach($arrUpdBlocData as $key => $val){ 
     168                if ($arrUpdBlocData[$key]['target_id'] == TARGET_ID_UNUSED) { 
     169                    continue; 
     170                } 
     171 
    159172                // ブロックの順序を取得 
    160173                $bloc_row = $this->lfGetRowID($arrUpdBlocData, $val); 
    161174                $arrUpdBlocData[$key]['bloc_row'] = $bloc_row; 
    162175                $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                 } 
    170176 
    171177                // insert文生成 
     
    178184                $ins_sql .= "   ,? ";           // ブロックの並び順序 
    179185                $ins_sql .= "   ,(SELECT filename FROM dtb_bloc WHERE bloc_id = ?) ";           // ファイル名称 
     186                $ins_sql .= "   ,? ";           // 全ページフラグ 
    180187                $ins_sql .= "   )  "; 
    181188 
    182189                // insertデータ生成 
    183190                $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                } 
    189211                // SQL実行 
    190212                $arrRet = $objDBConn->query($ins_sql,$arrInsData); 
     
    194216            if ($_POST['mode'] == 'preview') { 
    195217                if ($page_id === "") { 
    196                     $this->sendRedirect($this->getLocation("./index.php")); 
     218                    $this->sendRedirect($this->getLocation(DIR_INDEX_URL)); 
    197219                    exit; 
    198220                } 
     
    201223                $_SESSION['preview'] = "ON"; 
    202224 
    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"]))); 
    204226                exit; 
    205227 
    206228            }else{ 
    207                 $this->sendRedirect($this->getLocation("./index.php", 
    208                                             array("page_id" => $page_id, 
     229                $this->sendRedirect($this->getLocation(DIR_INDEX_URL, 
     230                array("page_id" => $page_id, 
    209231                                                  "msg" => "on"))); 
    210                 exit; 
     232                exit; 
    211233 
    212234            } 
     
    216238        if ($_POST['mode'] == 'delete' and  !$objLayout->lfCheckBaseData($page_id)) { 
    217239            $objLayout->lfDelPageData($page_id); 
    218             $this->sendRedirect($this->getLocation("./index.php")); 
     240            $this->sendRedirect($this->getLocation(DIR_INDEX_URL)); 
    219241            exit; 
    220242        } 
     
    228250                $tpl_arrBloc = $this->lfSetBlocData($arrBloc, $val, $tpl_arrBloc, $cnt); 
    229251                $cnt++; 
     252            }else{ 
    230253            } 
    231254        } 
     
    234257        foreach($arrBloc as $key => $val){ 
    235258            if (!$this->lfChkBloc($val, $tpl_arrBloc)) { 
    236                 $val['target_id'] = 5; // 未使用に追加する 
     259                $val['target_id'] = TARGET_ID_UNUSED; // 未使用に追加する 
    237260                $tpl_arrBloc = $this->lfSetBlocData($arrBloc, $val, $tpl_arrBloc, $cnt); 
    238261                $cnt++; 
     262            }else{ 
    239263            } 
    240264        } 
     
    373397        $tpl_arrBloc[$cnt]['bloc_id'] = $val['bloc_id']; 
    374398        $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        } 
    377404        foreach($arrBloc as $bloc_key => $bloc_val){ 
    378405            if ($bloc_val['bloc_id'] == $val['bloc_id']) { 
     
    447474        } 
    448475 
    449         $tplfile = TEMPLATE_DIR . $filename; 
    450  
    451476        // filename が空の場合にはMYページと判断 
    452477        if($filename == ""){ 
    453478            $tplfile = TEMPLATE_DIR . "mypage/index"; 
    454479            $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            } 
    455486        } 
    456487 
     
    465496 
    466497        // 更新データの取得 
    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         
    468500        $ret = $objDBConn->getAll($sql, array($arrPageData[0]['page_id'])); 
    469501 
     
    476508        $sql .= "     ,tpl_dir = ?"; 
    477509        $sql .= "     ,filename = ?"; 
     510//      $sql .= "     ,anywhere = ?"; 
    478511        $sql .= " where page_id = 0"; 
     512        var_dump($ret); 
     513                echo("####<br/>\n\n".__LINE__ ." in file:".__FILE__."<br/>\n\n ####"); 
    479514 
    480515        $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        ); 
    487524 
    488525        $objDBConn->query($sql,$arrUpdData); 
Note: See TracChangeset for help on using the changeset viewer.