File "class-wpvivid-error-log.php"
Full Path: /home/safaelji/blog.automotomaroc.com/wp-content/plugins/wpvivid-backuprestore/includes/class-wpvivid-error-log.php
File size: 6.23 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if (!defined('WPVIVID_PLUGIN_DIR')){
die;
}
class WPvivid_error_log
{
public static function create_error_log($log_file_name)
{
$dir=dirname($log_file_name);
$file=basename($log_file_name);
if(!is_dir($dir.DIRECTORY_SEPARATOR.'error'))
{
@mkdir($dir.DIRECTORY_SEPARATOR.'error',0777,true);
//@fopen($dir.DIRECTORY_SEPARATOR.'error'.'/index.html', 'x');
$tempfile=@fopen($dir.DIRECTORY_SEPARATOR.'error'.'/.htaccess', 'x');
if($tempfile)
{
//$text="deny from all";
$text="<IfModule mod_rewrite.c>\r\nRewriteEngine On\r\nRewriteRule .* - [F,L]\r\n</IfModule>";
fwrite($tempfile,$text );
@fclose($tempfile);
}
}
if(!file_exists($log_file_name))
{
return ;
}
if(file_exists($dir.DIRECTORY_SEPARATOR.'error'.DIRECTORY_SEPARATOR.$file))
{
@wp_delete_file($dir.DIRECTORY_SEPARATOR.'error'.DIRECTORY_SEPARATOR.$file);
}
@rename($log_file_name,$dir.DIRECTORY_SEPARATOR.'error'.DIRECTORY_SEPARATOR.$file);
//self::delete_oldest_error_log();
}
public static function create_restore_error_log($log_file_name)
{
$dir=dirname($log_file_name);
if(!is_dir($dir.DIRECTORY_SEPARATOR.'wpvivid_log'.DIRECTORY_SEPARATOR.'error'))
{
@mkdir($dir.DIRECTORY_SEPARATOR.'wpvivid_log'.DIRECTORY_SEPARATOR.'error',0777,true);
//@fopen($dir.DIRECTORY_SEPARATOR.'wpvivid_log'.DIRECTORY_SEPARATOR.'error'.'/index.html', 'x');
$tempfile=@fopen($dir.DIRECTORY_SEPARATOR.'wpvivid_log'.DIRECTORY_SEPARATOR.'error'.'/.htaccess', 'x');
if($tempfile)
{
//$text="deny from all";
$text="<IfModule mod_rewrite.c>\r\nRewriteEngine On\r\nRewriteRule .* - [F,L]\r\n</IfModule>";
fwrite($tempfile,$text );
@fclose($tempfile);
}
}
$id = uniqid('wpvivid-');
$file=$id.'_restore_log.txt';
if(file_exists($dir.DIRECTORY_SEPARATOR.'error'.DIRECTORY_SEPARATOR.$file))
{
@wp_delete_file($dir.DIRECTORY_SEPARATOR.'error'.DIRECTORY_SEPARATOR.$file);
}
@copy($log_file_name,$dir.DIRECTORY_SEPARATOR.'wpvivid_log'.DIRECTORY_SEPARATOR.'error'.DIRECTORY_SEPARATOR.$file);
//self::delete_oldest_error_log();
}
public static function delete_oldest_error_log()
{
$files=array();
$log=new WPvivid_Log();
$dir=$log->GetSaveLogFolder();
$dir=$dir.'error';
@$handler=opendir($dir);
if($handler===false)
return;
$regex='#^wpvivid.*_log.txt#';
while(($filename=readdir($handler))!==false)
{
if($filename != "." && $filename != "..")
{
if(is_dir($dir.DIRECTORY_SEPARATOR.$filename))
{
continue;
}else{
if(preg_match($regex,$filename))
{
$files[$filename] = $dir.DIRECTORY_SEPARATOR.$filename;
}
}
}
}
if($handler)
@closedir($handler);
$oldest=0;
$oldest_filename='';
$max_count=5;
if(sizeof($files)>$max_count)
{
foreach ($files as $file)
{
if($oldest==0)
{
$oldest=filemtime($file);
$oldest_filename=$file;
}
else
{
if($oldest>filemtime($file))
{
$oldest=filemtime($file);
$oldest_filename=$file;
}
}
}
if($oldest_filename!='')
{
@wp_delete_file($oldest_filename);
}
}
}
public static function get_error_log()
{
$log=new WPvivid_Log();
$dir=$log->GetSaveLogFolder();
$dir=$dir.'error';
$files=array();
$handler=opendir($dir);
if($handler === false){
return $files;
}
$regex='#^wpvivid.*_log.txt#';
while(($filename=readdir($handler))!==false)
{
if($filename != "." && $filename != "..")
{
if(is_dir($dir.$filename))
{
continue;
}
else{
if(preg_match($regex,$filename))
{
$files[] = $dir.DIRECTORY_SEPARATOR.$filename;
}
}
}
}
if($handler)
@closedir($handler);
return $files;
}
public static function get_staging_error_log()
{
if(!class_exists('WPvivid_Staging_Log_Free'))
include_once WPVIVID_PLUGIN_DIR . '/includes/staging/class-wpvivid-staging-log.php';
$log=new WPvivid_Staging_Log_Free();
$dir=$log->GetSaveLogFolder();
$dir=$dir.'error';
$files=array();
if(is_dir($dir) && file_exists($dir))
{
$handler=opendir($dir);
if($handler === false){
return $files;
}
$regex='#^wpvivid.*_log.txt#';
while(($filename=readdir($handler))!==false)
{
if($filename != "." && $filename != "..")
{
if(is_dir($dir.$filename))
{
continue;
}
else{
if(preg_match($regex,$filename))
{
$files[] = $dir.DIRECTORY_SEPARATOR.$filename;
}
}
}
}
if($handler)
@closedir($handler);
return $files;
}
else
{
return $files;
}
}
}