Changeset 5642 for temp/trunk/html


Ignore:
Timestamp:
2006/09/24 20:39:04 (20 years ago)
Author:
kakinaka
Message:

blank

File:
1 edited

Legend:

Unmodified
Added
Removed
  • temp/trunk/html/admin/system/bkup.php

    r5641 r5642  
    273273} 
    274274 
    275  
    276  
    277  
    278  
    279  
    280  
    281  
    282  
    283  
    284  
    285  
    286 // ¹¹¿·¥Õ¥¡¥¤¥ë¤Î¼èÆÀ 
    287 function lfCopyUpdateFile($val) { 
    288     global $objPage; 
    289      
    290     $src_path = sfRmDupSlash(UPDATE_HTTP . $val . ".txt"); 
    291     $dst_path = sfRmDupSlash(ROOT_DIR . $val); 
    292     $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê 
    293      
    294     $src_fp = @fopen($src_path, "rb"); 
    295      
    296     if(!$src_fp) { 
    297         sfErrorHeader(">> " . $src_path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"); 
    298         $flg_ok = false; 
    299     } else { 
    300         // ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤ÆÆÉ¤ß¹þ¤à 
    301         $contents = ''; 
    302         while (!feof($src_fp)) { 
    303             $contents .= fread($src_fp, 1024); 
    304         } 
    305         fclose($src_fp); 
    306          
    307         // ¥Ç¥£¥ì¥¯¥È¥êºîÀ®¤ò»î¤ß¤ë 
    308         lfMakeDirectory($dst_path); 
    309         // ¥Õ¥¡¥¤¥ë½ñ¹þ¤ß        
    310         $dst_fp = @fopen($dst_path, "wb"); 
    311         if(!$dst_fp) { 
    312             sfErrorHeader(">> " . $dst_path . "¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£"); 
    313             $flg_ok = false; 
    314         } else { 
    315             fwrite($dst_fp, $contents); 
    316             fclose($dst_fp); 
    317         } 
    318     } 
    319      
    320     if($flg_ok) { 
    321         $objPage->update_mess.= ">> " . $dst_path . "¡§¥³¥Ô¡¼À®¸ù<br>"; 
    322     } else { 
    323         $objPage->update_mess.= ">> " . $dst_path . "¡§¥³¥Ô¡¼¼ºÇÔ<br>";      
    324     } 
    325      
    326     return $flg_ok; 
    327 } 
    328  
    329 // ¤¹¤Ù¤Æ¤Î¥Ñ¥¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë 
    330 function lfMakeDirectory($path) { 
    331     $pos = 0; 
    332     $cnt = 0;               // ̵¸Â¥ë¡¼¥×Âкö 
    333     $len = strlen($path);   // ̵¸Â¥ë¡¼¥×Âкö 
    334      
    335     while($cnt <= $len) { 
    336         $pos = strpos($path, "/", $pos); 
    337         // ¤³¤³¤Ç¤ÎȽÄê¤Ï¡¢Åù¹æ3¤Ä¤ò»ÈÍÑ 
    338         if($pos === false) { 
    339             // ¥¹¥é¥Ã¥·¥å¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¥ë¡¼¥×¤«¤éÈ´¤±¤ë 
    340             break; 
    341         } 
    342         $pos++; // ʸ»úȯ¸«°ÌÃÖ¤ò°ìʸ»ú¿Ê¤á¤ë 
    343         $dir = substr($path, 0, $pos); 
    344          
    345         // ¤¹¤Ç¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë 
    346         if(!file_exists($dir)) { 
    347             mkdir($dir); 
    348         } 
    349         $cnt++; // ̵¸Â¥ë¡¼¥×Âкö 
    350     } 
    351 } 
    352  
    353 // ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë 
    354 function lfLoadUpdateList() { 
    355     $objQuery = new SC_Query(); 
    356     $path = UPDATE_HTTP . "update.txt"; 
    357     $fp = @fopen($path, "rb"); 
    358      
    359     if(!$fp) { 
    360         sfErrorHeader(">> " . $path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£"); 
    361     } else { 
    362         while (!feof($fp)) { 
    363             $arrCSV = fgetcsv($fp, UPDATE_CSV_LINE_MAX); 
    364             // ¥«¥é¥à¿ô¤¬Àµ¾ï¤Ç¤¢¤Ã¤¿¾ì¹ç¤Î¤ß 
    365             if(count($arrCSV) == UPDATE_CSV_COL_MAX) { 
    366                 // ¼èÆÀ¤·¤¿¥¢¥Ã¥×¥Ç¡¼¥È¾ðÊó¤òDB¤Ë½ñ¤­¹þ¤à 
    367                 $sqlval['module_id'] = $arrCSV[0]; 
    368                 $sqlval['module_name'] = $arrCSV[1]; 
    369                 $sqlval['latest_version'] = $arrCSV[3]; 
    370                 $sqlval['module_explain'] = $arrCSV[4]; 
    371                 $sqlval['main_php'] = $arrCSV[5]; 
    372                 $sqlval['extern_php'] = $arrCSV[6]; 
    373                 $sqlval['install_sql'] = $arrCSV[7]; 
    374                 $sqlval['uninstall_sql'] = $arrCSV[8];               
    375                 $sqlval['other_files'] = $arrCSV[9]; 
    376                 $sqlval['del_flg'] = $arrCSV[10]; 
    377                 $sqlval['update_date'] = "now()"; 
    378                 $sqlval['release_date'] = $arrCSV[12]; 
    379                 // ´û¸¥ì¥³¡¼¥É¤Î¥Á¥§¥Ã¥¯ 
    380                 $cnt = $objQuery->count("dtb_update", "module_id = ?", array($sqlval['module_id'])); 
    381                 if($cnt > 0) { 
    382                     // ¤¹¤Ç¤Ë¼èÆÀ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¹¹¿·¤¹¤ë¡£  
    383                     $objQuery->update("dtb_update", $sqlval, "module_id = ?", array($sqlval['module_id'])); 
    384                 } else { 
    385                     // ¿·µ¬¥ì¥³¡¼¥É¤ÎÄɲà
    386                     $sqlval['create_date'] = "now()"; 
    387                     $objQuery->insert("dtb_update", $sqlval); 
    388                 } 
    389             } 
    390         } 
    391         fclose($fp); 
    392     } 
    393 } 
    394  
    395 // ¥¤¥ó¥¹¥È¡¼¥ë½èÍý 
    396 function lfInstallModule() { 
    397     global $objPage; 
    398      
    399     $objQuery = new SC_Query(); 
    400     $arrRet = $objQuery->select("module_id, extern_php, other_files, install_sql, latest_version", "dtb_update", "module_id = ?", array($_POST['module_id'])); 
    401     $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê 
    402      
    403     if(count($arrRet) > 0) { 
    404         $arrFiles = array(); 
    405         if($arrRet[0]['other_files'] != "") { 
    406             $arrFiles = split("\|", $arrRet[0]['other_files']); 
    407         } 
    408         $arrFiles[] = $arrRet[0]['extern_php']; 
    409         foreach($arrFiles as $val) { 
    410             // ¹¹¿·¥Õ¥¡¥¤¥ë¤Î¼èÆÀ 
    411             $ret=lfCopyUpdateFile($val); 
    412             if(!$ret) { 
    413                 $flg_ok = false; 
    414             } 
    415         } 
    416     } else { 
    417         sfErrorHeader(">> Âоݤε¡Ç½¤Ï¡¢ÇÛÉÛ¤ò½ªÎ»¤·¤Æ¤ª¤ê¤Þ¤¹¡£"); 
    418         $flg_ok = false; 
    419     } 
    420      
    421     // ɬÍפÊSQLʸ¤Î¼Â¹Ô 
    422     if($arrRet[0]['install_sql'] != "") { 
    423         // SQLʸ¼Â¹Ô¡¢¥Ñ¥é¡¼¥á¡¼¥¿¤Ê¤·¡¢¥¨¥é¡¼Ìµ»ë 
    424         $arrInstallSql = split(";",$arrRet[0]['install_sql']); 
    425         foreach($arrInstallSql as $key => $val){ 
    426             if (trim($val) != ""){ 
    427                 $ret = $objQuery->query(trim($val),"",true); 
    428             } 
    429         } 
    430         if(DB::isError($ret)) { 
    431             // ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë 
    432             ereg("\[(.*)\]", $ret->userinfo, $arrKey); 
    433             $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 
    434             $objPage->update_mess.= $arrKey[0] . "<br>"; 
    435             $flg_ok = false; 
    436         } else { 
    437             $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤·¤¿¡£<br>"; 
    438         } 
    439     } 
    440      
    441     if($flg_ok) { 
    442         $sqlval['now_version'] = $arrRet[0]['latest_version']; 
    443         $sqlval['update_date'] = "now()"; 
    444         $objQuery->update("dtb_update", $sqlval, "module_id = ?", array($arrRet[0]['module_id'])); 
    445     } 
    446 } 
    447  
    448 // ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë½èÍý 
    449 function lfUninstallModule() { 
    450     global $objPage; 
    451      
    452     $objQuery = new SC_Query(); 
    453     $arrRet = $objQuery->select("module_id, extern_php, other_files, install_sql, uninstall_sql, latest_version", "dtb_update", "module_id = ?", array($_POST['module_id'])); 
    454     $flg_ok = true; // ½èÍý¤ÎÀ®¸ùȽÄê 
    455      
    456     if(count($arrRet) > 0) { 
    457         $arrFiles = array(); 
    458         if($arrRet[0]['other_files'] != "") { 
    459             $arrFiles = split("\|", $arrRet[0]['other_files']); 
    460         } 
    461         $arrFiles[] = $arrRet[0]['extern_php']; 
    462         foreach($arrFiles as $val) { 
    463             $path = ROOT_DIR . $val; 
    464             if(file_exists($path)) { 
    465                 // ¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë 
    466                 if(unlink($path)) { 
    467                     $objPage->update_mess.= ">> " . $path . "¡§ºï½üÀ®¸ù<br>"; 
    468                 } else { 
    469                     $objPage->update_mess.= ">> " . $path . "¡§ºï½ü¼ºÇÔ<br>"; 
    470                 } 
    471             } 
    472         } 
    473          
    474         // ɬÍפÊSQLʸ¤Î¼Â¹Ô 
    475         if($arrRet[0]['uninstall_sql'] != "") { 
    476             // SQLʸ¼Â¹Ô¡¢¥Ñ¥é¡¼¥á¡¼¥¿¤Ê¤·¡¢¥¨¥é¡¼Ìµ»ë 
    477             $ret = $objQuery->query($arrRet[0]['uninstall_sql'],"",true); 
    478             if(DB::isError($ret)) { 
    479                 // ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë 
    480                 ereg("\[(.*)\]", $ret->userinfo, $arrKey); 
    481                 $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>"; 
    482                 $objPage->update_mess.= $arrKey[0] . "<br>"; 
    483                 $flg_ok = false; 
    484             } else { 
    485                 $objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊѹ¹¤ò¹Ô¤¤¤Þ¤·¤¿¡£<br>"; 
    486             } 
    487         }        
    488     } else { 
    489         sfErrorHeader(">> Âоݤε¡Ç½¤Ï¡¢ÇÛÉÛ¤ò½ªÎ»¤·¤Æ¤ª¤ê¤Þ¤¹¡£"); 
    490     } 
    491      
    492     if($flg_ok) { 
    493         // ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òºï½ü¤¹¤ë¡£ 
    494         $sqlval['now_version'] = ""; 
    495         $sqlval['update_date'] = "now()"; 
    496         $objQuery->update("dtb_update", $sqlval, "module_id = ?", array($arrRet[0]['module_id'])); 
    497     } 
    498 } 
    499  
    500  
    501275?> 
Note: See TracChangeset for help on using the changeset viewer.