Ignore:
Timestamp:
2007/07/20 15:58:59 (15 years ago)
Author:
nanasess
Message:

r15064 から svn cp
とりあえず暫定コミット.

  • UTF-8 に変更
  • slib.php, glib.php のクラス化
  • LC_Page の抽象化(一部)
Location:
branches/feature-module-update
Files:
7 edited
2 copied

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update

    • Property svn:ignore set to
      .cache

      .settings

      .projectOptions
  • branches/feature-module-update/html/admin/design/bloc.php

    r12157 r15078  
    1818        $this->tpl_subno = "bloc";   
    1919        $this->tpl_mainno = "design"; 
    20         $this->tpl_subtitle = '¥Ö¥í¥Ã¥¯ÊÔ½¸'; 
     20        $this->tpl_subtitle = 'ブロック編集'; 
    2121    } 
    2222} 
     
    2525$objView = new SC_AdminView(); 
    2626 
    27 // ǧ¾Ú²ÄÈݤÎȽÄê 
     27// 認証可否の判定 
    2828$objSess = new SC_Session(); 
    2929sfIsSuccess($objSess); 
    3030 
    31 // ¥Ö¥í¥Ã¥¯°ìÍ÷¤ò¼èÆÀ 
     31// ブロック一覧を取得 
    3232$objPage->arrBlocList = lfgetBlocData(); 
    3333 
    34 // ¥Ö¥í¥Ã¥¯ID¤ò¼èÆÀ 
     34// ブロックIDを取得 
    3535if (isset($_POST['bloc_id'])) { 
    3636    $bloc_id = $_POST['bloc_id']; 
     
    4242$objPage->bloc_id = $bloc_id; 
    4343 
    44 // bloc_id ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥Ö¥í¥Ã¥¯¥Ç¡¼¥¿¤Î¼èÆÀ 
     44// bloc_id が指定されている場合にはブロックデータの取得 
    4545if ($bloc_id != '') { 
    4646    $arrBlocData = lfgetBlocData(" bloc_id = ? " , array($bloc_id)); 
    4747    $arrBlocData[0]['tpl_path'] = USER_PATH . $arrBlocData[0]['tpl_path']; 
    4848 
    49     // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß 
     49    // テンプレートファイルの読み込み 
    5050    $arrBlocData[0]['tpl_data'] = file_get_contents($arrBlocData[0]['tpl_path']); 
    5151    $objPage->arrBlocData = $arrBlocData[0]; 
    5252} 
    5353 
    54 // ¥á¥Ã¥»¡¼¥¸É½¼¨ 
     54// メッセージ表示 
    5555if ($_GET['msg'] == "on") { 
    56     // ´°Î»¥á¥Ã¥»¡¼¥¸ 
    57     $objPage->tpl_onload="alert('ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');"; 
    58 } 
    59  
    60 // ¥×¥ì¥Ó¥å¡¼É½¼¨ 
     56    // 完了メッセージ 
     57    $objPage->tpl_onload="alert('登録が完了しました。');"; 
     58} 
     59 
     60// プレビュー表示 
    6161if ($_POST['mode'] == "preview") { 
    62     // ¥×¥ì¥Ó¥å¡¼¥Õ¥¡¥¤¥ëºîÀ® 
     62    // プレビューファイル作成 
    6363    $prev_path = USER_INC_PATH . 'preview/bloc_preview.tpl'; 
    6464    $fp = fopen($prev_path,"w"); 
     
    6666    fclose($fp); 
    6767     
    68     // ¥×¥ì¥Ó¥å¡¼¥Ç¡¼¥¿É½¼¨ 
     68    // プレビューデータ表示 
    6969    $objPage->preview = "on"; 
    7070    $objPage->arrBlocData['tpl_data'] = $_POST['bloc_html']; 
     
    7777} 
    7878 
    79 // ¥Ç¡¼¥¿ÅÐÏ¿½èÍý 
     79// データ登録処理 
    8080if ($_POST['mode'] == 'confirm') { 
    8181     
    82     // ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     82    // エラーチェック 
    8383    $objPage->arrErr = lfErrorCheck($_POST); 
    8484 
    85     // ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð¹¹¿·½èÍý¤ò¹Ô¤¦    
     85    // エラーがなければ更新処理を行う   
    8686    if (count($objPage->arrErr) == 0) { 
    87         // DB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë 
     87        // DBへデータを更新する 
    8888        lfEntryBlocData($_POST); 
    8989         
    90         // ¥Õ¥¡¥¤¥ë¤Îºï½ü 
     90        // ファイルの削除 
    9191        $del_file=BLOC_PATH . $arrBlocData[0]['filename']. '.tpl'; 
    9292        if (file_exists($del_file)) { 
     
    9494        } 
    9595         
    96         // ¥Õ¥¡¥¤¥ëºîÀ® 
     96        // ファイル作成 
    9797        $fp = fopen(BLOC_PATH . $_POST['filename'] . '.tpl',"w"); 
    9898        fwrite($fp, $_POST['bloc_html']); 
     
    104104        header("location: ./bloc.php?bloc_id=$bloc_id&msg=on"); 
    105105    }else{ 
    106         // ¥¨¥é¡¼¤¬¤¢¤ì¤ÐÆþÎÏ»þ¤Î¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë 
     106        // エラーがあれば入力時のデータを表示する 
    107107        $objPage->arrBlocData = $_POST; 
    108108    } 
    109109} 
    110110 
    111 // ¥Ç¡¼¥¿ºï½ü½èÍý 
     111// データ削除処理 
    112112if ($_POST['mode'] == 'delete') { 
    113113     
    114     // DB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë 
    115     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    116     $sql = "";                      // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ 
    117     $ret = "";                      // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ 
    118     $arrDelData = array();          // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ 
    119      
    120     // ¹¹¿·¥Ç¡¼¥¿À¸À® 
     114    // DBへデータを更新する 
     115    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     116    $sql = "";                      // データ更新SQL生成用 
     117    $ret = "";                      // データ更新結果格納用 
     118    $arrDelData = array();          // 更新データ生成用 
     119     
     120    // 更新データ生成 
    121121    $arrUpdData = array($arrData['bloc_name'], BLOC_DIR . $arrData['filename'] . '.tpl', $arrData['filename']); 
    122122     
    123     // bloc_id ¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ïdelete¤ò¼Â¹Ô 
     123    // bloc_id が空でない場合にはdeleteを実行 
    124124    if ($_POST['bloc_id'] !== '') { 
    125         // SQLÀ¸À® 
     125        // SQL生成 
    126126        $sql = " DELETE FROM dtb_bloc WHERE bloc_id = ?"; 
    127         // SQL¼Â¹Ô 
     127        // SQL実行 
    128128        $ret = $objDBConn->query($sql,array($_POST['bloc_id'])); 
    129129         
    130         // ¥Ú¡¼¥¸¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤âºï½ü¤¹¤ë 
     130        // ページに配置されているデータも削除する 
    131131        $sql = "DELETE FROM dtb_blocposition WHERE bloc_id = ?"; 
    132         // SQL¼Â¹Ô 
     132        // SQL実行 
    133133        $ret = $objDBConn->query($sql,array($_POST['bloc_id'])); 
    134134     
    135         // ¥Õ¥¡¥¤¥ë¤Îºï½ü 
     135        // ファイルの削除 
    136136        $del_file = BLOC_PATH . $arrBlocData[0]['filename']. '.tpl'; 
    137137        if(file_exists($del_file)){ 
     
    144144 
    145145 
    146 // ²èÌ̤Îɽ¼¨ 
     146// 画面の表示 
    147147$objView->assignobj($objPage); 
    148148$objView->display(MAIN_FRAME); 
     
    151151 
    152152/************************************************************************************************************** 
    153  * ´Ø¿ô̾   ¡§lfgetBlocData 
    154  * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ò¼èÆÀ¤¹¤ë 
    155  * °ú¿ô1    ¡§$where  Ž¥Ž¥Ž¥ Where¶çʸ 
    156  * °ú¿ô2    ¡§$arrVal Ž¥Ž¥Ž¥ Where¶ç¤Î¹Ê¹þ¾ò·ïÃÍ 
    157  * Ìá¤êÃÍ   ¡§¥Ö¥í¥Ã¥¯¾ðÊó 
     153 * 関数名  :lfgetBlocData 
     154 * 処理内容 :ブロック情報を取得する 
     155 * 引数1  :$where  ・・・ Where句文 
     156 * 引数2  :$arrVal ・・・ Where句の絞込条件値 
     157 * 戻り値  :ブロック情報 
    158158 **************************************************************************************************************/ 
    159159function lfgetBlocData($where = '', $arrVal = ''){ 
    160     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    161     $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ 
    162     $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ 
    163      
    164     // SQLÀ¸À® 
     160    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     161    $sql = "";                      // データ取得SQL生成用 
     162    $arrRet = array();              // データ取得用 
     163     
     164    // SQL生成 
    165165    $sql = " SELECT "; 
    166166    $sql .= "   bloc_id"; 
     
    175175    $sql .= "   dtb_bloc"; 
    176176 
    177     // where¶ç¤Î»ØÄ꤬¤¢¤ì¤ÐÄɲà    
     177    // where句の指定があれば追加   
    178178    if ($where != '') { 
    179179        $sql .= " WHERE " . $where; 
     
    188188 
    189189/************************************************************************************************************** 
    190  * ´Ø¿ô̾   ¡§lfEntryBlocData 
    191  * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ò¹¹¿·¤¹¤ë 
    192  * °ú¿ô1    ¡§$arrData  Ž¥Ž¥Ž¥ ¹¹¿·¥Ç¡¼¥¿ 
    193  * Ìá¤êÃÍ   ¡§¹¹¿··ë²Ì 
     190 * 関数名  :lfEntryBlocData 
     191 * 処理内容 :ブロック情報を更新する 
     192 * 引数1  :$arrData  ・・・ 更新データ 
     193 * 戻り値  :更新結果 
    194194 **************************************************************************************************************/ 
    195195function lfEntryBlocData($arrData){ 
    196     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    197     $sql = "";                      // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ 
    198     $ret = "";                      // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ 
    199     $arrUpdData = array();          // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ 
    200     $arrChk = array();              // ÇÓ¾¥Á¥§¥Ã¥¯ÍÑ 
    201      
    202     // ¹¹¿·¥Ç¡¼¥¿À¸À® 
     196    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     197    $sql = "";                      // データ更新SQL生成用 
     198    $ret = "";                      // データ更新結果格納用 
     199    $arrUpdData = array();          // 更新データ生成用 
     200    $arrChk = array();              // 排他チェック用 
     201     
     202    // 更新データ生成 
    203203    $arrUpdData = array($arrData['bloc_name'], BLOC_DIR . $arrData['filename'] . '.tpl', $arrData['filename']); 
    204204     
    205     // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯¤ò¹Ô¤¦ 
     205    // データが存在しているかチェックを行う 
    206206    if($arrData['bloc_id'] !== ''){ 
    207207        $arrChk = lfgetBlocData("bloc_id = ?", array($arrData['bloc_id'])); 
    208208    } 
    209209     
    210     // bloc_id ¤¬¶õ ¼ã¤·¤¯¤Ï ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤ÏINSERT¤ò¹Ô¤¦ 
     210    // bloc_id が空 若しくは データが存在していない場合にはINSERTを行う 
    211211    if ($arrData['bloc_id'] === '' or !isset($arrChk[0])) { 
    212         // SQLÀ¸À® 
     212        // SQL生成 
    213213        $sql = " INSERT INTO dtb_bloc"; 
    214214        $sql .= " ( "; 
    215         $sql .= "     bloc_name ";      // ¥Ö¥í¥Ã¥¯Ì¾¾Î 
    216         $sql .= "     ,tpl_path ";      // ¥Æ¥ó¥×¥ì¡¼¥ÈÊݸÀè 
    217         $sql .= "     ,filename ";      // ¥Õ¥¡¥¤¥ë̾¾Î 
    218         $sql .= "     ,create_date ";   // ºîÀ®Æü 
    219         $sql .= "     ,update_date ";   // ¹¹¿·Æü 
     215        $sql .= "     bloc_name ";      // ブロック名称 
     216        $sql .= "     ,tpl_path ";      // テンプレート保存先 
     217        $sql .= "     ,filename ";      // ファイル名称 
     218        $sql .= "     ,create_date ";   // 作成日 
     219        $sql .= "     ,update_date ";   // 更新日 
    220220        $sql .= " ) VALUES ( ?,?,?,now(),now() )"; 
    221221        $sql .= " "; 
    222222    }else{ 
    223         // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤ë¾ì¹ç¤Ë¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¦ 
    224         // SQLÀ¸À® 
     223        // データが存在してる場合にはアップデートを行う 
     224        // SQL生成 
    225225        $sql = " UPDATE dtb_bloc"; 
    226226        $sql .= " SET"; 
    227         $sql .= "     bloc_name = ? ";  // ¥Ö¥í¥Ã¥¯Ì¾¾Î 
    228         $sql .= "     ,tpl_path = ? ";  // ¥Æ¥ó¥×¥ì¡¼¥ÈÊݸÀè 
    229         $sql .= "     ,filename = ? ";  // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë̾ 
     227        $sql .= "     bloc_name = ? ";  // ブロック名称 
     228        $sql .= "     ,tpl_path = ? ";  // テンプレート保存先 
     229        $sql .= "     ,filename = ? ";  // テンプレートファイル名 
    230230        $sql .= "     ,update_date = now()"; 
    231231        $sql .= " WHERE bloc_id = ?"; 
    232232        $sql .= " "; 
    233233         
    234         // ¹¹¿·¥Ç¡¼¥¿¤Ë¥Ö¥í¥Ã¥¯ID¤òÄɲà
     234        // 更新データにブロックIDを追加 
    235235        array_push($arrUpdData, $arrData['bloc_id']); 
    236236    } 
    237237     
    238     // SQL¼Â¹Ô 
     238    // SQL実行 
    239239    $ret = $objDBConn->query($sql,$arrUpdData); 
    240240     
     
    244244 
    245245/************************************************************************************************************** 
    246  * ´Ø¿ô̾   ¡§lfErrorCheck 
    247  * ½èÍýÆâÍÆ ¡§ÆþÎϹàÌܤΥ¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦ 
    248  * °ú¿ô1    ¡§$arrData  Ž¥Ž¥Ž¥ ÆþÎϥǡ¼¥¿ 
    249  * Ìá¤êÃÍ   ¡§¥¨¥é¡¼¾ðÊó 
     246 * 関数名  :lfErrorCheck 
     247 * 処理内容 :入力項目のエラーチェックを行う 
     248 * 引数1  :$arrData  ・・・ 入力データ 
     249 * 戻り値  :エラー情報 
    250250 **************************************************************************************************************/ 
    251251function lfErrorCheck($array) { 
     
    253253    $objErr = new SC_CheckError($array); 
    254254     
    255     $objErr->doFunc(array("¥Ö¥í¥Ã¥¯Ì¾", "bloc_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    256     $objErr->doFunc(array("¥Õ¥¡¥¤¥ë̾", "filename", STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "MAX_LENGTH_CHECK","FILE_NAME_CHECK")); 
    257      
    258     // Ʊ°ì¤Î¥Õ¥¡¥¤¥ë̾¤¬Â¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥¨¥é¡¼ 
     255    $objErr->doFunc(array("ブロック名", "bloc_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     256    $objErr->doFunc(array("ファイル名", "filename", STEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "MAX_LENGTH_CHECK","FILE_NAME_CHECK")); 
     257     
     258    // 同一のファイル名が存在している場合にはエラー 
    259259    if(!isset($objErr->arrErr['filename']) and $array['filename'] !== ''){ 
    260260        $arrChk = lfgetBlocData("filename = ?", array($array['filename'])); 
    261261         
    262262        if (count($arrChk[0]) >= 1 and $arrChk[0]['bloc_id'] != $array['bloc_id']) { 
    263             $objErr->arrErr['filename'] = '¢¨ Ʊ¤¸¥Õ¥¡¥¤¥ë̾¤Î¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£Ê̤Î̾¾Î¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£'; 
     263            $objErr->arrErr['filename'] = '※ 同じファイル名のデータが存在しています。別の名称を付けてください。'; 
    264264        } 
    265265    } 
  • branches/feature-module-update/html/admin/design/css.php

    r12157 r15078  
    1717        $this->tpl_subno = "css"; 
    1818        $this->tpl_mainno = "design"; 
    19         $this->tpl_subtitle = 'CSSÊÔ½¸'; 
     19        $this->tpl_subtitle = 'CSS編集'; 
    2020    } 
    2121} 
     
    2424$objView = new SC_AdminView(); 
    2525 
    26 // ǧ¾Ú²ÄÈݤÎȽÄê 
     26// 認証可否の判定 
    2727$objSess = new SC_Session(); 
    2828sfIsSuccess($objSess); 
     
    3030$css_path = USER_PATH . "css/contents.css"; 
    3131 
    32 // ¥Ç¡¼¥¿¹¹¿·½èÍý 
     32// データ更新処理 
    3333if ($_POST['mode'] == 'confirm'){ 
    34     // ¥×¥ì¥Ó¥å¡¼Íѥƥó¥×¥ì¡¼¥È¤Ë½ñ¤­¹þ¤ß    
     34    // プレビュー用テンプレートに書き込み     
    3535    $fp = fopen($css_path,"w"); 
    3636    fwrite($fp, $_POST['css']); 
    3737    fclose($fp); 
    3838     
    39     $objPage->tpl_onload="alert('ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');"; 
     39    $objPage->tpl_onload="alert('登録が完了しました。');"; 
    4040} 
    4141 
    42 // CSS¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß 
     42// CSSファイルの読み込み 
    4343if(file_exists($css_path)){ 
    4444    $css_data = file_get_contents($css_path); 
    4545} 
    4646 
    47 // ¥Æ¥­¥¹¥È¥¨¥ê¥¢¤Ëɽ¼¨ 
     47// テキストエリアに表示 
    4848$objPage->css_data = $css_data; 
    4949 
    50 // ²èÌ̤Îɽ¼¨ 
     50// 画面の表示 
    5151$objView->assignobj($objPage); 
    5252$objView->display(MAIN_FRAME); 
  • branches/feature-module-update/html/admin/design/header.php

    r12157 r15078  
    1818        $this->tpl_subno = "header"; 
    1919        $this->tpl_mainno = "design"; 
    20         $this->tpl_subtitle = '¥Ø¥Ã¥À¡¼Ž¥¥Õ¥Ã¥¿¡¼ÊÔ½¸'; 
     20        $this->tpl_subtitle = 'ヘッダー・フッター編集'; 
    2121        $this->tpl_onload = 'comment_start(); comment_end();'; 
    2222    } 
     
    2626$objView = new SC_AdminView(); 
    2727 
    28 // ǧ¾Ú²ÄÈݤÎȽÄê 
     28// 認証可否の判定 
    2929$objSess = new SC_Session(); 
    3030sfIsSuccess($objSess); 
     
    3333$pre_DIR = USER_INC_PATH . 'preview/'; 
    3434 
    35 // ¥Ç¡¼¥¿¹¹¿·½èÍý 
     35// データ更新処理 
    3636if ($division != ''){ 
    37     // ¥×¥ì¥Ó¥å¡¼Íѥƥó¥×¥ì¡¼¥È¤Ë½ñ¤­¹þ¤ß    
     37    // プレビュー用テンプレートに書き込み     
    3838    $fp = fopen($pre_DIR.$division.'.tpl',"w"); 
    3939    fwrite($fp, $_POST[$division]); 
    4040    fclose($fp); 
    4141 
    42     // ÅÐÏ¿»þ¤Ï¥×¥ì¥Ó¥å¡¼Íѥƥó¥×¥ì¡¼¥È¤ò¥³¥Ô¡¼¤¹¤ë 
     42    // 登録時はプレビュー用テンプレートをコピーする 
    4343    if ($_POST['mode'] == 'confirm'){ 
    4444        copy($pre_DIR.$division.".tpl", USER_INC_PATH . $division . ".tpl"); 
    45         // ´°Î»¥á¥Ã¥»¡¼¥¸¡Ê¥×¥ì¥Ó¥å¡¼»þ¤Ïɽ¼¨¤·¤Ê¤¤¡Ë 
    46         $objPage->tpl_onload="alert('ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');"; 
     45        // 完了メッセージ(プレビュー時は表示しない) 
     46        $objPage->tpl_onload="alert('登録が完了しました。');"; 
    4747         
    48         // ¥Æ¥­¥¹¥È¥¨¥ê¥¢¤ÎÉý¤ò¸µ¤ËÌ᤹(½èÍý¤ÎÅý°ì¤Î¤¿¤á) 
     48        // テキストエリアの幅を元に戻す(処理の統一のため) 
    4949        $_POST['header_row'] = ""; 
    5050        $_POST['footer_row'] = ""; 
     
    5454    } 
    5555 
    56     // ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß(¥×¥ì¥Ó¥å¡¼¥Ç¡¼¥¿) 
     56    // ヘッダーファイルの読み込み(プレビューデータ) 
    5757    $header_data = file_get_contents($pre_DIR . "header.tpl"); 
    5858     
    59     // ¥Õ¥Ã¥¿¡¼¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß(¥×¥ì¥Ó¥å¡¼¥Ç¡¼¥¿) 
     59    // フッターファイルの読み込み(プレビューデータ) 
    6060    $footer_data = file_get_contents($pre_DIR . "footer.tpl"); 
    6161}else{ 
    62     // post¤Ç¥Ç¡¼¥¿¤¬ÅϤµ¤ì¤Ê¤±¤ì¤Ð¿·µ¬Æɤ߹þ¤ß¤ÈȽÃǤò¤·¡¢¥×¥ì¥Ó¥å¡¼Íѥǡ¼¥¿¤òÀµµ¬¤Î¥Ç¡¼¥¿¤Ç¾å½ñ¤­¤¹¤ë 
     62    // postでデータが渡されなければ新規読み込みと判断をし、プレビュー用データを正規のデータで上書きする 
    6363    if (!is_dir($pre_DIR)) { 
    6464        mkdir($pre_DIR); 
     
    6767    copy(USER_INC_PATH . "footer.tpl", $pre_DIR . "footer.tpl"); 
    6868     
    69     // ¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß 
     69    // ヘッダーファイルの読み込み 
    7070    $header_data = file_get_contents(USER_INC_PATH . "header.tpl"); 
    71     // ¥Õ¥Ã¥¿¡¼¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß 
     71    // フッターファイルの読み込み 
    7272    $footer_data = file_get_contents(USER_INC_PATH . "footer.tpl"); 
    7373 
    7474} 
    7575 
    76 // ¥Æ¥­¥¹¥È¥¨¥ê¥¢¤Ëɽ¼¨ 
     76// テキストエリアに表示 
    7777$objPage->header_data = $header_data; 
    7878$objPage->footer_data = $footer_data; 
     
    8686} 
    8787 
    88 // ¥Ö¥é¥¦¥¶¥¿¥¤¥× 
     88// ブラウザタイプ 
    8989$objPage->browser_type = $_POST['browser_type']; 
    9090 
    91 // ²èÌ̤Îɽ¼¨ 
     91// 画面の表示 
    9292$objView->assignobj($objPage); 
    9393$objView->display(MAIN_FRAME); 
  • branches/feature-module-update/html/admin/design/index.php

    r12157 r15078  
    1717        $this->tpl_subno = "layout";         
    1818        $this->tpl_mainno = "design"; 
    19         $this->tpl_subtitle = '¥ì¥¤¥¢¥¦¥ÈÊÔ½¸'; 
     19        $this->tpl_subtitle = 'レイアウト編集'; 
    2020    } 
    2121} 
     
    2525$objSess = new SC_Session(); 
    2626 
    27 // ¥Ú¡¼¥¸ID¤ò¼èÆÀ 
     27// ページIDを取得 
    2828if (isset($_GET['page_id'])) { 
    2929    $page_id = $_GET['page_id']; 
     
    3434} 
    3535 
    36 // ÊÔ½¸²Äǽ¥Ú¡¼¥¸¤ò¼èÆÀ 
     36// 編集可能ページを取得 
    3737$objPage->arrEditPage = lfgetPageData(); 
    3838 
    39 // ¥Ö¥í¥Ã¥¯ÇÛÃÖÍѥǡ¼¥¿¤ò¼èÆÀ 
     39// ブロック配置用データを取得 
    4040$sel   = ", pos.target_id, pos.bloc_id, pos.bloc_row "; 
    4141$from  = ", dtb_blocposition AS pos"; 
     
    4646$arrBlocPos = lfgetLayoutData($sel, $from, $where, $arrData ); 
    4747 
    48 // ¥Ç¡¼¥¿¤Î¸ºß¥Á¥§¥Ã¥¯¤ò¹Ô¤¦ 
     48// データの存在チェックを行う 
    4949$arrPageData = lfgetPageData("page_id = ?", array($page_id)); 
    5050if (count($arrPageData) <= 0) { 
     
    5555$objPage->exists_page = $exists_page; 
    5656 
    57 // ¥á¥Ã¥»¡¼¥¸É½¼¨ 
     57// メッセージ表示 
    5858if ($_GET['msg'] == "on") { 
    59     $objPage->complate_msg="alert('ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');"; 
    60 } 
    61  
    62 // ¥Ö¥í¥Ã¥¯¤ò¼èÆÀ 
     59    $objPage->complate_msg="alert('登録が完了しました。');"; 
     60} 
     61 
     62// ブロックを取得 
    6363$arrBloc = lfgetBlocData(); 
    6464 
    65 // ¿·µ¬¥Ö¥í¥Ã¥¯ºîÀ® 
     65// 新規ブロック作成 
    6666if ($_POST['mode'] == 'new_bloc') { 
    6767    header("location: ./bloc.php"); 
    6868} 
    6969 
    70 // ¿·µ¬¥Ú¡¼¥¸ºîÀ® 
     70// 新規ページ作成 
    7171if ($_POST['mode'] == 'new_page') { 
    7272    header("location: ./main_edit.php"); 
    7373} 
    7474 
    75 // ¥Ç¡¼¥¿ÅÐÏ¿½èÍý 
     75// データ登録処理 
    7676if ($_POST['mode'] == 'confirm' or $_POST['mode'] == 'preview') { 
    7777     
     
    8383    } 
    8484     
    85     // ¹¹¿·ÍѤ˥ǡ¼¥¿¤òÀ°¤¨¤ë 
     85    // 更新用にデータを整える 
    8686    $arrUpdBlocData = array(); 
    8787    $arrTargetFlip = array_flip($arrTarget); 
     
    9090    $arrUpdData[$upd_cnt]['page_id'] = $_POST['page_id']; 
    9191     
    92     // POST¤Î¥Ç¡¼¥¿¤ò»È¤¤¤ä¤¹¤¤¤è¤¦¤Ë½¤Àµ 
     92    // POSTのデータを使いやすいように修正 
    9393    for($upd_cnt = 1; $upd_cnt <= $_POST['bloc_cnt']; $upd_cnt++){ 
    9494        if (!isset($_POST['id_'.$upd_cnt])) { 
    9595            break; 
    9696        } 
    97         $arrUpdBlocData[$upd_cnt]['name']       = $_POST['name_'.$upd_cnt];                         // ¥Ö¥í¥Ã¥¯Ì¾¾Î 
    98         $arrUpdBlocData[$upd_cnt]['id']         = $_POST['id_'.$upd_cnt];                           // ¥Ö¥í¥Ã¥¯ID  
    99         $arrUpdBlocData[$upd_cnt]['target_id']  = $arrTargetFlip[$_POST['target_id_'.$upd_cnt]];    // ¥¿¡¼¥²¥Ã¥ÈID 
    100         $arrUpdBlocData[$upd_cnt]['top']        = $_POST['top_'.$upd_cnt];                          // TOPºÂɸ 
    101         $arrUpdBlocData[$upd_cnt]['update_url'] = $_SERVER['HTTP_REFERER'];                         // ¹¹¿·URL 
    102     } 
    103  
    104     // ¥Ç¡¼¥¿¤Î¹¹¿·¤ò¹Ô¤¦ 
    105     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    106     $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ 
    107      
    108     // delete¼Â¹Ô 
     97        $arrUpdBlocData[$upd_cnt]['name']       = $_POST['name_'.$upd_cnt];                         // ブロック名称 
     98        $arrUpdBlocData[$upd_cnt]['id']         = $_POST['id_'.$upd_cnt];                           // ブロックID  
     99        $arrUpdBlocData[$upd_cnt]['target_id']  = $arrTargetFlip[$_POST['target_id_'.$upd_cnt]];    // ターゲットID 
     100        $arrUpdBlocData[$upd_cnt]['top']        = $_POST['top_'.$upd_cnt];                          // TOP座標 
     101        $arrUpdBlocData[$upd_cnt]['update_url'] = $_SERVER['HTTP_REFERER'];                         // 更新URL 
     102    } 
     103 
     104    // データの更新を行う 
     105    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     106    $arrRet = array();              // データ取得用 
     107     
     108    // delete実行 
    109109    $del_sql = ""; 
    110110    $del_sql .= "DELETE FROM dtb_blocposition WHERE page_id = ? "; 
    111111    $arrRet = $objDBConn->query($del_sql,array($page_id)); 
    112112     
    113     // ¥Ö¥í¥Ã¥¯¤Î½ç½ø¤ò¼èÆÀ¤·¡¢¹¹¿·¤ò¹Ô¤¦ 
     113    // ブロックの順序を取得し、更新を行う 
    114114    foreach($arrUpdBlocData as $key => $val){ 
    115         // ¥Ö¥í¥Ã¥¯¤Î½ç½ø¤ò¼èÆÀ 
     115        // ブロックの順序を取得 
    116116        $bloc_row = lfGetRowID($arrUpdBlocData, $val); 
    117117        $arrUpdBlocData[$key]['bloc_row'] = $bloc_row; 
    118         $arrUpdBlocData[$key]['page_id']    = $_POST['page_id'];    // ¥Ú¡¼¥¸ID 
     118        $arrUpdBlocData[$key]['page_id']    = $_POST['page_id'];    // ページID 
    119119         
    120120        if ($arrUpdBlocData[$key]['target_id'] == 5) { 
     
    122122        } 
    123123         
    124         // insertʸÀ¸À® 
     124        // insert文生成 
    125125        $ins_sql = ""; 
    126126        $ins_sql .= "INSERT INTO dtb_blocposition "; 
    127127        $ins_sql .= " values ( "; 
    128         $ins_sql .= "   ?  ";           // ¥Ú¡¼¥¸ID 
    129         $ins_sql .= "   ,? ";           // ¥¿¡¼¥²¥Ã¥ÈID 
    130         $ins_sql .= "   ,? ";           // ¥Ö¥í¥Ã¥¯ID 
    131         $ins_sql .= "   ,? ";           // ¥Ö¥í¥Ã¥¯¤Îʤӽç½ø 
    132         $ins_sql .= "   ,(SELECT filename FROM dtb_bloc WHERE bloc_id = ?) ";           // ¥Õ¥¡¥¤¥ë̾¾Î 
     128        $ins_sql .= "   ?  ";           // ページID 
     129        $ins_sql .= "   ,? ";           // ターゲットID 
     130        $ins_sql .= "   ,? ";           // ブロックID 
     131        $ins_sql .= "   ,? ";           // ブロックの並び順序 
     132        $ins_sql .= "   ,(SELECT filename FROM dtb_bloc WHERE bloc_id = ?) ";           // ファイル名称 
    133133        $ins_sql .= "   )  "; 
    134134 
    135         // insert¥Ç¡¼¥¿À¸À® 
     135        // insertデータ生成 
    136136        $arrInsData = array($page_id, 
    137137                             $arrUpdBlocData[$key]['target_id'], 
     
    140140                             $arrUpdBlocData[$key]['id'] 
    141141                            ); 
    142         // SQL¼Â¹Ô 
     142        // SQL実行 
    143143        $arrRet = $objDBConn->query($ins_sql,$arrInsData); 
    144144    } 
    145145 
    146     // ¥×¥ì¥Ó¥å¡¼½èÍý 
     146    // プレビュー処理 
    147147    if ($_POST['mode'] == 'preview') { 
    148148        if ($page_id === "") { 
     
    158158} 
    159159 
    160 // ¥Ç¡¼¥¿ºï½ü½èÍý ¥Ù¡¼¥¹¥Ç¡¼¥¿¤Ç¤Ê¤±¤ì¤Ð¥Õ¥¡¥¤¥ë¤òºï½ü 
     160// データ削除処理 ベースデータでなければファイルを削除 
    161161if ($_POST['mode'] == 'delete' and  !lfCheckBaseData($page_id)) { 
    162162    lfDelPageData($page_id); 
    163163} 
    164164 
    165 // ¥Ö¥í¥Ã¥¯¾ðÊó¤ò²èÌÌÇÛÃÖÍѤËÊÔ½¸ 
     165// ブロック情報を画面配置用に編集 
    166166$tpl_arrBloc = array(); 
    167167$cnt = 0; 
    168 // »ÈÍѤµ¤ì¤Æ¤¤¤ë¥Ö¥í¥Ã¥¯¥Ç¡¼¥¿¤òÀ¸À® 
     168// 使用されているブロックデータを生成 
    169169foreach($arrBlocPos as $key => $val){ 
    170170    if ($val['page_id'] == $page_id) { 
     
    174174} 
    175175 
    176 // ̤»ÈÍѤΥ֥í¥Ã¥¯¥Ç¡¼¥¿¤òÄɲà
     176// 未使用のブロックデータを追加 
    177177foreach($arrBloc as $key => $val){ 
    178178    if (!lfChkBloc($val, $tpl_arrBloc)) { 
    179         $val['target_id'] = 5;  // ̤»ÈÍѤËÄɲ乤ë 
     179        $val['target_id'] = 5;  // 未使用に追加する 
    180180        $tpl_arrBloc = lfSetBlocData($arrBloc, $val, $tpl_arrBloc, $cnt); 
    181181        $cnt++; 
     
    187187$objPage->page_id = $page_id; 
    188188 
    189 // ¥Ú¡¼¥¸Ì¾¾Î¤ò¼èÆÀ 
     189// ページ名称を取得 
    190190$arrPageData = lfgetPageData(' page_id = ?', array($page_id)); 
    191191$objPage->arrPageData = $arrPageData[0]; 
    192192 
    193 // ǧ¾Ú²ÄÈݤÎȽÄê 
     193// 認証可否の判定 
    194194$objSess = new SC_Session(); 
    195195sfIsSuccess($objSess); 
     
    206206$objPage->errCnt = $errCnt; 
    207207 
    208 // ²èÌ̤Îɽ¼¨ 
     208// 画面の表示 
    209209$objView->assignobj($objPage); 
    210210$objView->display(MAIN_FRAME); 
     
    213213 
    214214/************************************************************************************************************** 
    215  * ´Ø¿ô̾   ¡§lfgetLayoutData 
    216  * ½èÍýÆâÍÆ ¡§ÊÔ½¸²Äǽ¤Ê¥Ú¡¼¥¸¾ðÊó¤ò¼èÆÀ¤¹¤ë 
    217  * °ú¿ô1    ¡§$sel    Ž¥Ž¥Ž¥ Select¶çʸ 
    218  * °ú¿ô2    ¡§$where  Ž¥Ž¥Ž¥ Where¶çʸ 
    219  * °ú¿ô3    ¡§$arrVal Ž¥Ž¥Ž¥ Where¶ç¤Î¹Ê¹þ¾ò·ïÃÍ 
    220  * Ìá¤êÃÍ   ¡§¥Ú¡¼¥¸¥ì¥¤¥¢¥¦¥È¾ðÊó 
     215 * 関数名  :lfgetLayoutData 
     216 * 処理内容 :編集可能なページ情報を取得する 
     217 * 引数1  :$sel    ・・・ Select句文 
     218 * 引数2  :$where  ・・・ Where句文 
     219 * 引数3  :$arrVal ・・・ Where句の絞込条件値 
     220 * 戻り値  :ページレイアウト情報 
    221221 **************************************************************************************************************/ 
    222222function lfgetLayoutData($sel = '' , $from = '', $where = '', $arrVal = ''){ 
    223     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    224     $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ 
    225     $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ 
    226      
    227     // SQLÀ¸À® 
     223    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     224    $sql = "";                      // データ取得SQL生成用 
     225    $arrRet = array();              // データ取得用 
     226     
     227    // SQL生成 
    228228 
    229229    $sql = ""; 
     
    239239    $sql .= "     ,lay.update_date "; 
    240240     
    241     // Select¶ç¤Î»ØÄ꤬¤¢¤ì¤ÐÄɲà   
     241    // Select句の指定があれば追加  
    242242    if ($sel != '') { 
    243243        $sql .= $sel; 
     
    245245     
    246246    $sql .= " from dtb_pagelayout AS lay "; 
    247     // From¶ç¤Î»ØÄ꤬¤¢¤ì¤ÐÄɲà  
     247    // From句の指定があれば追加    
    248248    if ($from != '') { 
    249249        $sql .= $from; 
    250250    } 
    251251 
    252     // where¶ç¤Î»ØÄ꤬¤¢¤ì¤ÐÄɲà    
     252    // where句の指定があれば追加   
    253253    if ($where != '') { 
    254254        $sql .= $where; 
     
    263263 
    264264/************************************************************************************************************** 
    265  * ´Ø¿ô̾   ¡§lfgetBlocData 
    266  * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ò¼èÆÀ¤¹¤ë 
    267  * °ú¿ô1    ¡§$where  Ž¥Ž¥Ž¥ Where¶çʸ 
    268  * °ú¿ô2    ¡§$arrVal Ž¥Ž¥Ž¥ Where¶ç¤Î¹Ê¹þ¾ò·ïÃÍ 
    269  * Ìá¤êÃÍ   ¡§¥Ö¥í¥Ã¥¯¾ðÊó 
     265 * 関数名  :lfgetBlocData 
     266 * 処理内容 :ブロック情報を取得する 
     267 * 引数1  :$where  ・・・ Where句文 
     268 * 引数2  :$arrVal ・・・ Where句の絞込条件値 
     269 * 戻り値  :ブロック情報 
    270270 **************************************************************************************************************/ 
    271271function lfgetBlocData($where = '', $arrVal = ''){ 
    272     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    273     $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ 
    274     $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ 
    275      
    276     // SQLÀ¸À® 
     272    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     273    $sql = "";                      // データ取得SQL生成用 
     274    $arrRet = array();              // データ取得用 
     275     
     276    // SQL生成 
    277277    $sql = ""; 
    278278    $sql .= " SELECT "; 
     
    285285    $sql .= "   dtb_bloc"; 
    286286 
    287     // where¶ç¤Î»ØÄ꤬¤¢¤ì¤ÐÄɲà    
     287    // where句の指定があれば追加   
    288288    if ($where != '') { 
    289289        $sql .= " WHERE " . $where; 
     
    298298 
    299299/************************************************************************************************************** 
    300  * ´Ø¿ô̾   ¡§lfSetBlocData 
    301  * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ÎÇÛÎó¤òÀ¸À®¤¹¤ë 
    302  * °ú¿ô1    ¡§$arrBloc      Ž¥Ž¥Ž¥ Bloc¾ðÊó 
    303  * °ú¿ô2    ¡§$tpl_arrBloc  Ž¥Ž¥Ž¥ ¥Ç¡¼¥¿¤ò¥»¥Ã¥È¤¹¤ëÇÛÎó 
    304  * °ú¿ô3    ¡§$cnt          Ž¥Ž¥Ž¥ ÇÛÎóÈÖ¹æ 
    305  * Ìá¤êÃÍ   ¡§¥Ç¡¼¥¿¤ò¥»¥Ã¥È¤·¤¿ÇÛÎó 
     300 * 関数名  :lfSetBlocData 
     301 * 処理内容 :ブロック情報の配列を生成する 
     302 * 引数1  :$arrBloc       ・・・ Bloc情報 
     303 * 引数2  :$tpl_arrBloc   ・・・ データをセットする配列 
     304 * 引数3  :$cnt           ・・・ 配列番号 
     305 * 戻り値  :データをセットした配列 
    306306 **************************************************************************************************************/ 
    307307function lfSetBlocData($arrBloc, $val, $tpl_arrBloc, $cnt) { 
     
    324324 
    325325/************************************************************************************************************** 
    326  * ´Ø¿ô̾   ¡§lfChkBloc 
    327  * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯ID¤¬ÇÛÎó¤ËÄɲ䵤ì¤Æ¤¤¤ë¤«¤Î¥Á¥§¥Ã¥¯¤ò¹Ô¤¦ 
    328  * °ú¿ô1    ¡§$arrBloc    Ž¥Ž¥Ž¥ Bloc¾ðÊó 
    329  * °ú¿ô2    ¡§$arrChkData Ž¥Ž¥Ž¥ ¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¥Ç¡¼¥¿ÇÛÎó 
    330  * Ìá¤êÃÍ   ¡§True  Ž¥Ž¥Ž¥ ¸ºß¤¹¤ë 
    331  *          ¡¡False Ž¥Ž¥Ž¥ ¸ºß¤·¤Ê¤¤ 
     326 * 関数名  :lfChkBloc 
     327 * 処理内容 :ブロックIDが配列に追加されているかのチェックを行う 
     328 * 引数1  :$arrBloc    ・・・ Bloc情報 
     329 * 引数2  :$arrChkData ・・・ チェックを行うデータ配列 
     330 * 戻り値  :True   ・・・ 存在する 
     331 *           False  ・・・ 存在しない 
    332332 **************************************************************************************************************/ 
    333333function lfChkBloc($arrBloc, $arrChkData) { 
    334334    foreach($arrChkData as $key => $val){ 
    335335        if ($val['bloc_id'] === $arrBloc['bloc_id'] ) { 
    336             // ÇÛÎó¤Ë¸ºß¤¹¤ì¤ÐTrue¤òÊÖ¤¹ 
     336            // 配列に存在すればTrueを返す 
    337337            return true; 
    338338        } 
    339339    } 
    340340     
    341     // ÇÛÎó¤Ë¸ºß¤·¤Ê¤±¤ì¤ÐFlase¤òÊÖ¤¹ 
     341    // 配列に存在しなければFlaseを返す 
    342342    return false; 
    343343} 
    344344 
    345345/************************************************************************************************************** 
    346  * ´Ø¿ô̾   ¡§lfGetRowID 
    347  * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯ID¤¬²¿ÈÖÌܤËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë 
    348  * °ú¿ô1    ¡§$arrUpdData   Ž¥Ž¥Ž¥ ¹¹¿·¾ðÊó 
    349  * °ú¿ô2    ¡§$arrObj       Ž¥Ž¥Ž¥ ¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¥Ç¡¼¥¿ÇÛÎó 
    350  * Ìá¤êÃÍ   ¡§½çÈÖ 
     346 * 関数名  :lfGetRowID 
     347 * 処理内容 :ブロックIDが何番目に配置されているかを調べる 
     348 * 引数1  :$arrUpdData   ・・・ 更新情報 
     349 * 引数2  :$arrObj        ・・・ チェックを行うデータ配列 
     350 * 戻り値  :順番 
    351351 **************************************************************************************************************/ 
    352352function lfGetRowID($arrUpdData, $arrObj){ 
    353     $no = 0; // ¥«¥¦¥ó¥ÈÍÑ¡ÊƱ¤¸¥Ç¡¼¥¿¤¬É¬¤º1·ï¤¢¤ë¤Î¤Ç¡¢½é´üÃͤÏ0¡Ë 
    354      
    355     // Âоݥǡ¼¥¿¤¬²¿ÈÖÌܤËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¤Î¤«¤ò¼èÆÀ¤¹¤ë¡£ 
     353    $no = 0; // カウント用(同じデータが必ず1件あるので、初期値は0) 
     354     
     355    // 対象データが何番目に配置されているのかを取得する。 
    356356    foreach ($arrUpdData as $key => $val) { 
    357357        if ($val['target_id'] === $arrObj['target_id'] and $val['top'] <= $arrObj['top']){ 
     
    359359        } 
    360360    } 
    361     // ÈÖ¹æ¤òÊÖ¤¹ 
     361    // 番号を返す 
    362362    return $no; 
    363363} 
    364364 
    365365/************************************************************************************************************** 
    366  * ´Ø¿ô̾   ¡§lfGetRowID 
    367  * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯ID¤¬²¿ÈÖÌܤËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë 
    368  * °ú¿ô1    ¡§$arrUpdData   Ž¥Ž¥Ž¥ ¹¹¿·¾ðÊó 
    369  * °ú¿ô2    ¡§$arrObj       Ž¥Ž¥Ž¥ ¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¥Ç¡¼¥¿ÇÛÎó 
    370  * Ìá¤êÃÍ   ¡§½çÈÖ 
     366 * 関数名  :lfGetRowID 
     367 * 処理内容 :ブロックIDが何番目に配置されているかを調べる 
     368 * 引数1  :$arrUpdData   ・・・ 更新情報 
     369 * 引数2  :$arrObj        ・・・ チェックを行うデータ配列 
     370 * 戻り値  :順番 
    371371 **************************************************************************************************************/ 
    372372function lfSetPreData($arrPageData){ 
    373     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    374     $sql = "";                      // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ 
    375     $ret = "";                      // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ 
    376     $arrUpdData = array();          // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ 
     373    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     374    $sql = "";                      // データ更新SQL生成用 
     375    $ret = "";                      // データ更新結果格納用 
     376    $arrUpdData = array();          // 更新データ生成用 
    377377    $filename = uniqid(""); 
    378378 
    379379    $arrPreData = lfgetPageData(" page_id = ? " , array("0")); 
    380380 
    381     // tpl¥Õ¥¡¥¤¥ë¤Îºï½ü 
     381    // tplファイルの削除 
    382382    $del_tpl = USER_PATH . "templates/" . $arrPreData[0]['filename'] . '.tpl'; 
    383383    if (file_exists($del_tpl)){ 
     
    385385    } 
    386386     
    387     // ¥×¥ì¥Ó¥å¡¼ÍÑtpl¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼ 
     387    // プレビュー用tplファイルのコピー 
    388388    $tplfile = $arrPageData[0]['tpl_dir'] . $arrPageData[0]['filename']; 
    389389     
    390390    if($tplfile == ""){ 
    391         // tpl¥Õ¥¡¥¤¥ë¤¬¶õ¤Î¾ì¹ç¤Ë¤ÏMY¥Ú¡¼¥¸¤ÈȽÃÇ 
     391        // tplファイルが空の場合にはMYページと判断 
    392392        $tplfile = "user_data/templates/mypage/index"; 
    393393    } 
    394394    copy(HTML_PATH . $tplfile . ".tpl", USER_PATH . "templates/" . $filename . ".tpl"); 
    395395     
    396     // ¹¹¿·¥Ç¡¼¥¿¤Î¼èÆÀ 
     396    // 更新データの取得 
    397397    $sql = "select page_name, header_chk, footer_chk from dtb_pagelayout where page_id = ?"; 
    398398    $ret = $objDBConn->getAll($sql, array($arrPageData[0]['page_id'])); 
    399399 
    400     // db¥Ç¡¼¥¿¤Î¥³¥Ô¡¼ 
     400    // dbデータのコピー 
    401401    $sql = " update dtb_pagelayout set "; 
    402402    $sql .= "     page_name = ?"; 
  • branches/feature-module-update/html/admin/design/main_edit.php

    r12157 r15078  
    1919        $this->tpl_subno = "main_edit"; 
    2020        $this->tpl_mainno = "design"; 
    21         $this->tpl_subtitle = '¥Ú¡¼¥¸¾ÜºÙÀßÄê'; 
     21        $this->tpl_subtitle = 'ページ詳細設定'; 
    2222    } 
    2323} 
     
    2525$objView = new SC_AdminView(); 
    2626 
    27 // ǧ¾Ú²ÄÈݤÎȽÄê 
     27// 認証可否の判定 
    2828$objSess = new SC_Session(); 
    2929sfIsSuccess($objSess); 
    3030 
    31 // ¥Ú¡¼¥¸°ìÍ÷¤ò¼èÆÀ 
     31// ページ一覧を取得 
    3232$objPage->arrPageList = lfgetPageData(); 
    3333 
    34 // ¥Ö¥í¥Ã¥¯ID¤ò¼èÆÀ 
     34// ブロックIDを取得 
    3535if (isset($_POST['page_id'])) { 
    3636    $page_id = $_POST['page_id']; 
     
    4343$objPage->page_id = $page_id; 
    4444 
    45 // ¥á¥Ã¥»¡¼¥¸É½¼¨ 
     45// メッセージ表示 
    4646if ($_GET['msg'] == "on"){ 
    47     $objPage->tpl_onload="alert('ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');"; 
    48 } 
    49  
    50 // page_id ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤Î¼èÆÀ 
     47    $objPage->tpl_onload="alert('登録が完了しました。');"; 
     48} 
     49 
     50// page_id が指定されている場合にはテンプレートデータの取得 
    5151if (is_numeric($page_id) and $page_id != '') { 
    5252    $arrPageData = lfgetPageData(" page_id = ? " , array($page_id)); 
    5353 
    5454    if ($arrPageData[0]['tpl_dir'] === "") { 
    55         $objPage->arrErr['page_id_err'] = "¢¨ »ØÄꤵ¤ì¤¿¥Ú¡¼¥¸¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£"; 
    56         // ²èÌ̤Îɽ¼¨ 
     55        $objPage->arrErr['page_id_err'] = "※ 指定されたページは編集できません。"; 
     56        // 画面の表示 
    5757        $objView->assignobj($objPage); 
    5858        $objView->display(MAIN_FRAME); 
     
    6060    } 
    6161 
    62     // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Æ¤¤¤ì¤ÐÆɤ߹þ¤à 
     62    // テンプレートファイルが存在していれば読み込む 
    6363    $tpl_file = HTML_PATH . $arrPageData[0]['tpl_dir'] . $arrPageData[0]['filename'] . ".tpl"; 
    6464    if (file_exists($tpl_file)){ 
     
    6666    } 
    6767 
    68     // ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤ÎÃÍÊѹ¹ 
     68    // チェックボックスの値変更 
    6969    $arrPageData[0]['header_chk'] = sfChangeCheckBox($arrPageData[0]['header_chk'], true); 
    7070    $arrPageData[0]['footer_chk'] = sfChangeCheckBox($arrPageData[0]['footer_chk'], true); 
    7171 
    72     // ¥Ç¥£¥ì¥¯¥È¥ê¤ò²èÌÌɽ¼¨ÍѤËÊÔ½¸ 
     72    // ディレクトリを画面表示用に編集 
    7373    $arrPageData[0]['directory'] = str_replace( USER_DIR,'', $arrPageData[0]['php_dir']); 
    7474     
     
    7676} 
    7777 
    78 // ¥×¥ì¥Ó¥å¡¼½èÍý 
     78// プレビュー処理 
    7979if ($_POST['mode'] == 'preview') { 
    8080     
     
    8888    $arrPreData = lfgetPageData(" page_id = ? " , array($page_id)); 
    8989 
    90     // tpl¥Õ¥¡¥¤¥ë¤Îºï½ü 
     90    // tplファイルの削除 
    9191    $del_tpl = USER_PATH . "templates/" . $arrPreData[0]['filename'] . '.tpl'; 
    9292    if (file_exists($del_tpl)){ 
     
    9494    } 
    9595 
    96     // DB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë 
     96    // DBへデータを更新する 
    9797    lfEntryPageData($_POST); 
    9898 
    99     // TPL¥Õ¥¡¥¤¥ëºîÀ® 
     99    // TPLファイル作成 
    100100    $cre_tpl = USER_PATH . "templates/" . $url . '.tpl'; 
    101101    lfCreateFile($cre_tpl); 
    102102     
    103     // blocposition ¤òºï½ü 
    104     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
     103    // blocposition を削除 
     104    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
    105105    $sql = 'delete from dtb_blocposition where page_id = 0'; 
    106106    $ret = $objDBConn->query($sql); 
    107107     
    108108    if ($page_id_old != "") { 
    109         // ÅÐÏ¿¥Ç¡¼¥¿¤ò¼èÆÀ 
     109        // 登録データを取得 
    110110        $sql = "SELECT 0, target_id, bloc_id, bloc_row FROM dtb_blocposition WHERE page_id = ?"; 
    111111        $ret = $objDBConn->getAll($sql,array($page_id_old)); 
     
    113113        if (count($ret) > 0) { 
    114114             
    115             // blocposition ¤òÊ£À½ 
     115            // blocposition を複製 
    116116            $sql = " insert into dtb_blocposition ("; 
    117117            $sql .= "     page_id,"; 
     
    121121            $sql .= "     )values(?, ?, ?, ?)"; 
    122122             
    123             // ¼èÆÀ·ï¿ôʸINSERT¼Â¹Ô 
     123            // 取得件数文INSERT実行 
    124124            foreach($ret as $key => $val){ 
    125125                $ret = $objDBConn->query($sql,$val); 
     
    134134} 
    135135 
    136 // ¥Ç¡¼¥¿ÅÐÏ¿½èÍý 
     136// データ登録処理 
    137137if ($_POST['mode'] == 'confirm') { 
    138138     
    139     // ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     139    // エラーチェック 
    140140    $objPage->arrErr = lfErrorCheck($_POST); 
    141141 
    142     // ¥¨¥é¡¼¤¬¤Ê¤±¤ì¤Ð¹¹¿·½èÍý¤ò¹Ô¤¦    
     142    // エラーがなければ更新処理を行う   
    143143    if (count($objPage->arrErr) == 0) { 
    144144 
    145         // DB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤¹¤ë 
     145        // DBへデータを更新する 
    146146        lfEntryPageData($_POST); 
    147147         
    148         // ¥Ù¡¼¥¹¥Ç¡¼¥¿¤Ç¤Ê¤±¤ì¤Ð¥Õ¥¡¥¤¥ë¤òºï½ü¤·¡¢PHP¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë 
     148        // ベースデータでなければファイルを削除し、PHPファイルを作成する 
    149149        if (!lfCheckBaseData($page_id)) { 
    150             // ¥Õ¥¡¥¤¥ëºï½ü 
     150            // ファイル削除 
    151151            lfDelFile($arrPageData[0]); 
    152152             
    153             // PHP¥Õ¥¡¥¤¥ëºîÀ® 
     153            // PHPファイル作成 
    154154            $cre_php = USER_PATH . $_POST['url'] . ".php"; 
    155155            lfCreatePHPFile($cre_php); 
    156156        } 
    157157 
    158         // TPL¥Õ¥¡¥¤¥ëºîÀ® 
     158        // TPLファイル作成 
    159159        $cre_tpl = dirname(USER_PATH . "templates/" . $_POST['url']) . "/" . basename($_POST['url']) . '.tpl'; 
    160160 
    161161        lfCreateFile($cre_tpl); 
    162162 
    163         // ÊÔ½¸²Äǽ¥Ú¡¼¥¸¤Î¾ì¹ç¤Ë¤Î¤ß½èÍý¤ò¹Ô¤¦ 
     163        // 編集可能ページの場合にのみ処理を行う 
    164164        if ($arrPageData[0]['edit_flg'] != 2) { 
    165             // ¿·µ¬ºîÀ®¤·¤¿¾ì¹ç¤Î¤¿¤á¤Ë²þ¤Ë¥Ú¡¼¥¸ID¤ò¼èÆÀ¤¹¤ë 
     165            // 新規作成した場合のために改にページIDを取得する 
    166166            $arrPageData = lfgetPageData(" url = ? " , array(USER_URL.$_POST['url'].".php")); 
    167167            $page_id = $arrPageData[0]['page_id']; 
     
    170170        header("location: ./main_edit.php?page_id=$page_id&msg=on"); 
    171171    }else{ 
    172         // ¥¨¥é¡¼¤¬¤¢¤ì¤ÐÆþÎÏ»þ¤Î¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë 
     172        // エラーがあれば入力時のデータを表示する 
    173173        $objPage->arrPageData = $_POST; 
    174174        $objPage->arrPageData['header_chk'] = sfChangeCheckBox(sfChangeCheckBox($_POST['header_chk']), true); 
     
    179179} 
    180180 
    181 // ¥Ç¡¼¥¿ºï½ü½èÍý ¥Ù¡¼¥¹¥Ç¡¼¥¿¤Ç¤Ê¤±¤ì¤Ð¥Õ¥¡¥¤¥ë¤òºï½ü 
     181// データ削除処理 ベースデータでなければファイルを削除 
    182182if ($_POST['mode'] == 'delete' and  !lfCheckBaseData($page_id)) { 
    183183    lfDelPageData($_POST['page_id']); 
    184184} 
    185185 
    186 // ²èÌ̤Îɽ¼¨ 
     186// 画面の表示 
    187187$objView->assignobj($objPage); 
    188188$objView->display(MAIN_FRAME); 
     
    190190//--------------------------------------------------------------------------------------------------------------------------------------------------------- 
    191191/************************************************************************************************************** 
    192  * ´Ø¿ô̾   ¡§lfEntryPageData 
    193  * ½èÍýÆâÍÆ ¡§¥Ö¥í¥Ã¥¯¾ðÊó¤ò¹¹¿·¤¹¤ë 
    194  * °ú¿ô1    ¡§$arrData  Ž¥Ž¥Ž¥ ¹¹¿·¥Ç¡¼¥¿ 
    195  * Ìá¤êÃÍ   ¡§¹¹¿··ë²Ì 
     192 * 関数名  :lfEntryPageData 
     193 * 処理内容 :ブロック情報を更新する 
     194 * 引数1  :$arrData  ・・・ 更新データ 
     195 * 戻り値  :更新結果 
    196196 **************************************************************************************************************/ 
    197197function lfEntryPageData($arrData){ 
    198     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    199     $sql = "";                      // ¥Ç¡¼¥¿¹¹¿·SQLÀ¸À®ÍÑ 
    200     $ret = "";                      // ¥Ç¡¼¥¿¹¹¿··ë²Ì³ÊǼÍÑ 
    201     $arrUpdData = array();          // ¹¹¿·¥Ç¡¼¥¿À¸À®ÍÑ 
    202     $arrChk = array();              // ÇÓ¾¥Á¥§¥Ã¥¯ÍÑ 
    203  
    204     // ¹¹¿·¥Ç¡¼¥¿À¸À® 
     198    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     199    $sql = "";                      // データ更新SQL生成用 
     200    $ret = "";                      // データ更新結果格納用 
     201    $arrUpdData = array();          // 更新データ生成用 
     202    $arrChk = array();              // 排他チェック用 
     203 
     204    // 更新データ生成 
    205205    $arrUpdData = lfGetUpdData($arrData); 
    206206     
    207     // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯¤ò¹Ô¤¦ 
     207    // データが存在しているかチェックを行う 
    208208    if($arrData['page_id'] !== ''){ 
    209209        $arrChk = lfgetPageData(" page_id = ?", array($arrData['page_id'])); 
    210210    } 
    211211 
    212     // page_id ¤¬¶õ ¼ã¤·¤¯¤Ï ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤ÏINSERT¤ò¹Ô¤¦ 
     212    // page_id が空 若しくは データが存在していない場合にはINSERTを行う 
    213213    if ($arrData['page_id'] === '' or !isset($arrChk[0])) { 
    214         // SQLÀ¸À® 
     214        // SQL生成 
    215215        $sql = " INSERT INTO dtb_pagelayout "; 
    216216        $sql .= " ( "; 
     
    228228        $sql .= " "; 
    229229    }else{ 
    230         // ¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤ë¾ì¹ç¤Ë¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¦ 
    231         // SQLÀ¸À® 
     230        // データが存在してる場合にはアップデートを行う 
     231        // SQL生成 
    232232        $sql = " UPDATE dtb_pagelayout "; 
    233233        $sql .= " SET"; 
     
    244244        $sql .= " "; 
    245245 
    246         // ¹¹¿·¥Ç¡¼¥¿¤Ë¥Ö¥í¥Ã¥¯ID¤òÄɲà
     246        // 更新データにブロックIDを追加 
    247247        array_push($arrUpdData, $arrData['page_id']); 
    248248    } 
    249249 
    250     // SQL¼Â¹Ô 
     250    // SQL実行 
    251251    $ret = $objDBConn->query($sql,$arrUpdData); 
    252252     
     
    255255 
    256256/************************************************************************************************************** 
    257  * ´Ø¿ô̾   ¡§lfGetUpdData 
    258  * ½èÍýÆâÍÆ ¡§DB¤Ø¹¹¿·¤ò¹Ô¤¦¥Ç¡¼¥¿¤òÀ¸À®¤¹¤ë 
    259  * °ú¿ô1    ¡§$arrData  Ž¥Ž¥Ž¥ ¹¹¿·¥Ç¡¼¥¿ 
    260  * Ìá¤êÃÍ   ¡§¹¹¿·¥Ç¡¼¥¿ 
     257 * 関数名  :lfGetUpdData 
     258 * 処理内容 :DBへ更新を行うデータを生成する 
     259 * 引数1  :$arrData  ・・・ 更新データ 
     260 * 戻り値  :更新データ 
    261261 **************************************************************************************************************/ 
    262262function lfGetUpdData($arrData){ 
    263263     
    264     // ¥Ù¡¼¥¹¥Ç¡¼¥¿¤Î¾ì¹ç¤Ë¤ÏÊѹ¹¤·¤Ê¤¤¡£ 
     264    // ベースデータの場合には変更しない。 
    265265    if (lfCheckBaseData($arrData['page_id'])) { 
    266266        $arrPageData = lfgetPageData( ' page_id = ? ' , array($arrData['page_id'])); 
     
    279279    } 
    280280 
    281     // ¹¹¿·¥Ç¡¼¥¿ÇÛÎó¤ÎºîÀ® 
     281    // 更新データ配列の作成 
    282282    $arrUpdData = array( 
    283                     $name                                       // ̾¾Î  
     283                    $name                                       // 名称    
    284284                    ,$url                                       // URL 
    285                     ,$php_dir                                   // PHP¥Ç¥£¥ì¥¯¥È¥ê 
    286                     ,$tpl_dir                                   // TPL¥Ç¥£¥ì¥¯¥È¥ê 
    287                     ,$filename                                  // ¥Õ¥¡¥¤¥ë̾ 
    288                     ,sfChangeCheckBox($arrData['header_chk'])   // ¥Ø¥Ã¥À¡¼»ÈÍÑ 
    289                     ,sfChangeCheckBox($arrData['footer_chk'])   // ¥Õ¥Ã¥¿¡¼»ÈÍÑ 
    290                     ,$_SERVER['HTTP_REFERER']                   // ¹¹¿·URL 
     285                    ,$php_dir                                   // PHPディレクトリ 
     286                    ,$tpl_dir                                   // TPLディレクトリ 
     287                    ,$filename                                  // ファイル名 
     288                    ,sfChangeCheckBox($arrData['header_chk'])   // ヘッダー使用 
     289                    ,sfChangeCheckBox($arrData['footer_chk'])   // フッター使用 
     290                    ,$_SERVER['HTTP_REFERER']                   // 更新URL 
    291291                    ); 
    292292                     
     
    295295 
    296296/************************************************************************************************************** 
    297  * ´Ø¿ô̾   ¡§lfErrorCheck 
    298  * ½èÍýÆâÍÆ ¡§ÆþÎϹàÌܤΥ¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¹Ô¤¦ 
    299  * °ú¿ô1    ¡§$arrData  Ž¥Ž¥Ž¥ ÆþÎϥǡ¼¥¿ 
    300  * Ìá¤êÃÍ   ¡§¥¨¥é¡¼¾ðÊó 
     297 * 関数名  :lfErrorCheck 
     298 * 処理内容 :入力項目のエラーチェックを行う 
     299 * 引数1  :$arrData  ・・・ 入力データ 
     300 * 戻り値  :エラー情報 
    301301 **************************************************************************************************************/ 
    302302function lfErrorCheck($array) { 
     
    304304     
    305305    $objErr = new SC_CheckError($array); 
    306     $objErr->doFunc(array("̾¾Î", "page_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
     306    $objErr->doFunc(array("名称", "page_name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    307307    $objErr->doFunc(array("URL", "url", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
    308308 
    309     // URL¥Á¥§¥Ã¥¯ 
     309    // URLチェック 
    310310    if (substr(strrev(trim($array['url'])),0,1) == "/") { 
    311         $objErr->arrErr['url'] = "¢¨ URL¤òÀµ¤·¤¯ÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£<br />"; 
     311        $objErr->arrErr['url'] = "※ URLを正しく入力してください。<br />"; 
    312312    } 
    313313     
    314314    $check_url = USER_URL . $array['url'] . ".php"; 
    315315    if( strlen($array['url']) > 0 && !ereg( "^https?://+($|[a-zA-Z0-9_~=&\?\.\/-])+$", $check_url ) ) { 
    316         $objErr->arrErr['url'] = "¢¨ URL¤òÀµ¤·¤¯ÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£<br />"; 
    317     } 
    318  
    319     // Ʊ°ì¤ÎURL¤¬Â¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¥¨¥é¡¼ 
     316        $objErr->arrErr['url'] = "※ URLを正しく入力してください。<br />"; 
     317    } 
     318 
     319    // 同一のURLが存在している場合にはエラー 
    320320    if(!isset($objErr->arrErr['url']) and $array['url'] !== ''){ 
    321321        $arrChk = lfgetPageData(" url = ? " , array(USER_URL . $array['url'].".php")); 
    322322 
    323323        if (count($arrChk[0]) >= 1 and $arrChk[0]['page_id'] != $array['page_id']) { 
    324             $objErr->arrErr['url'] = '¢¨ Ʊ¤¸URL¤Î¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£Ê̤ÎURL¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£'; 
     324            $objErr->arrErr['url'] = '※ 同じURLのデータが存在しています。別のURLを付けてください。'; 
    325325        } 
    326326    } 
     
    330330 
    331331/************************************************************************************************************** 
    332  * ´Ø¿ô̾   ¡§lfCreateFile 
    333  * ½èÍýÆâÍÆ ¡§¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë 
    334  * °ú¿ô1    ¡§$pathŽ¥Ž¥Ž¥¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹ 
    335  * Ìá¤êÃÍ   ¡§¤Ê¤· 
     332 * 関数名  :lfCreateFile 
     333 * 処理内容 :ファイルを作成する 
     334 * 引数1  :$path・・・テンプレートファイルのパス 
     335 * 戻り値  :なし 
    336336 **************************************************************************************************************/ 
    337337function lfCreateFile($path){ 
    338338     
    339     // ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë      
     339    // ディレクトリが存在していなければ作成する      
    340340    if (!is_dir(dirname($path))) { 
    341341        mkdir(dirname($path)); 
    342342    } 
    343343 
    344     // ¥Õ¥¡¥¤¥ëºîÀ® 
     344    // ファイル作成 
    345345    $fp = fopen($path,"w"); 
    346346    fwrite($fp, $_POST['tpl_data']); 
     
    349349 
    350350/************************************************************************************************************** 
    351  * ´Ø¿ô̾   ¡§lfCreatePHPFile 
    352  * ½èÍýÆâÍÆ ¡§PHP¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë 
    353  * °ú¿ô1    ¡§$pathŽ¥Ž¥Ž¥PHP¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹ 
    354  * Ìá¤êÃÍ   ¡§¤Ê¤· 
     351 * 関数名  :lfCreatePHPFile 
     352 * 処理内容 :PHPファイルを作成する 
     353 * 引数1  :$path・・・PHPファイルのパス 
     354 * 戻り値  :なし 
    355355 **************************************************************************************************************/ 
    356356function lfCreatePHPFile($path){ 
    357357 
    358     // phpÊݸÀè¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë 
     358    // php保存先ディレクトリが存在していなければ作成する 
    359359    if (!is_dir(dirname($path))) { 
    360360        mkdir(dirname($path)); 
    361361    } 
    362362     
    363     // ¥Ù¡¼¥¹¤È¤Ê¤ëPHP¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ß 
     363    // ベースとなるPHPファイルの読み込み 
    364364    if (file_exists(USER_DEF_PHP)){ 
    365365        $php_data = file_get_contents(USER_DEF_PHP);         
    366366    } 
    367367     
    368     // require.php¤Î¾ì½ê¤ò½ñ¤­´¹¤¨¤ë 
     368    // require.phpの場所を書き換える 
    369369    $php_data = str_replace("###require###", HTML_PATH . "require.php", $php_data); 
    370370     
    371     // php¥Õ¥¡¥¤¥ë¤ÎºîÀ® 
     371    // phpファイルの作成 
    372372    $fp = fopen($path,"w"); 
    373373    fwrite($fp, $php_data); 
  • branches/feature-module-update/html/admin/design/template.php

    r12157 r15078  
    2121        ), 
    2222        'name' =>array( 
    23             1 => 'TOP¥Ú¡¼¥¸', 
    24             2 => '¾¦ÉÊ°ìÍ÷¥Ú¡¼¥¸', 
    25             3 => '¾¦Éʾܺ٥ڡ¼¥¸', 
    26             4 => 'MY¥Ú¡¼¥¸'  
     23            1 => 'TOPページ', 
     24            2 => '商品一覧ページ', 
     25            3 => '商品詳細ページ', 
     26            4 => 'MYページ'  
    2727        ) 
    2828    ); 
     
    3535        $this->tpl_TemplateName = $this->arrTemplateName['name'][1]; 
    3636        $this->tpl_mainno = "design"; 
    37         $this->tpl_subtitle = '¥Æ¥ó¥×¥ì¡¼¥ÈÀßÄê'; 
     37        $this->tpl_subtitle = 'テンプレート設定'; 
    3838    } 
    3939} 
     
    4343$objSess = new SC_Session(); 
    4444 
    45 // ǧ¾Ú²ÄÈݤÎȽÄê 
     45// 認証可否の判定 
    4646$objSess = new SC_Session(); 
    4747sfIsSuccess($objSess); 
    4848 
    49 // GET¤ÎÃͤò¼õ¤±¼è¤ë 
     49// GETの値を受け取る 
    5050$get_tpl_subno_template = $_GET['tpl_subno_template']; 
    5151 
    52 // GET¤ÇÃͤ¬Á÷¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¤½¤ÎÃͤò¸µ¤Ë²èÌÌɽ¼¨¤òÀÚ¤êÂؤ¨¤ë 
     52// GETで値が送られている場合にはその値を元に画面表示を切り替える 
    5353if ($get_tpl_subno_template != ""){ 
    54     // Á÷¤é¤ì¤Æ¤­¤¿Ãͤ¬ÇÛÎó¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤ÐTOP¤òɽ¼¨ 
     54    // 送られてきた値が配列に登録されていなければTOPを表示 
    5555    if (in_array($get_tpl_subno_template,$objPage->arrSubnavi['title'])){ 
    5656        $tpl_subno_template = $get_tpl_subno_template; 
     
    5959    } 
    6060} else { 
    61     // GET¤ÇÃͤ¬¤Ê¤±¤ì¤ÐPOST¤ÎÃͤò»ÈÍѤ¹¤ë 
     61    // GETで値がなければPOSTの値を使用する 
    6262    if ($_POST['tpl_subno_template'] != ""){ 
    6363        $tpl_subno_template = $_POST['tpl_subno_template']; 
     
    7070$objPage->template_name = $objPage->arrSubnavi['name'][$key[0]]; 
    7171 
    72 // ÅÐÏ¿¤ò²¡¤µ¤ì¤¿¤Ð¤¢¤Ë¤ÏDB¤Ø¥Ç¡¼¥¿¤ò¹¹¿·¤Ë¹Ô¤¯ 
     72// 登録を押されたばあにはDBへデータを更新に行く 
    7373switch($_POST['mode']) { 
    7474case 'confirm': 
    75     // DB¤Ø¥Ç¡¼¥¿¹¹¿· 
     75    // DBへデータ更新 
    7676    lfUpdData(); 
    7777     
    78     // ¥Æ¥ó¥×¥ì¡¼¥È¤Î¾å½ñ¤­ 
     78    // テンプレートの上書き 
    7979    lfChangeTemplate(); 
    8080     
    81     // ´°Î»¥á¥Ã¥»¡¼¥¸ 
    82     $objPage->tpl_onload="alert('ÅÐÏ¿¤¬´°Î»¤·¤Þ¤·¤¿¡£');"; 
     81    // 完了メッセージ 
     82    $objPage->tpl_onload="alert('登録が完了しました。');"; 
    8383    break; 
    8484case 'download': 
     
    8989} 
    9090 
    91 // POSTÃͤΰú¤­·Ñ¤® 
     91// POST値の引き継ぎ 
    9292$objPage->arrForm = $_POST; 
    9393 
    94 // ²èÁü¼èÆÀ 
     94// 画像取得 
    9595$tpl_arrTemplate = array(); 
    9696$objPage->arrTemplate = lfgetTemplate(); 
    9797 
    98 // ¥Ç¥Õ¥©¥ë¥È¥Á¥§¥Ã¥¯¼èÆÀ 
     98// デフォルトチェック取得 
    9999$objPage->MainImage = $objPage->arrTemplate['check']; 
    100100$objPage->arrTemplate['check'] = array($objPage->arrTemplate['check']=>"check"); 
    101101 
    102 // ²èÌ̤Îɽ¼¨ 
     102// 画面の表示 
    103103$objView->assignobj($objPage); 
    104104$objView->display(MAIN_FRAME); 
     
    107107 
    108108/************************************************************************************************************** 
    109  * ´Ø¿ô̾   ¡§lfgetTemplate 
    110  * ½èÍýÆâÍÆ ¡§²èÌ̤Ëɽ¼¨¤¹¤ë²èÁü¤ò¼èÆÀ¤¹¤ë 
    111  * °ú¿ô     ¡§¤Ê¤· 
    112  * Ìá¤êÃÍ   ¡§²èÌ̤Ëɽ¼¨¤¹¤ë²èÁü(ÇÛÎó) 
     109 * 関数名  :lfgetTemplate 
     110 * 処理内容 :画面に表示する画像を取得する 
     111 * 引数       :なし 
     112 * 戻り値  :画面に表示する画像(配列) 
    113113 **************************************************************************************************************/ 
    114114function lfgetTemplate(){ 
     
    116116    $filepath = "user_data/templates/"; 
    117117     
    118     $arrTemplateImage = array();    // ²èÌÌɽ¼¨²èÁü³ÊǼÍÑ 
    119     $Image = "";                    // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     118    $arrTemplateImage = array();    // 画面表示画像格納用 
     119    $Image = "";                    // イメージの配列要素名格納用 
    120120    $disp = ""; 
    121     $arrDefcheck = array();         // radio¥Ü¥¿¥ó¤Î¥Ç¥Õ¥©¥ë¥È¥Á¥§¥Ã¥¯³ÊǼÍÑ 
    122      
    123     // DB¤«¤é¸½ºßÁªÂò¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¼èÆÀ 
     121    $arrDefcheck = array();         // radioボタンのデフォルトチェック格納用 
     122     
     123    // DBから現在選択されているデータ取得 
    124124    $arrDefcheck = lfgetTemplaeBaseData(); 
    125125     
    126     // ¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë 
     126    // テンプレートデータを取得する 
    127127    $objQuery = new SC_Query(); 
    128128    $sql = "SELECT template_code,template_name FROM dtb_templates ORDER BY create_date DESC"; 
     
    132132        // TOP 
    133133        case $objPage->arrSubnavi['title'][1]: 
    134             $Image = "TopImage.jpg";            // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     134            $Image = "TopImage.jpg";            // イメージの配列要素名格納用 
    135135            $disp = $objPage->arrSubnavi['title'][1]; 
    136136            break; 
    137137             
    138         // ¾¦ÉÊ°ìÍ÷ 
     138        // 商品一覧 
    139139        case $objPage->arrSubnavi['title'][2]: 
    140             $Image = "ProdImage.jpg";           // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     140            $Image = "ProdImage.jpg";           // イメージの配列要素名格納用 
    141141            $disp = $objPage->arrSubnavi['title'][2]; 
    142142            break; 
    143143             
    144         // ¾¦Éʾܺ٠
     144        // 商品詳細 
    145145        case $objPage->arrSubnavi['title'][3]: 
    146             $Image = "DetailImage.jpg";         // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     146            $Image = "DetailImage.jpg";         // イメージの配列要素名格納用 
    147147            $disp = $objPage->arrSubnavi['title'][3]; 
    148148            break; 
    149149             
    150         // MY¥Ú¡¼¥¸ 
     150        // MYページ 
    151151        case $objPage->arrSubnavi['title'][4]: 
    152             $Image = "MypageImage.jpg";         //¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     152            $Image = "MypageImage.jpg";         //イメージの配列要素名格納用 
    153153            $disp = $objPage->arrSubnavi['title'][4]; 
    154154            break; 
    155155    } 
    156156 
    157     // ²èÁüɽ¼¨ÇÛÎóºîÀ® 
     157    // 画像表示配列作成 
    158158    foreach($arrTemplate as $key => $val){ 
    159159        $arrTemplateImage['image'][$val['template_code']] = $filepath . $val['template_code'] . "/" . $Image; 
     
    161161    } 
    162162     
    163     // ½é´ü¥Á¥§¥Ã¥¯ 
     163    // 初期チェック 
    164164    if (isset($arrDefcheck[$disp])){ 
    165165        $arrTemplateImage['check'] = $arrDefcheck[$disp]; 
     
    172172 
    173173/************************************************************************************************************** 
    174  * ´Ø¿ô̾   ¡§lfgetTemplaeBaseData 
    175  * ½èÍýÆâÍÆ ¡§DB¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë 
    176  * °ú¿ô     ¡§¤Ê¤· 
    177  * Ìá¤êÃÍ   ¡§DB¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿(ÇÛÎó) 
     174 * 関数名  :lfgetTemplaeBaseData 
     175 * 処理内容 :DBに保存されているテンプレートデータを取得する 
     176 * 引数       :なし 
     177 * 戻り値  :DBに保存されているテンプレートデータ(配列) 
    178178 **************************************************************************************************************/ 
    179179function lfgetTemplaeBaseData(){ 
    180     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    181     $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ 
    182     $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ 
     180    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     181    $sql = "";                      // データ取得SQL生成用 
     182    $arrRet = array();              // データ取得用 
    183183     
    184184    $sql = "SELECT top_tpl AS top, product_tpl AS product, detail_tpl AS detail, mypage_tpl AS mypage FROM dtb_baseinfo"; 
     
    189189 
    190190/************************************************************************************************************** 
    191  * ´Ø¿ô̾   ¡§lfUpdData 
    192  * ½èÍýÆâÍÆ ¡§DB¤Ë¥Ç¡¼¥¿¤òÊݸ¤¹¤ë 
    193  * °ú¿ô     ¡§¤Ê¤· 
    194  * Ìá¤êÃÍ   ¡§À®¸ù TRUE¡¢¥¨¥é¡¼ FALSE 
     191 * 関数名  :lfUpdData 
     192 * 処理内容 :DBにデータを保存する 
     193 * 引数       :なし 
     194 * 戻り値  :成功 TRUE、エラー FALSE 
    195195 **************************************************************************************************************/ 
    196196function lfUpdData(){ 
    197197    global $objPage; 
    198     $objDBConn = new SC_DbConn;     // DBÁàºî¥ª¥Ö¥¸¥§¥¯¥È 
    199     $sql = "";                      // ¥Ç¡¼¥¿¼èÆÀSQLÀ¸À®ÍÑ 
    200     $arrRet = array();              // ¥Ç¡¼¥¿¼èÆÀÍÑ(¹¹¿·È½Äê) 
    201  
    202     // ¥Ç¡¼¥¿¼èÆÀ    
     198    $objDBConn = new SC_DbConn;     // DB操作オブジェクト 
     199    $sql = "";                      // データ取得SQL生成用 
     200    $arrRet = array();              // データ取得用(更新判定) 
     201 
     202    // データ取得     
    203203    $sql = "SELECT top_tpl AS top, product_tpl AS product, detail_tpl AS detail, mypage_tpl AS mypage FROM dtb_baseinfo"; 
    204204    $arrRet = $objDBConn->getAll($sql); 
    205205 
    206206    $chk_tpl = $_POST['check_template']; 
    207     // ¥Ç¡¼¥¿¤¬¼èÆÀ¤Ç¤­¤Ê¤±¤ì¤ÐINSERT¡¢¤Ç¤­¤ì¤ÐUPDATE 
     207    // データが取得できなければINSERT、できればUPDATE 
    208208    if (isset($arrRet[0])){ 
    209209        // UPDATE 
    210210        $arrVal = $arrRet[0]; 
    211211         
    212         // TOP¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹ 
     212        // TOPを変更した場合には全画面変更 
    213213        if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){ 
    214214            $arrVal = array($chk_tpl,$chk_tpl,$chk_tpl,$chk_tpl); 
     
    221221        $arrVal = array(null,null,null,null); 
    222222         
    223         // TOP¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹ 
     223        // TOPを変更した場合には全画面変更 
    224224        if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){ 
    225225            $arrVal = array($chk_tpl,$chk_tpl,$chk_tpl,$chk_tpl); 
     
    230230    } 
    231231 
    232     // SQL¼Â¹Ô   
     232    // SQL実行     
    233233    $arrRet = $objDBConn->query($sql,$arrVal); 
    234234     
     
    237237 
    238238/************************************************************************************************************** 
    239  * ´Ø¿ô̾   ¡§lfChangeTemplate 
    240  * ½èÍýÆâÍÆ ¡§¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤¹¤ë 
    241  * °ú¿ô     ¡§¤Ê¤· 
    242  * Ìá¤êÃÍ   ¡§À®¸ù TRUE¡¢¥¨¥é¡¼ FALSE 
     239 * 関数名  :lfChangeTemplate 
     240 * 処理内容 :テンプレートファイルを上書きする 
     241 * 引数       :なし 
     242 * 戻り値  :成功 TRUE、エラー FALSE 
    243243 **************************************************************************************************************/ 
    244244function lfChangeTemplate(){ 
     
    261261        // TOP 
    262262        case $objPage->arrSubnavi['title'][1]: 
    263             $tpl_element = "TopTemplate";           // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     263            $tpl_element = "TopTemplate";           // イメージの配列要素名格納用 
    264264            $tpl_name = "top.tpl"; 
    265265            break; 
    266266             
    267         // ¾¦ÉÊ°ìÍ÷ 
     267        // 商品一覧 
    268268        case $objPage->arrSubnavi['title'][2]: 
    269             $tpl_element = "ProdTemplate";          // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     269            $tpl_element = "ProdTemplate";          // イメージの配列要素名格納用 
    270270            $tpl_name = "list.tpl"; 
    271271            break; 
    272272             
    273         // ¾¦Éʾܺ٠
     273        // 商品詳細 
    274274        case $objPage->arrSubnavi['title'][3]: 
    275             $tpl_element = "DetailTemplate";            // ¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     275            $tpl_element = "DetailTemplate";            // イメージの配列要素名格納用 
    276276            $tpl_name = "detail.tpl"; 
    277277            break; 
    278278             
    279         // MY¥Ú¡¼¥¸ 
     279        // MYページ 
    280280        case $objPage->arrSubnavi['title'][4]: 
    281             $tpl_element = "MypageTemplate";            //¥¤¥á¡¼¥¸¤ÎÇÛÎóÍ×ÁÇ̾³ÊǼÍÑ 
     281            $tpl_element = "MypageTemplate";            //イメージの配列要素名格納用 
    282282            $tpl_name = "mypage.tpl"; 
    283283            break; 
     
    287287    } 
    288288 
    289     // ²èÁü¥Ñ¥¹¤ò½ñ¤­´¹¤¨ 
     289    // 画像パスを書き換え 
    290290    $img_path = '<!--{$smarty.const.URL_DIR}-->img/'; 
    291291    $displace_path = '<!--{$smarty.const.URL_DIR}-->'. USER_DIR . 'templates/' . $chk_tpl . '/img/'; 
     
    293293    $fs->doSearch();  
    294294     
    295     // TOP¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë¤ÏÁ´²èÌÌÊѹ¹ 
     295    // TOPを変更した場合には全画面変更 
    296296    if ($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][1]){ 
    297         // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼ 
     297        // テンプレートファイルをコピー 
    298298        copy($taget_tpl_path . "top.tpl", $save_tpl_path . "top.tpl"); 
    299299        copy($taget_tpl_path . "list.tpl", $save_tpl_path . "list.tpl"); 
    300300        copy($taget_tpl_path . "detail.tpl", $save_tpl_path . "detail.tpl"); 
    301301 
    302         // mypage¤Ï¥Õ¥©¥ë¥À¤´¤È¥³¥Ô¡¼ 
     302        // mypageはフォルダごとコピー 
    303303        lfFolderCopy($taget_tpl_path."mypage/", $save_tpl_path . "mypage/"); 
    304304 
    305         // ¥Ö¥í¥Ã¥¯¥Ç¡¼¥¿¤Î¥³¥Ô¡¼ 
     305        // ブロックデータのコピー 
    306306        lfFolderCopy($taget_inc_path."bloc/", $inc_path . "bloc/"); 
    307307 
    308         // ¥Ø¥Ã¥À¡¼,¥Õ¥Ã¥¿¡¼¥³¥Ô¡¼ 
     308        // ヘッダー,フッターコピー 
    309309        copy($taget_inc_path . "header.tpl", $inc_path . "header.tpl"); 
    310310        copy($taget_inc_path . "footer.tpl", $inc_path . "footer.tpl"); 
    311311         
    312         // CSS¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼ 
     312        // CSSファイルのコピー 
    313313        copy($taget_css_path . "contents.css", $css_path . "contents.css"); 
    314314 
    315     // mypage¤Î¾ì¹ç¤Ë¤Ï¥Õ¥©¥ë¥À¤´¤È¥³¥Ô¡¼¤¹¤ë 
     315    // mypageの場合にはフォルダごとコピーする 
    316316    }elseif($objPage->tpl_subno_template == $objPage->arrSubnavi['title'][4]){ 
    317317        lfFolderCopy($taget_tpl_path."mypage/", $save_tpl_path."mypage/"); 
    318318    }else{ 
    319         // ¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼ 
     319        // テンプレートファイルをコピー 
    320320        copy($taget_tpl_path . $tpl_name, $save_tpl_path . $tpl_name); 
    321321    } 
    322322 
    323     // ²èÁü¥Ñ¥¹¤ò¸µ¤ËÌ᤹    
     323    // 画像パスを元に戻す     
    324324    $fs = new File_SearchReplace($displace_path, $img_path, "", $path, true);  
    325325    $fs->doSearch();  
     
    327327 
    328328/************************************************************************************************************** 
    329  * ´Ø¿ô̾   ¡§lfDownloadTemplate 
    330  * ½èÍýÆâÍÆ ¡§¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë°µ½Ì¤·¤Æ¥À¥¦¥ó¥í¡¼¥É¤¹¤ë 
    331  * °ú¿ô1    ¡§¥Æ¥ó¥×¥ì¡¼¥È¥³¡¼¥É 
    332  * Ìá¤êÃÍ   ¡§¤Ê¤· 
     329 * 関数名  :lfDownloadTemplate 
     330 * 処理内容 :テンプレートファイル圧縮してダウンロードする 
     331 * 引数1  :テンプレートコード 
     332 * 戻り値  :なし 
    333333 **************************************************************************************************************/ 
    334334function lfDownloadTemplate($template_code){ 
     
    336336    $dl_file = USER_TEMPLATE_PATH.$filename; 
    337337     
    338     // IMG¥Õ¥©¥ë¥À¤ò¥³¥Ô¡¼ 
     338    // IMGフォルダをコピー 
    339339    $mess = ""; 
    340340    $mess = sfCopyDir(HTML_PATH."img/", USER_TEMPLATE_PATH.$template_code."/img/", $mess); 
    341341     
    342     // ¥Õ¥¡¥¤¥ë¤Î°µ½Ì 
     342    // ファイルの圧縮 
    343343    $tar = new Archive_Tar($dl_file, TRUE); 
    344     // ¥Õ¥¡¥¤¥ë°ìÍ÷¼èÆÀ 
     344    // ファイル一覧取得 
    345345    $arrFileHash = sfGetFileList(USER_TEMPLATE_PATH.$template_code); 
    346346    foreach($arrFileHash as $val) { 
    347347        $arrFileList[] = $val['file_name']; 
    348348    } 
    349     // ¥Ç¥£¥ì¥¯¥È¥ê¤ò°ÜÆ° 
     349    // ディレクトリを移動 
    350350    chdir(USER_TEMPLATE_PATH.$template_code); 
    351351     
    352     //°µ½Ì¤ò¤ª¤³¤Ê¤¦ 
     352    //圧縮をおこなう 
    353353    $zip = $tar->create($arrFileList); 
    354354         
    355     // ¥À¥¦¥ó¥í¡¼¥É³«»Ï 
     355    // ダウンロード開始 
    356356    Header("Content-disposition: attachment; filename=${filename}"); 
    357357    Header("Content-type: application/octet-stream; name=${dl_file}"); 
    358358    header("Content-Length: " .filesize($dl_file));  
    359359    readfile ($dl_file); 
    360     // °µ½Ì¥Õ¥¡¥¤¥ëºï½ü 
     360    // 圧縮ファイル削除 
    361361    unlink($dl_file); 
    362362     
     
    365365 
    366366/************************************************************************************************************** 
    367  * ´Ø¿ô̾   ¡§lfFolderCopy 
    368  * ½èÍýÆâÍÆ ¡§¥Õ¥©¥ë¥À¤ò¥³¥Ô¡¼¤¹¤ë 
    369  * °ú¿ô1    ¡§¥³¥Ô¡¼¸µ¥Ñ¥¹ 
    370  * °ú¿ô2¡¡¡¡¡§¥³¥Ô¡¼Àè¥Ñ¥¹ 
    371  * Ìá¤êÃÍ   ¡§¤Ê¤· 
     367 * 関数名  :lfFolderCopy 
     368 * 処理内容 :フォルダをコピーする 
     369 * 引数1  :コピー元パス 
     370 * 引数2  :コピー先パス 
     371 * 戻り値  :なし 
    372372 **************************************************************************************************************/ 
    373373function lfFolderCopy($taget_path, $save_path){ 
    374374 
    375     // ¥Õ¥©¥ë¥ÀÆâ¤Î¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë 
     375    // フォルダ内のファイルを取得する 
    376376    $arrMypage=glob($taget_path . "*" ); 
    377377     
    378     // ¥Õ¥©¥ë¥À¤¬¤Ê¤±¤ì¤ÐºîÀ®¤¹¤ë 
     378    // フォルダがなければ作成する 
    379379    if(!is_dir($save_path)){ 
    380380        mkdir($save_path); 
    381381    } 
    382382 
    383     // ¥Õ¥©¥ë¥ÀÆâ¤òÁ´¤Æ¥³¥Ô¡¼ 
     383    // フォルダ内を全てコピー 
    384384    foreach($arrMypage as $key => $val){ 
    385385        $matches = array(); 
  • branches/feature-module-update/html/admin/design/upload.php

    r12157 r15078  
    1616        $this->tpl_subno_template = 'upload'; 
    1717        $this->tpl_mainno = "design"; 
    18         $this->tpl_subtitle = '¥¢¥Ã¥×¥í¡¼¥É'; 
    19         $this->template_name = '¥¢¥Ã¥×¥í¡¼¥É'; 
     18        $this->tpl_subtitle = 'アップロード'; 
     19        $this->template_name = 'アップロード'; 
    2020    } 
    2121} 
     
    2626$objQuery = new SC_Query(); 
    2727 
    28 // ǧ¾Ú²ÄÈݤÎȽÄê 
     28// 認証可否の判定 
    2929$objSess = new SC_Session(); 
    3030sfIsSuccess($objSess); 
    3131 
    32 // ¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤ò¥Õ¥©¥ë¥À 
     32// アップロードしたファイルをフォルダ 
    3333$new_file_dir = USER_TEMPLATE_PATH.$_POST['template_code']; 
    3434 
    35 // ¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹ 
     35// ファイル管理クラス 
    3636$objUpFile = new SC_UploadFile(TEMPLATE_TEMP_DIR, $new_file_dir); 
    37 // ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ 
     37// ファイル情報の初期化 
    3838lfInitFile(); 
    39 // ¥Ñ¥é¥á¡¼¥¿´ÉÍý¥¯¥é¥¹ 
     39// パラメータ管理クラス 
    4040$objFormParam = new SC_FormParam(); 
    41 // ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 
     41// パラメータ情報の初期化 
    4242lfInitParam(); 
    4343 
     
    4949    $objPage->arrErr = lfErrorCheck($arrRet); 
    5050 
    51     // ¥Õ¥¡¥¤¥ë¤ò°ì»þ¥Õ¥©¥ë¥À¤ØÊݸ 
     51    // ファイルを一時フォルダへ保存 
    5252    $ret = $objUpFile->makeTempFile('template_file', false); 
    5353    if($ret != "") { 
    5454        $objPage->arrErr['template_file'] = $ret; 
    5555    } else if(count($objPage->arrErr) <= 0) { 
    56         // ¥Õ¥©¥ë¥ÀºîÀ® 
     56        // フォルダ作成 
    5757        $ret = @mkdir($new_file_dir); 
    58         // °ì»þ¥Õ¥©¥ë¥À¤«¤éÊݸ¥Ç¥£¥ì¥¯¥È¥ê¤Ø°ÜÆ° 
     58        // 一時フォルダから保存ディレクトリへ移動 
    5959        $objUpFile->moveTempFile(); 
    60         // ²òÅà 
     60        // 解凍 
    6161        lfUnpacking($new_file_dir, $_FILES['template_file']['name'], $new_file_dir."/"); 
    62         // DB¤Ë¥Æ¥ó¥×¥ì¡¼¥È¾ðÊó¤òÊݸ 
     62        // DBにテンプレート情報を保存 
    6363        lfRegistTemplate($arrRet); 
    64         // ´°Î»É½¼¨javascript 
    65         $objPage->tpl_onload = "alert('¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò¥¢¥Ã¥×¥í¡¼¥É¤·¤Þ¤·¤¿¡£');"; 
    66         // ¥Õ¥©¡¼¥àÃͤò¥¯¥ê¥¢ 
     64        // 完了表示javascript 
     65        $objPage->tpl_onload = "alert('テンプレートファイルをアップロードしました。');"; 
     66        // フォーム値をクリア 
    6767        $objFormParam->setParam(array('template_code' => "", 'template_name' => "")); 
    6868    } 
     
    7171    break; 
    7272} 
    73 // ²èÌ̤Îɽ¼¨ 
     73// 画面の表示 
    7474$objPage->arrForm = $objFormParam->getFormParamList(); 
    7575$objView->assignobj($objPage); 
     
    7979 
    8080/*  
    81  * ´Ø¿ô̾¡§lfInitFile() 
    82  * ÀâÌÀ¡¡¡§¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½ 
     81 * 関数名:lfInitFile() 
     82 * 説明 :ファイル情報の初期化 
    8383 */ 
    8484function lfInitFile() { 
    8585    global $objUpFile; 
    8686 
    87     $objUpFile->addFile("¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë", 'template_file', array(), TEMPLATE_SIZE, true, 0, 0, false); 
     87    $objUpFile->addFile("テンプレートファイル", 'template_file', array(), TEMPLATE_SIZE, true, 0, 0, false); 
    8888} 
    8989 
    9090/*  
    91  * ´Ø¿ô̾¡§lfInitParam() 
    92  * ÀâÌÀ¡¡¡§¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ 
     91 * 関数名:lfInitParam() 
     92 * 説明 :パラメータ情報の初期化 
    9393 */ 
    9494function lfInitParam() { 
    9595    global $objFormParam; 
    9696         
    97     $objFormParam->addParam("¥Æ¥ó¥×¥ì¡¼¥È¥³¡¼¥É", "template_code", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK", "ALNUM_CHECK")); 
    98     $objFormParam->addParam("¥Æ¥ó¥×¥ì¡¼¥È̾", "template_name", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
     97    $objFormParam->addParam("テンプレートコード", "template_code", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK", "ALNUM_CHECK")); 
     98    $objFormParam->addParam("テンプレート名", "template_name", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK")); 
    9999} 
    100100 
    101101/*  
    102  * ´Ø¿ô̾¡§lfErrorCheck() 
    103  * °ú¿ô1 ¡§¥Õ¥©¡¼¥à¤ÎÃÍ 
    104  * ÀâÌÀ¡¡¡§¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     102 * 関数名:lfErrorCheck() 
     103 * 引数1 :フォームの値 
     104 * 説明 :エラーチェック 
    105105 */ 
    106106function lfErrorCheck($arrList) { 
     
    112112     
    113113    if(count($objErr->arrErr) <= 0) { 
    114         // Ʊ̾¤Î¥Õ¥©¥ë¥À¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¥¨¥é¡¼ 
     114        // 同名のフォルダが存在する場合はエラー 
    115115        if(file_exists(USER_TEMPLATE_PATH.$arrList['template_code'])) { 
    116             $objErr->arrErr['template_code'] = "¢¨ Ʊ̾¤Î¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹¡£<br/>"; 
     116            $objErr->arrErr['template_code'] = "※ 同名のファイルがすでに存在します。<br/>"; 
    117117        } 
    118         // DB¤Ë¤¹¤Ç¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¥Á¥§¥Ã¥¯ 
     118        // DBにすでに登録されていないかチェック 
    119119        $ret = $objQuery->get("dtb_templates", "template_code", "template_code = ?", array($arrList['template_code'])); 
    120120        if($ret != "") { 
    121             $objErr->arrErr['template_code'] = "¢¨ ¤¹¤Ç¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥Æ¥ó¥×¥ì¡¼¥È¥³¡¼¥É¤Ç¤¹¡£<br/>"; 
     121            $objErr->arrErr['template_code'] = "※ すでに登録されているテンプレートコードです。<br/>"; 
    122122        } 
    123         // ¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¥Á¥§¥Ã¥¯(.tar/tar.gz¤Î¤ßµö²Ä) 
     123        // ファイルの拡張子チェック(.tar/tar.gzのみ許可) 
    124124        $errFlag = true; 
    125125        $array_ext = explode(".", $_FILES['template_file']['name']); 
    126126        $ext = $array_ext[ count ( $array_ext ) - 1 ]; 
    127127        $ext = strtolower($ext); 
    128         // .tar¥Á¥§¥Ã¥¯ 
     128        // .tarチェック 
    129129        if ($ext == 'tar') { 
    130130            $errFlag = false; 
     
    133133        $ext = $array_ext[ count ( $array_ext ) - 2 ].".".$ext; 
    134134        $ext = strtolower($ext); 
    135         // .tar.gz¥Á¥§¥Ã¥¯ 
     135        // .tar.gzチェック 
    136136        if ($ext== 'tar.gz') { 
    137137            $errFlag = false; 
     
    139139         
    140140        if($errFlag) { 
    141             $objErr->arrErr['template_file'] = "¢¨ ¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤Çµö²Ä¤µ¤ì¤Æ¤¤¤ë·Á¼°¤Ï¡¢tar/tar.gz¤Ç¤¹¡£<br />";      
     141            $objErr->arrErr['template_file'] = "※ アップロードするテンプレートファイルで許可されている形式は、tar/tar.gzです。<br />";        
    142142        } 
    143143    } 
     
    147147 
    148148/*  
    149  * ´Ø¿ô̾¡§lfErrorCheck() 
    150  * °ú¿ô1 ¡§¥Ñ¥é¥á¡¼¥¿ 
    151  * ÀâÌÀ¡¡¡§¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿ÅÐÏ¿ 
     149 * 関数名:lfErrorCheck() 
     150 * 引数1 :パラメータ 
     151 * 説明 :テンプレートデータ登録 
    152152 */ 
    153153function lfRegistTemplate($arrList) { 
    154154    global $objQuery; 
    155155     
    156     // INSERT¤¹¤ëÃͤòºîÀ®¤¹¤ë¡£ 
     156    // INSERTする値を作成する。 
    157157    $sqlval['template_code'] = $arrList['template_code']; 
    158158    $sqlval['template_name'] = $arrList['template_name']; 
     
    164164 
    165165/*  
    166  * ´Ø¿ô̾¡§lfUnpacking 
    167  * °ú¿ô1 ¡§¥Ç¥£¥ì¥¯¥È¥ê 
    168  * °ú¿ô2 ¡§¥Õ¥¡¥¤¥ë¥Í¡¼¥à 
    169  * °ú¿ô3 ¡§²òÅà¥Ç¥£¥ì¥¯¥È¥ê 
    170  * ÀâÌÀ¡¡¡§¥Æ¥ó¥×¥ì¡¼¥È¥Ç¡¼¥¿ÅÐÏ¿ 
     166 * 関数名:lfUnpacking 
     167 * 引数1 :ディレクトリ 
     168 * 引数2 :ファイルネーム 
     169 * 引数3 :解凍ディレクトリ 
     170 * 説明 :テンプレートデータ登録 
    171171 */ 
    172172function lfUnpacking($dir, $file_name, $unpacking_dir) { 
    173173 
    174     // °µ½Ì¥Õ¥é¥°TRUE¤Ïgzip²òÅà¤ò¤ª¤³¤Ê¤¦ 
     174    // 圧縮フラグTRUEはgzip解凍をおこなう 
    175175    $tar = new Archive_Tar("$dir/$file_name", TRUE); 
    176176 
    177     // ³ÈÄ¥»Ò¤òÀÚ¤ê¼è¤ë 
     177    // 拡張子を切り取る 
    178178    $unpacking_name = ereg_replace("\.tar$", "", $file_name); 
    179179    $unpacking_name = ereg_replace("\.tar\.gz$", "", $file_name); 
    180180 
    181     // »ØÄꤵ¤ì¤¿¥Õ¥©¥ë¥ÀÆâ¤Ë²òÅह¤ë 
     181    // 指定されたフォルダ内に解凍する 
    182182    $err = $tar->extractModify($unpacking_dir, $unpacking_name); 
    183183 
    184     // ¥Õ¥©¥ë¥Àºï½ü 
     184    // フォルダ削除 
    185185    @sfDelFile("$dir/$unpacking_name"); 
    186     // °µ½Ì¥Õ¥¡¥¤¥ëºï½ü 
     186    // 圧縮ファイル削除 
    187187    @unlink("$dir/$file_name"); 
    188188 
Note: See TracChangeset for help on using the changeset viewer.