Changeset 1526


Ignore:
Timestamp:
04/26/06 15:57:26 (7 years ago)
Author:
benjamin
Message:

Prevents the overwrite of existing stats or web pages by webalizer daily process. Closes #89

File:
1 edited

Legend:

Unmodified
Added
Removed
  • alternc/trunk/bureau/class/m_mysql.php

    r958 r1526  
    296296  /* ----------------------------------------------------------------- */ 
    297297  /** Restore a sql backup script on a user's database. 
    298    * <b>TODO : </b> Add a parameter to choose which database to restore. 
    299    */ 
    300   function restore($file,$stdout,$r) { 
     298   */ 
     299  function restore($file,$stdout,$id) { 
    301300    global $err,$bro,$mem,$L_MYSQL_HOST; 
     301    if (!$r=$mysql->get_mysql_details($id)) { 
     302      return false; 
     303    } 
    302304    if (!($fi=$bro->convertabsolute($file,0))) { 
    303305      $err->raise("mysql",9); 
     306      return false; 
    304307    } 
    305308    if (substr($fi,-3)==".gz") { 
    306       $exe="/bin/gzip -d -c <\"$fi\" | /usr/bin/mysql -h".$L_MYSQL_HOST." -u".$r["login"]." -p".$r["pass"]." ".$r["db"]; 
     309      $exe="/bin/gzip -d -c <".escapeshellarg($fi)." | /usr/bin/mysql -h".escapeshellarg($L_MYSQL_HOST)." -u".escapeshellarg($r["login"])." -p".escapeshellarg($r["pass"])." ".escapeshellarg($r["db"]); 
     310    } elseif (substr($fi,-4)==".bz2") { 
     311      $exe="/bin/bunzip2 -d -c <".escapeshellarg($fi)." | /usr/bin/mysql -h".escapeshellarg($L_MYSQL_HOST)." -u".escapeshellarg($r["login"])." -p".escapeshellarg($r["pass"])." ".escapeshellarg($r["db"]); 
    307312    } else { 
    308       $exe="/usr/bin/mysql -h".$L_MYSQL_HOST." -u".$r["login"]." -p".$r["pass"]." ".$r["db"]." <".$fi; 
     313 { 
     314      $exe="/usr/bin/mysql -h".escapeshellarg($L_MYSQL_HOST)." -u".escapeshellarg($r["login"])." -p".escapeshellarg($r["pass"])." ".escapeshellarg($r["db"])." <".escapeshellarg($fi); 
    309315    } 
    310316    $exe .= " 2>&1"; 
Note: See TracChangeset for help on using the changeset viewer.