Вход Регистрация
Файл: crons/autobu.php
Строк: 157
<?php

include("../config.php");
include(
"../autoconfig.php");
include(
"yandexdisk.php");
include(
"database.php");

$path = SANTI_SERVERPATH;
$path = preg_replace('/\+|/+/', '/', $path);
$path = rtrim($path, '/');
$site_root = $path;
$archivename = "santi_abu_".date('Y-m-d_H-i').".sabu";

$cwd = getcwd();
$cwd = preg_replace('/\+|/+/', '/', $cwd);

$wspl1 = chr(119).chr(105).chr(115).chr(112).chr(108); //wispl
$wspl2 = chr(119).chr(105).chr(36).chr(112).chr(108); //wi$pl

$wsfn1 = chr(119).chr(105).chr(115).chr(102).chr(110);//wisfn
$wsfn2 = chr(119).chr(105).chr(36).chr(102).chr(110);//wi$fn

$exludethisdir=true; // - не эти каталоги TRUE/FALSE
$exludethisdirmode = SANTI_PATH;

$onlythisext=false; // - только с расширением TRUE/FALSE
$onlythisextmode = "";

$onlyfilesize=true;
$onlyfilesizemode = 3145728; //не более 3х мегабайт

$exludesubdirs=false; // - не обрабатывать подкаталоги

if(STATUS_BU)
{
    
autopilots_add_time(3);
    
$path_result = compress($path, $archivename);
    if(
YADISK_BU)
    {
        if(
file_exists(SANTI_SERVERPATH."/".SANTI_PATH."/datas/backups/".$archivename))            
            
send_to_yadisk($archivename);
        
unlink(SANTI_SERVERPATH."/".SANTI_PATH."/datas/backups/".$archivename);
    }
}
else
    die(); 

function 
compress($path, $archivename) 
{
        global 
$site_root, $totalbytes, $totalfiles, $output, $add_in_contents;
        @
chdir($site_root);
        
_get_dir_tree();

        if (
extension_loaded('zlib')) 
        {
            
$fpz = gzopen(SANTI_SERVERPATH.'/'.SANTI_PATH.'/datas/backups/'.$archivename, 'wb9');
            
gzwrite($fpz, $add_in_contents);
            
gzclose($fpz);
        } 
        else 
        {
            return 
"0";
        }

        return 
"1";
}

function 
add_in_data($add_in_data_file) 
{
        global 
$site_root, $add_in_contents, $wspl1, $wspl2, $wsfn1, $wsfn2;
        if (!isset(
$add_in_contents)) {$add_in_contents = '';}

        
$contents = @file_get_contents($site_root.$add_in_data_file);

        
$contents = @str_replace($wspl1, $wspl2, $contents);
        
$contents = @str_replace($wsfn1, $wsfn2, $contents);

        
$add_in_contents .= $wspl1;
        
$add_in_contents .= $add_in_data_file;
        
$add_in_contents .= $wsfn1;
        
$add_in_contents .= @substr(sprintf('%o', fileperms($site_root.$add_in_data_file)), -3);
        
$add_in_contents .= $wsfn1;
        
$add_in_contents .= $contents;
}

function 
_get_dir_tree($parentdir='/') 
{
        
//exludesubdirs - не обрабатывать подкаталоги TRUE/FALSE значение в 
        //exludethisdir - не эти каталоги TRUE/FALSE значение в $exludethisdirmode
        //onlythisext - только с расширением TRUE/FALSE значение в $onlythisextmode
        //onlyfilesize - не более байт TRUE/FALSE значение в $onlyfilesizemode

        
global $totalbytes, $totalfiles, $output, $exludesubdirs, $onlythisext, $onlythisextmode, $onlyfilesize, $onlyfilesizemode, $exludethisdir, $exludethisdirmode;

        if (
file_exists('.htaccess'))
        {
                
$add_htaccess = 1;
                
$add_htaccess2 = 1;

                if (!
preg_match('/\.('.$onlythisextmode.')$/i', '.htaccess') and $onlythisext) 
                {
                        
$add_htaccess = 0;
                }

                if (
$onlyfilesize and filesize('.htaccess') > $onlyfilesizemode) 
                {
                    
$add_htaccess2 = 0;
                }

                if (
$add_htaccess == 1 and $add_htaccess2 == 1) 
                {
                    
add_in_data ($parentdir.'.htaccess');
                    
//$output .= ' <span class="filedir">'.ltrim($parentdir, '/').'.htaccess</span><br />';
                
}
        }

        if (
file_exists('.htpasswd')) 
        {
            
$add_htpasswd = 1;
            
$add_htpasswd2 = 1;
            if (!
preg_match('/\.('.$onlythisextmode.')$/i', '.htpasswd') and $onlythisext) 
            {
                
$add_htpasswd = 0;
            }

            if (
$onlyfilesize and filesize('.htpasswd') > $onlyfilesizemode) 
            {
                
$add_htpasswd2 = 0;
            }

            if (
$add_htpasswd == 1 and $add_htpasswd2 == 1)
            {
                
add_in_data($parentdir.'.htpasswd');
                
//$output .= ' <span class="filedir">'.ltrim($parentdir, '/').'.htpasswd</span><br />';
            
}
        }

        foreach (
glob('*')?glob('*'):array() as $file) 
        {
            if (
substr($file, 0, 4) == 'sabu') {continue;}
            if (
substr($file, -4, 4) == 'sabu') {continue;}

            if (
is_file($file) && is_readable($file)) 
            {
                if (
$onlyfilesize and filesize($file) > $onlyfilesizemode) {continue;}
                if (!
preg_match('/\.('.$onlythisextmode.')$/i', $file) and $onlythisext) {continue;}

                
add_in_data($parentdir.$file);
                
//$output .= ' <span class="filedir">'.ltrim($parentdir, '/').$file.'</span><br />';
            
}
            else if (
is_dir($file)) 
            {
                if (!
$exludesubdirs) 
                {
                    if (
preg_match('/('.$exludethisdirmode.')$/i', $file) and $exludethisdir) {continue;}

                    
$cwd = getcwd();
                    
$site_root = preg_replace('/\+/', '/', $cwd);
                    
/*$output .= '<span class="filedir">'.$site_root.'/'.$file.'</span><br />';*/

                    
if (!@chdir($file)) 
                    {
                        continue;
                    }

                    
_get_dir_tree($parentdir.$file.'/');
                    
chdir("..");
                }
            }
        }
}
?>
Онлайн: 0
Реклама