Ignore:
Timestamp:
2007/03/11 06:27:25 (19 years ago)
Author:
nanasess
Message:

r11729 の変更を取消

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu/html/admin/system/module.php

    r11729 r11730  
    88require_once(DATA_PATH . "module/Request.php"); 
    99 
    10 //ページ管理クラス 
     10//¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹ 
    1111class LC_Page { 
    12     //コンストラクタ 
     12    //¥³¥ó¥¹¥È¥é¥¯¥¿ 
    1313    function LC_Page() { 
    14         //メインテンプレートの指定 
     14        //¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê 
    1515        $this->tpl_mainpage = 'system/module.tpl'; 
    1616        $this->tpl_subnavi = 'system/subnavi.tpl'; 
    1717        $this->tpl_mainno = 'system';        
    1818        $this->tpl_subno = 'module'; 
    19         $this->tpl_subtitle = 'モジュール管理'; 
     19        $this->tpl_subtitle = '¥â¥¸¥å¡¼¥ë´ÉÍý'; 
    2020    } 
    2121} 
     
    2424$objQuery = new SC_Query(); 
    2525 
    26 // セッションクラス 
     26// ¥»¥Ã¥·¥ç¥ó¥¯¥é¥¹ 
    2727$objSess = new SC_Session(); 
    28 // 認証可否の判定 
     28// ǧ¾Ú²ÄÈݤÎȽÄê 
    2929sfIsSuccess($objSess); 
    3030 
    3131switch($_POST['mode']) { 
    32 // アップデート情報ファイルを取得 
     32// ¥¢¥Ã¥×¥Ç¡¼¥È¾ðÊó¥Õ¥¡¥¤¥ë¤ò¼èÆÀ 
    3333case 'edit': 
    34     // 更新情報を最新にする 
     34    // ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë 
    3535    lfLoadUpdateList(); 
    3636    break; 
    37 // インストール 
     37// ¥¤¥ó¥¹¥È¡¼¥ë 
    3838case 'install': 
    39     // 更新情報を最新にする 
     39    // ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë 
    4040    lfLoadUpdateList(); 
    41     // モジュール郡のインストール 
     41    // ¥â¥¸¥å¡¼¥ë·´¤Î¥¤¥ó¥¹¥È¡¼¥ë 
    4242    lfInstallModule(); 
    4343    break; 
    44 // アンインストール 
     44// ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë 
    4545case 'uninstall': 
    46     // 更新情報を最新にする 
     46    // ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë 
    4747    lfLoadUpdateList(); 
    48     // モジュール郡のインストール     
     48    // ¥â¥¸¥å¡¼¥ë·´¤Î¥¤¥ó¥¹¥È¡¼¥ë    
    4949    lfUninstallModule(); 
    5050    break; 
     
    5757 
    5858$objPage->arrUpdate = $arrUpdate; 
    59 $objView->assignobj($objPage);      //変数をテンプレートにアサインする 
    60 $objView->display(MAIN_FRAME);      //テンプレートの出力 
     59$objView->assignobj($objPage);      //ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë 
     60$objView->display(MAIN_FRAME);      //¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ 
    6161//------------------------------------------------------------------------------------------------------- 
    62 // 更新ファイルの取得 
     62// ¹¹¿·¥Õ¥¡¥¤¥ë¤Î¼èÆÀ 
    6363function lfCopyUpdateFile($file) { 
    6464    global $objPage; 
     
    6666    $src_path = sfRmDupSlash(UPDATE_HTTP . $file . ".txt"); 
    6767    $dst_path = sfRmDupSlash(MODULE_PATH . $file); 
    68     $flg_ok = true; // 処理の成功判定 
     68    $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê 
    6969     
    7070    $src_fp = @fopen($src_path, "rb"); 
    7171     
    7272    if(!$src_fp) { 
    73         sfErrorHeader(">> " . $src_path . "の取得に失敗しました。"); 
     73        sfErrorHeader(">> " . $src_path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"); 
    7474        $flg_ok = false; 
    7575    } else { 
    76         // ファイルをすべて読み込む 
     76        // ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤ÆÆÉ¤ß¹þ¤à 
    7777        $contents = ''; 
    7878        while (!feof($src_fp)) { 
     
    8181        fclose($src_fp); 
    8282         
    83         // ディレクトリ作成を試みる 
     83        // ¥Ç¥£¥ì¥¯¥È¥êºîÀ®¤ò»î¤ß¤ë 
    8484        lfMakeDirectory($dst_path); 
    85         // ファイル書込み       
     85        // ¥Õ¥¡¥¤¥ë½ñ¹þ¤ß        
    8686        $dst_fp = @fopen($dst_path, "wb"); 
    8787        if(!$dst_fp) { 
    88             sfErrorHeader(">> " . $dst_path . "をオープンできません。"); 
     88            sfErrorHeader(">> " . $dst_path . "¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£"); 
    8989            $flg_ok = false; 
    9090        } else { 
     
    9595     
    9696    if($flg_ok) { 
    97         $objPage->update_mess.= ">> " . $dst_path . ":コピー成功<br>"; 
    98     } else { 
    99         $objPage->update_mess.= ">> " . $dst_path . ":コピー失敗<br>";        
     97        $objPage->update_mess.= ">> " . $dst_path . "¡§¥³¥Ô¡¼À®¸ù<br>"; 
     98    } else { 
     99        $objPage->update_mess.= ">> " . $dst_path . "¡§¥³¥Ô¡¼¼ºÇÔ<br>";      
    100100    } 
    101101     
     
    103103} 
    104104 
    105 // すべてのパスのディレクトリを作成する 
     105// ¤¹¤Ù¤Æ¤Î¥Ñ¥¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë 
    106106function lfMakeDirectory($path) { 
    107107    $pos = 0; 
    108     $cnt = 0;               // 無限ループ対策 
    109     $len = strlen($path);   // 無限ループ対策 
     108    $cnt = 0;               // ̵¸Â¥ë¡¼¥×Âкö 
     109    $len = strlen($path);   // ̵¸Â¥ë¡¼¥×Âкö 
    110110     
    111111    while($cnt <= $len) { 
    112112        $pos = strpos($path, "/", $pos); 
    113         // ここでの判定は、等号3つを使用 
     113        // ¤³¤³¤Ç¤ÎȽÄê¤Ï¡¢Åù¹æ3¤Ä¤ò»ÈÍÑ 
    114114        if($pos === false) { 
    115             // スラッシュが見つからない場合はループから抜ける 
     115            // ¥¹¥é¥Ã¥·¥å¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¥ë¡¼¥×¤«¤éÈ´¤±¤ë 
    116116            break; 
    117117        } 
    118         $pos++; // 文字発見位置を一文字進める 
     118        $pos++; // ʸ»úȯ¸«°ÌÃÖ¤ò°ìʸ»ú¿Ê¤á¤ë 
    119119        $dir = substr($path, 0, $pos); 
    120120         
    121         // すでに存在するかどうか調べる 
     121        // ¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë 
    122122        if(!file_exists($dir)) { 
    123123            mkdir($dir); 
    124124        } 
    125         $cnt++; // 無限ループ対策 
    126     } 
    127 } 
    128  
    129 // 更新情報を最新にする 
     125        $cnt++; // ̵¸Â¥ë¡¼¥×Âкö 
     126    } 
     127} 
     128 
     129// ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë 
    130130function lfLoadUpdateList() { 
    131131    $objQuery = new SC_Query(); 
     
    136136         
    137137    if(!$fp) { 
    138         sfErrorHeader(">> " . $path . "の取得に失敗しました。"); 
     138        sfErrorHeader(">> " . $path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"); 
    139139    } else { 
    140140         
     
    142142            $arrCSV = fgetcsv($fp, UPDATE_CSV_LINE_MAX); 
    143143             
    144             // エスケープ処理の置換 
     144            // ¥¨¥¹¥±¡¼¥×½èÍý¤ÎÃÖ´¹ 
    145145            foreach($arrCSV as $key => $val){ 
    146146                $arrCSV[$key] = str_replace('\"', '"', $val); 
     
    151151            } 
    152152             
    153             // カラム数が正常であった場合のみ 
     153            // ¥«¥é¥à¿ô¤¬Àµ¾ï¤Ç¤¢¤Ã¤¿¾ì¹ç¤Î¤ß 
    154154            if(count($arrCSV) == MODULE_CSV_COL_MAX) { 
    155                     // insertするmodule_idを配列に格納 
     155                    // insert¤¹¤ëmodule_id¤òÇÛÎó¤Ë³ÊǼ 
    156156                    $arrInsID[] = $arrCSV[0]; 
    157157                 
    158                     // 取得したアップデート情報をDBに書き込む 
     158                    // ¼èÆÀ¤·¤¿¥¢¥Ã¥×¥Ç¡¼¥È¾ðÊó¤òDB¤Ë½ñ¤­¹þ¤à 
    159159                    $sqlval['module_id'] = $arrCSV[0]; 
    160160                    $sqlval['module_name'] = $arrCSV[1]; 
     
    171171                    $sqlval['module_x'] = $arrCSV[14]; 
    172172                    $sqlval['module_y'] = $arrCSV[15]; 
    173                     // モジュールが対応している本体のバージョン 
     173                    // ¥â¥¸¥å¡¼¥ë¤¬Âбþ¤·¤Æ¤¤¤ëËÜÂΤΥС¼¥¸¥ç¥ó 
    174174                    $sqlval['eccube_version'] = $arrCSV[13];                     
    175                     // 既存レコードのチェック 
     175                    // ´û¸¥ì¥³¡¼¥É¤Î¥Á¥§¥Ã¥¯ 
    176176                    $cnt = $objQuery->count("dtb_module", "module_id = ?", array($sqlval['module_id'])); 
    177177                    if($cnt > 0) { 
    178                         // すでに取得されている場合は更新する。    
     178                        // ¤¹¤Ç¤Ë¼èÆÀ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¹¹¿·¤¹¤ë¡£  
    179179                        $objQuery->update("dtb_module", $sqlval, "module_id = ?", array($sqlval['module_id'])); 
    180180                    } else { 
    181                         // 新規レコードの追加 
     181                        // ¿·µ¬¥ì¥³¡¼¥É¤ÎÄɲà
    182182                        $sqlval['create_date'] = "now()"; 
    183183                        $objQuery->insert("dtb_module", $sqlval); 
    184184                    } 
    185185            } else { 
    186                 sfErrorHeader(">> カラム数が一致しません。:".count($arrCSV)); 
    187             } 
    188         } 
    189          
    190         // 不要なデータを削除 
     186                sfErrorHeader(">> ¥«¥é¥à¿ô¤¬°ìÃפ·¤Þ¤»¤ó¡£¡§".count($arrCSV)); 
     187            } 
     188        } 
     189         
     190        // ÉÔÍפʥǡ¼¥¿¤òºï½ü 
    191191        if(count($arrInsID) > 0){ 
    192192            $del_sql = "DELETE FROM dtb_module WHERE module_id NOT IN (?"; 
     
    204204} 
    205205 
    206 // インストール処理 
     206// ¥¤¥ó¥¹¥È¡¼¥ë½èÍý 
    207207function lfInstallModule() { 
    208208    global $objPage; 
     
    210210    $objQuery = new SC_Query(); 
    211211    $arrRet = $objQuery->select("module_id, extern_php, other_files, install_sql, latest_version", "dtb_module", "module_id = ?", array($_POST['module_id'])); 
    212     $flg_ok = true; // 処理の成功判定 
     212    $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê 
    213213     
    214214    if(count($arrRet) > 0) { 
     
    219219        $arrFiles[] = $arrRet[0]['extern_php']; 
    220220        foreach($arrFiles as $val) { 
    221             // 更新ファイルの取得 
     221            // ¹¹¿·¥Õ¥¡¥¤¥ë¤Î¼èÆÀ 
    222222            $ret=lfCopyUpdateFile($val); 
    223223            if(!$ret) { 
     
    226226        } 
    227227    } else { 
    228         sfErrorHeader(">> 対象の機能は、配布を終了しております。"); 
     228        sfErrorHeader(">> Âоݤε¡Ç½¤Ï¡¢ÇÛÉÛ¤ò½ªÎ»¤·¤Æ¤ª¤ê¤Þ¤¹¡£"); 
    229229        $flg_ok = false; 
    230230    } 
    231231     
    232     // 必要なSQL文の実行 
     232    // ɬÍפÊSQLʸ¤Î¼Â¹Ô 
    233233    if($arrRet[0]['install_sql'] != "") { 
    234         // SQL文実行、パラーメータなし、エラー無視 
     234        // SQLʸ¼Â¹Ô¡¢¥Ñ¥é¡¼¥á¡¼¥¿¤Ê¤·¡¢¥¨¥é¡¼Ìµ»ë 
    235235        $arrInstallSql = split(";",$arrRet[0]['install_sql']); 
    236236        foreach($arrInstallSql as $key => $val){ 
     
    240240        } 
    241241        if(DB::isError($ret)) { 
    242             // エラー文を取得する 
     242            // ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë 
    243243            ereg("\[(.*)\]", $ret->userinfo, $arrKey); 
    244             $objPage->update_mess.=">> テーブル構成の変更に失敗しました。<br>"; 
     244            $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 
    245245            $objPage->update_mess.= $arrKey[0] . "<br>"; 
    246246            $flg_ok = false; 
    247247        } else { 
    248             $objPage->update_mess.=">> テーブル構成の変更を行いました。<br>"; 
     248            $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤·¤¿¡£<br>"; 
    249249        } 
    250250    } 
     
    258258} 
    259259 
    260 // アンインストール処理 
     260// ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë½èÍý 
    261261function lfUninstallModule() { 
    262262    global $objPage; 
     
    264264    $objQuery = new SC_Query(); 
    265265    $arrRet = $objQuery->select("module_id, extern_php, other_files, install_sql, uninstall_sql, latest_version", "dtb_module", "module_id = ?", array($_POST['module_id'])); 
    266     $flg_ok = true; // 処理の成功判定 
     266    $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê 
    267267     
    268268    if(count($arrRet) > 0) { 
    269269         
    270         // モジュール側に削除情報を送信する 
     270        // ¥â¥¸¥å¡¼¥ë¦¤Ëºï½ü¾ðÊó¤òÁ÷¿®¤¹¤ë 
    271271        $req = new HTTP_Request(SITE_URL . "load_module.php"); 
    272272        $req->addCookie("PHPSESSID", $_COOKIE["PHPSESSID"]); 
     
    285285        foreach($arrFiles as $val) { 
    286286            $path = MODULE_PATH . $val; 
    287             // ファイルを削除する 
     287            // ¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë 
    288288            if(file_exists($path) && unlink($path)) { 
    289                 $objPage->update_mess.= ">> " . $path . ":削除成功<br>"; 
     289                $objPage->update_mess.= ">> " . $path . "¡§ºï½üÀ®¸ù<br>"; 
    290290            } else { 
    291                 $objPage->update_mess.= ">> " . $path . ":削除失敗<br>"; 
    292             } 
    293         } 
    294  
    295         // 必要なSQL文の実行 
     291                $objPage->update_mess.= ">> " . $path . "¡§ºï½ü¼ºÇÔ<br>"; 
     292            } 
     293        } 
     294 
     295        // ɬÍפÊSQLʸ¤Î¼Â¹Ô 
    296296        if($arrRet[0]['uninstall_sql'] != "") { 
    297             // SQL文実行、パラーメータなし、エラー無視 
     297            // SQLʸ¼Â¹Ô¡¢¥Ñ¥é¡¼¥á¡¼¥¿¤Ê¤·¡¢¥¨¥é¡¼Ìµ»ë 
    298298            $ret = $objQuery->query($arrRet[0]['uninstall_sql'],"",true); 
    299299            if(DB::isError($ret)) { 
    300                 // エラー文を取得する 
     300                // ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë 
    301301                ereg("\[(.*)\]", $ret->userinfo, $arrKey); 
    302                 $objPage->update_mess.=">> テーブル構成の変更に失敗しました。<br>"; 
     302                $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 
    303303                $objPage->update_mess.= $arrKey[0] . "<br>"; 
    304304                $flg_ok = false; 
    305305            } else { 
    306                 $objPage->update_mess.=">> テーブル構成の変更を行いました。<br>"; 
    307             } 
    308         } 
    309     } else { 
    310         sfErrorHeader(">> 対象の機能は、配布を終了しております。"); 
     306                $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤·¤¿¡£<br>"; 
     307            } 
     308        } 
     309    } else { 
     310        sfErrorHeader(">> Âоݤε¡Ç½¤Ï¡¢ÇÛÉÛ¤ò½ªÎ»¤·¤Æ¤ª¤ê¤Þ¤¹¡£"); 
    311311    } 
    312312 
    313313    if($flg_ok) { 
    314         // バージョン情報を削除する。 
     314        // ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òºï½ü¤¹¤ë¡£ 
    315315        $sqlval['now_version'] = ""; 
    316316        $sqlval['update_date'] = "now()"; 
Note: See TracChangeset for help on using the changeset viewer.