Вход Регистрация
Файл: darkworld/adminka2/backup.php
Строк: 100
<?
Error_Reporting
(E_ALL & ~E_NOTICE);
$ref=rand(100,10000000);

header("Content-type:text/vnd.wap.wml");
echo 
"<?xml version="1.0" encoding="UTF-8"?>";
echo 
"<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml12.dtd">";
echo "<wml>n";
echo 
"<head><meta http-equiv="Cache-Control" content="no-cache" forua="true"/></head>";
echo 
"<card id="index" title="GM-panel">";
echo 
"<p align="left">";

$log htmlspecialchars(stripslashes($log));
$pas htmlspecialchars(stripslashes($pas));
/////////////////////////////////////////////////////
$text = @file("../data/reg/$log.dat"); 
if (
$text!=""){
$udata explode(":||:",$text[0]);
$login=trim($udata[0]);
$password=trim($udata[1]);}
////////////////////////////////////////////////////////
if (md5($pas)==$password && $log==$login && $log!=="" && md5($pas)!=="") {

$u explode(".",$login);

if(
$log=="$u[0].GM"){

class 
zipfile
{

    var 
$datasec = array(); 
    var 
$ctrl_dir = array(); 
    var 
$eof_ctrl_dir "x50x4bx05x06x00x00x00x00"
    var 
$old_offset 0;

    function 
add_dir($name)

    {
        
$name str_replace("\", "/", $name);

        
$fr = "x50x4bx03x04";
        
$fr .= "x0ax00";   
        
$fr .= "x00x00";   
        
$fr .= "x00x00";   
        
$fr .= "x00x00x00x00"; 
        
$fr .= pack("V",0); 
        
$fr .= pack("V",0); 
        
$fr .= pack("V",0); 
        
$fr .= pack("v", strlen($name) ); 
        
$fr .= pack("v", 0 ); 
        
$fr .= $name;
        
$fr .= pack("V",$crc); 
        
$fr .= pack("V",$c_len); 
        
$fr .= pack("V",$unc_len); 
        
$this -> datasec[] = $fr;
        
$new_offset = strlen(implode("", $this->datasec));
        
$cdrec = "x50x4bx01x02";
        
$cdrec .="x00x00";    
        
$cdrec .="x0ax00";    
        
$cdrec .="x00x00";    
        
$cdrec .="x00x00";   
        
$cdrec .="x00x00x00x00"; 
        
$cdrec .= pack("V",0); 
        
$cdrec .= pack("V",0); 
        
$cdrec .= pack("V",0); 
        
$cdrec .= pack("v", strlen($name) ); 
        
$cdrec .= pack("v", 0 ); 
        
$cdrec .= pack("v", 0 ); 
        
$cdrec .= pack("v", 0 ); 
        
$cdrec .= pack("v", 0 ); 
        
$ext = "x00x00x10x00";
        
$ext = "xffxffxffxff";
        
$cdrec .= pack("V", 16 ); 
        
$cdrec .= pack("V", $this -> old_offset ); 
        
$this -> old_offset = $new_offset;
        
$cdrec .= $name;
        
$this -> ctrl_dir[] = $cdrec;
    }


    function add_file(
$data$name)
    { 
$name = str_replace("\", "/", $name);
$fr = "x50x4bx03x04";
        
$fr .= "x14x00";    
        
$fr .= "x00x00";    
        
$fr .= "x08x00";    
        
$fr .= "x00x00x00x00"; 

        
$unc_len = strlen($data);
        
$crc = crc32($data);
        
$zdata = gzcompress($data);
        
$zdata = substr( substr($zdata, 0, strlen($zdata) - 4), 2); 
        
$c_len = strlen($zdata);
        
$fr .= pack("V",$crc); 
        
$fr .= pack("V",$c_len); 
        
$fr .= pack("V",$unc_len); 
        
$fr .= pack("v", strlen($name) ); 
        
$fr .= pack("v", 0 ); 
        
$fr .= $name;
        
$fr .= $zdata;
        
$fr .= pack("V",$crc); 
        
$fr .= pack("V",$c_len); 
        
$fr .= pack("V",$unc_len); 
        
$this -> datasec[] = $fr;
        
$new_offset = strlen(implode("", $this->datasec));
        
$cdrec = "x50x4bx01x02";
        
$cdrec .="x00x00";    
        
$cdrec .="x14x00";  
        
$cdrec .="x00x00";   
        
$cdrec .="x08x00";   
        
$cdrec .="x00x00x00x00"; 
        
$cdrec .= pack("V",$crc); 
        
$cdrec .= pack("V",$c_len); 
        
$cdrec .= pack("V",$unc_len);
        
$cdrec .= pack("v", strlen($name) ); 
        
$cdrec .= pack("v", 0 ); 
        
$cdrec .= pack("v", 0 ); 
        
$cdrec .= pack("v", 0 ); 
        
$cdrec .= pack("v", 0 ); 
        
$cdrec .= pack("V", 32 ); 

        
$cdrec .= pack("V", $this -> old_offset ); 
        
$this -> old_offset = $new_offset;

        
$cdrec .= $name;
        
$this -> ctrl_dir[] = $cdrec;
    }

    function file() { 
        
$data = implode("", $this -> datasec);
        
$ctrldir = implode("", $this -> ctrl_dir);
        return
            
$data.
            
$ctrldir.
            
$this -> eof_ctrl_dir.
            pack("
v", sizeof($this -> ctrl_dir)).    
            pack("
v", sizeof($this -> ctrl_dir)). 
            pack("
V", strlen($ctrldir)).   
            pack("
V", strlen($data)).    
            "
x00x00"; 
    }
}


$abort = ignore_user_abort(1);

if (0 == (bool) ini_get('safe_mode')){
    set_time_limit(600);
}




$zipfile = new zipfile();

$fdir = opendir('../data/');
while(
$file = readdir($fdir)){

    if (
$file != '.' and $file != '..' and $file != 'chat.dat' and $file != 'doss' and $file != 'drop' and $file != 'gorod' and $file != 'mags' and $file != 'monstrs' and $file != 'msg' and $file != 'paty' and $file != 'pvp' and $file != 'shop' and $file != 'tmp' and $file != 'vesh'){

        if (is_file('../data/'.
$file)){$zipfile->add_file(file_get_contents('../data/'.$file),$file);}

        if (is_dir('../data/'.
$file)){

            
$sdir = opendir('../data/'.$file);

            while(
$sfile = readdir($sdir)){

                if (
$sfile != '.' and $sfile != '..'){

                    if (is_file('../data/'.
$file.'/'.$sfile)){$zipfile->add_file(file_get_contents('../data/'.$file.'/'.$sfile), $file.'/'.$sfile);}

        if (is_dir('../data/'.
$file.'/'.$sfile)){

            
$ssdir = opendir('../data/'.$file.'/'.$sfile);
            while(
$ssfile = readdir($ssdir)){
                if (
$ssfile != '.' and $ssfile != '..'){
                    if (is_file('../data/'.
$file.'/'.$sfile.'/'.$ssfile)){$zipfile->add_file(file_get_contents('../data/'.$file.'/'.$sfile.'/'.$ssfile), $file.'/'.$sfile.'/'.$ssfile);}

}}}}}}}}

$save=$zipfile->file();

$fp=fopen("../backups/data.zip","w");  
flock(
$fp,LOCK_EX);                                                     
fputs(
$fp,"$save");
fflush(
$fp);
flock(
$fp,LOCK_UN);
fclose(
$fp);

if(
$fp){echo"Backup &#x443;&#x441;&#x43F;&#x435;&#x448;&#x43D;&#x43E; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43D;!";}

}
}else{echo
"<small>&#x41F;&#x430;&#x440;&#x43E;&#x43B;&#x44C; &#x438;&#x43B;&#x438; &#x43B;&#x43E;&#x433;&#x438;&#x43D; &#x43D;&#x435;&#x432;&#x435;&#x440;&#x435;&#x43D;!</small>";}


echo 
"</p></card></wml>"

?>
Онлайн: 1
Реклама