Changeset 18211 for branches


Ignore:
Timestamp:
2009/07/19 23:30:23 (15 years ago)
Author:
Seasoft
Message:

ソース整形 (TAB -> 4SP)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/pages/admin/design/LC_Page_Admin_Design.php

    r18202 r18211  
    146146                $arrUpdBlocData[$upd_cnt]['target_id']  = $arrTargetFlip[$_POST['target_id_'.$upd_cnt]];    // ターゲットID 
    147147                $arrUpdBlocData[$upd_cnt]['top']        = $_POST['top_'.$upd_cnt];                          // TOP座標 
    148                 $arrUpdBlocData[$upd_cnt]['anywhere']        = $_POST['anywhere_'.$upd_cnt];                     //全ページ適用か 
     148                $arrUpdBlocData[$upd_cnt]['anywhere']   = $_POST['anywhere_'.$upd_cnt];                     //全ページ適用か 
    149149                $arrUpdBlocData[$upd_cnt]['update_url'] = $_SERVER['HTTP_REFERER'];                         // 更新URL 
    150150 
     
    292292     * 
    293293     * @return void 
    294     */ 
    295     function destroy() { 
    296         parent::destroy(); 
    297     } 
    298  
    299     /** 
    300     * 編集可能なページ情報を取得する. 
    301     * 
    302     * @param string $sel Select句文 
    303     * @param string $where Where句文 
    304     * @param array $arrVa Where句の絞込条件値 
    305     * @return array ページレイアウト情報の配列 
    306     */ 
    307     function lfgetLayoutData($sel = '' , $from = '', $where = '', $arrVal = ''){ 
    308         $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
    309         $sql = "";                      // データ取得SQL生成用 
    310         $arrRet = array();              // データ取得用 
    311  
    312         // SQL生成 
    313  
    314         $sql = ""; 
    315         $sql .= " select "; 
    316         $sql .= "     lay.page_id "; 
    317         $sql .= "     ,lay.page_name "; 
    318         $sql .= "     ,lay.url "; 
    319         $sql .= "     ,lay.author "; 
    320         $sql .= "     ,lay.description "; 
    321         $sql .= "     ,lay.keyword "; 
    322         $sql .= "     ,lay.update_url "; 
    323         $sql .= "     ,lay.create_date "; 
    324         $sql .= "     ,lay.update_date "; 
    325  
    326         // Select句の指定があれば追加 
    327         if ($sel != '') { 
    328             $sql .= $sel; 
    329         } 
    330  
    331         $sql .= " from dtb_pagelayout AS lay "; 
    332         // From句の指定があれば追加 
    333         if ($from != '') { 
    334             $sql .= $from; 
    335         } 
    336  
    337         // where句の指定があれば追加 
    338         if ($where != '') { 
    339             $sql .= $where; 
    340         }else{ 
    341             $sql .= " ORDER BY lay.page_id "; 
    342         } 
    343  
    344         $arrRet = $objDBConn->getAll($sql, $arrVal); 
    345  
    346         return $arrRet; 
    347     } 
    348  
    349     /** 
    350     * ブロック情報を取得する. 
    351     * 
    352     * @param string $where Where句文 
    353     * @param array $arrVal Where句の絞込条件値 
    354     * @return array ブロック情報の配列 
    355     */ 
    356     function lfgetBlocData($where = '', $arrVal = ''){ 
    357         $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
    358         $sql = "";                      // データ取得SQL生成用 
    359         $arrRet = array();              // データ取得用 
    360  
    361         // SQL生成 
    362         $sql = ""; 
    363         $sql .= " SELECT "; 
    364         $sql .= "   bloc_id"; 
    365         $sql .= "   ,bloc_name"; 
    366         $sql .= "   ,tpl_path"; 
    367         $sql .= "   ,filename"; 
    368         $sql .= "   ,update_date"; 
    369         $sql .= " FROM "; 
    370         $sql .= "   dtb_bloc"; 
    371  
    372         // where句の指定があれば追加 
    373         if ($where != '') { 
    374             $sql .= " WHERE " . $where; 
    375         } 
    376  
    377         $sql .= " ORDER BY  bloc_id"; 
    378  
    379         $arrRet = $objDBConn->getAll($sql, $arrVal); 
    380  
    381         return $arrRet; 
    382     } 
    383  
    384     /** 
    385     * ブロック情報の配列を生成する. 
    386     * 
    387     * @param array $arrBloc Bloc情報 
    388     * @param array $tpl_arrBloc データをセットする配列 
    389     * @param integer $cnt 配列番号 
    390     * @return array データをセットした配列 
    391     */ 
    392     function lfSetBlocData($arrBloc, $val, $tpl_arrBloc, $cnt) { 
    393         $masterData = new SC_DB_MasterData_Ex(); 
    394         $arrTarget = $masterData->getMasterData("mtb_target"); 
    395  
    396         $tpl_arrBloc[$cnt]['target_id'] = $arrTarget[$val['target_id']]; 
    397         $tpl_arrBloc[$cnt]['bloc_id'] = $val['bloc_id']; 
    398         $tpl_arrBloc[$cnt]['bloc_row'] = 
    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         } 
    404         foreach($arrBloc as $bloc_key => $bloc_val){ 
    405             if ($bloc_val['bloc_id'] == $val['bloc_id']) { 
    406                 $bloc_name = $bloc_val['bloc_name']; 
    407                 break; 
    408             } 
    409         } 
    410         $tpl_arrBloc[$cnt]['name'] = $bloc_name; 
    411  
    412         return $tpl_arrBloc; 
    413     } 
    414  
    415     /** 
    416     * ブロックIDが配列に追加されているかのチェックを行う. 
    417     * 
    418     * @param array $arrBloc Bloc情報 
    419     * @param array $arrChkData チェックを行うデータ配列 
    420     * @return bool 存在する場合 true 
    421     */ 
    422     function lfChkBloc($arrBloc, $arrChkData) { 
    423         foreach($arrChkData as $key => $val){ 
    424             if ($val['bloc_id'] === $arrBloc['bloc_id'] ) { 
    425                 // 配列に存在すればTrueを返す 
    426                 return true; 
    427             } 
    428         } 
    429  
    430         // 配列に存在しなければFlaseを返す 
    431         return false; 
    432     } 
    433  
    434     /** 
    435     * ブロックIDが何番目に配置されているかを調べる. 
    436     * 
    437     * @param array $arrUpdData 更新情報 
    438     * @param array $arrObj チェックを行うデータ配列 
    439     * @return integer 順番 
    440     */ 
    441     function lfGetRowID($arrUpdData, $arrObj){ 
    442         $no = 0; // カウント用(同じデータが必ず1件あるので、初期値は0) 
    443  
    444         // 対象データが何番目に配置されているのかを取得する。 
    445         foreach ($arrUpdData as $key => $val) { 
    446             if ($val['target_id'] === $arrObj['target_id'] and $val['top'] <= $arrObj['top']){ 
    447                 $no++; 
    448             } 
    449         } 
    450         // 番号を返す 
    451         return $no; 
    452     } 
    453  
    454     /** 
    455     * プレビューするデータを DB に保存する. 
    456     * 
    457     * @param array $arrPageData ページ情報の配列 
    458     * @return void 
    459     */ 
    460     function lfSetPreData($arrPageData, &$objLayout){ 
    461         $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
    462         $sql = "";                      // データ更新SQL生成用 
    463         $ret = "";                      // データ更新結果格納用 
    464         $arrUpdData = array();          // 更新データ生成用 
    465         $filename = $arrPageData[0]['filename']; 
    466  
    467         $arrPreData = $objLayout->lfgetPageData(" page_id = ? " , array("0")); 
    468  
    469         // XXX tplファイルの削除 
    470         $del_tpl = USER_PATH . "templates/" . $filename . '.tpl'; 
    471  
    472         if (file_exists($del_tpl)){ 
    473             unlink($del_tpl); 
    474         } 
    475  
    476         // filename が空の場合にはMYページと判断 
    477         if($filename == ""){ 
    478             $tplfile = TEMPLATE_DIR . "mypage/index"; 
    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             } 
    486         } 
    487  
    488         // プレビュー用tplファイルのコピー 
    489         $copyTo = USER_PATH . "templates/preview/" . TEMPLATE_NAME . "/" . $filename . ".tpl"; 
    490  
    491         if (!is_dir(dirname($copyTo))) { 
    492             mkdir(dirname($copyTo)); 
    493         } 
    494  
    495         copy($tplfile . ".tpl", $copyTo); 
    496  
    497         // 更新データの取得 
    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          
    500         $ret = $objDBConn->getAll($sql, array($arrPageData[0]['page_id'])); 
    501  
    502         // dbデータのコピー 
    503         $sql = " update dtb_pagelayout set "; 
    504         $sql .= "     page_name = ?"; 
    505         $sql .= "     ,header_chk = ?"; 
    506         $sql .= "     ,footer_chk = ?"; 
    507         $sql .= "     ,url = ?"; 
    508         $sql .= "     ,tpl_dir = ?"; 
    509         $sql .= "     ,filename = ?"; 
    510 //      $sql .= "     ,anywhere = ?"; 
    511         $sql .= " where page_id = 0"; 
    512         var_dump($ret); 
    513                 echo("####<br/>\n\n".__LINE__ ." in file:".__FILE__."<br/>\n\n ####"); 
    514  
    515         $arrUpdData = array($ret[0]['page_id'] 
    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         ); 
    524  
    525         $objDBConn->query($sql,$arrUpdData); 
    526     } 
     294    */ 
     295    function destroy() { 
     296        parent::destroy(); 
     297    } 
     298 
     299    /** 
     300    * 編集可能なページ情報を取得する. 
     301    * 
     302    * @param string $sel Select句文 
     303    * @param string $where Where句文 
     304    * @param array $arrVa Where句の絞込条件値 
     305    * @return array ページレイアウト情報の配列 
     306    */ 
     307    function lfgetLayoutData($sel = '' , $from = '', $where = '', $arrVal = ''){ 
     308        $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     309        $sql = "";                      // データ取得SQL生成用 
     310        $arrRet = array();              // データ取得用 
     311 
     312        // SQL生成 
     313 
     314        $sql = ""; 
     315        $sql .= " select "; 
     316        $sql .= "     lay.page_id "; 
     317        $sql .= "     ,lay.page_name "; 
     318        $sql .= "     ,lay.url "; 
     319        $sql .= "     ,lay.author "; 
     320        $sql .= "     ,lay.description "; 
     321        $sql .= "     ,lay.keyword "; 
     322        $sql .= "     ,lay.update_url "; 
     323        $sql .= "     ,lay.create_date "; 
     324        $sql .= "     ,lay.update_date "; 
     325 
     326        // Select句の指定があれば追加 
     327        if ($sel != '') { 
     328            $sql .= $sel; 
     329        } 
     330 
     331        $sql .= " from dtb_pagelayout AS lay "; 
     332        // From句の指定があれば追加 
     333        if ($from != '') { 
     334            $sql .= $from; 
     335        } 
     336 
     337        // where句の指定があれば追加 
     338        if ($where != '') { 
     339            $sql .= $where; 
     340        }else{ 
     341            $sql .= " ORDER BY lay.page_id "; 
     342        } 
     343 
     344        $arrRet = $objDBConn->getAll($sql, $arrVal); 
     345 
     346        return $arrRet; 
     347    } 
     348 
     349    /** 
     350    * ブロック情報を取得する. 
     351    * 
     352    * @param string $where Where句文 
     353    * @param array $arrVal Where句の絞込条件値 
     354    * @return array ブロック情報の配列 
     355    */ 
     356    function lfgetBlocData($where = '', $arrVal = ''){ 
     357        $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     358        $sql = "";                      // データ取得SQL生成用 
     359        $arrRet = array();              // データ取得用 
     360 
     361        // SQL生成 
     362        $sql = ""; 
     363        $sql .= " SELECT "; 
     364        $sql .= "   bloc_id"; 
     365        $sql .= "   ,bloc_name"; 
     366        $sql .= "   ,tpl_path"; 
     367        $sql .= "   ,filename"; 
     368        $sql .= "   ,update_date"; 
     369        $sql .= " FROM "; 
     370        $sql .= "   dtb_bloc"; 
     371 
     372        // where句の指定があれば追加 
     373        if ($where != '') { 
     374            $sql .= " WHERE " . $where; 
     375        } 
     376 
     377        $sql .= " ORDER BY  bloc_id"; 
     378 
     379        $arrRet = $objDBConn->getAll($sql, $arrVal); 
     380 
     381        return $arrRet; 
     382    } 
     383 
     384    /** 
     385    * ブロック情報の配列を生成する. 
     386    * 
     387    * @param array $arrBloc Bloc情報 
     388    * @param array $tpl_arrBloc データをセットする配列 
     389    * @param integer $cnt 配列番号 
     390    * @return array データをセットした配列 
     391    */ 
     392    function lfSetBlocData($arrBloc, $val, $tpl_arrBloc, $cnt) { 
     393        $masterData = new SC_DB_MasterData_Ex(); 
     394        $arrTarget = $masterData->getMasterData("mtb_target"); 
     395 
     396        $tpl_arrBloc[$cnt]['target_id'] = $arrTarget[$val['target_id']]; 
     397        $tpl_arrBloc[$cnt]['bloc_id'] = $val['bloc_id']; 
     398        $tpl_arrBloc[$cnt]['bloc_row'] = 
     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        } 
     404        foreach($arrBloc as $bloc_key => $bloc_val){ 
     405            if ($bloc_val['bloc_id'] == $val['bloc_id']) { 
     406                $bloc_name = $bloc_val['bloc_name']; 
     407                break; 
     408            } 
     409        } 
     410        $tpl_arrBloc[$cnt]['name'] = $bloc_name; 
     411 
     412        return $tpl_arrBloc; 
     413    } 
     414 
     415    /** 
     416    * ブロックIDが配列に追加されているかのチェックを行う. 
     417    * 
     418    * @param array $arrBloc Bloc情報 
     419    * @param array $arrChkData チェックを行うデータ配列 
     420    * @return bool 存在する場合 true 
     421    */ 
     422    function lfChkBloc($arrBloc, $arrChkData) { 
     423        foreach($arrChkData as $key => $val){ 
     424            if ($val['bloc_id'] === $arrBloc['bloc_id'] ) { 
     425                // 配列に存在すればTrueを返す 
     426                return true; 
     427            } 
     428        } 
     429 
     430        // 配列に存在しなければFlaseを返す 
     431        return false; 
     432    } 
     433 
     434    /** 
     435    * ブロックIDが何番目に配置されているかを調べる. 
     436    * 
     437    * @param array $arrUpdData 更新情報 
     438    * @param array $arrObj チェックを行うデータ配列 
     439    * @return integer 順番 
     440    */ 
     441    function lfGetRowID($arrUpdData, $arrObj){ 
     442        $no = 0; // カウント用(同じデータが必ず1件あるので、初期値は0) 
     443 
     444        // 対象データが何番目に配置されているのかを取得する。 
     445        foreach ($arrUpdData as $key => $val) { 
     446            if ($val['target_id'] === $arrObj['target_id'] and $val['top'] <= $arrObj['top']){ 
     447                $no++; 
     448            } 
     449        } 
     450        // 番号を返す 
     451        return $no; 
     452    } 
     453 
     454    /** 
     455    * プレビューするデータを DB に保存する. 
     456    * 
     457    * @param array $arrPageData ページ情報の配列 
     458    * @return void 
     459    */ 
     460    function lfSetPreData($arrPageData, &$objLayout){ 
     461        $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     462        $sql = "";                      // データ更新SQL生成用 
     463        $ret = "";                      // データ更新結果格納用 
     464        $arrUpdData = array();          // 更新データ生成用 
     465        $filename = $arrPageData[0]['filename']; 
     466 
     467        $arrPreData = $objLayout->lfgetPageData(" page_id = ? " , array("0")); 
     468 
     469        // XXX tplファイルの削除 
     470        $del_tpl = USER_PATH . "templates/" . $filename . '.tpl'; 
     471 
     472        if (file_exists($del_tpl)){ 
     473            unlink($del_tpl); 
     474        } 
     475 
     476        // filename が空の場合にはMYページと判断 
     477        if($filename == ""){ 
     478            $tplfile = TEMPLATE_DIR . "mypage/index"; 
     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            } 
     486        } 
     487 
     488        // プレビュー用tplファイルのコピー 
     489        $copyTo = USER_PATH . "templates/preview/" . TEMPLATE_NAME . "/" . $filename . ".tpl"; 
     490 
     491        if (!is_dir(dirname($copyTo))) { 
     492            mkdir(dirname($copyTo)); 
     493        } 
     494 
     495        copy($tplfile . ".tpl", $copyTo); 
     496 
     497        // 更新データの取得 
     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         
     500        $ret = $objDBConn->getAll($sql, array($arrPageData[0]['page_id'])); 
     501 
     502        // dbデータのコピー 
     503        $sql = " update dtb_pagelayout set "; 
     504        $sql .= "     page_name = ?"; 
     505        $sql .= "     ,header_chk = ?"; 
     506        $sql .= "     ,footer_chk = ?"; 
     507        $sql .= "     ,url = ?"; 
     508        $sql .= "     ,tpl_dir = ?"; 
     509        $sql .= "     ,filename = ?"; 
     510//      $sql .= "     ,anywhere = ?"; 
     511        $sql .= " where page_id = 0"; 
     512        var_dump($ret); 
     513                echo("####<br/>\n\n".__LINE__ ." in file:".__FILE__."<br/>\n\n ####"); 
     514 
     515        $arrUpdData = array($ret[0]['page_id'] 
     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        ); 
     524 
     525        $objDBConn->query($sql,$arrUpdData); 
     526    } 
    527527} 
    528528?> 
Note: See TracChangeset for help on using the changeset viewer.