| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.9/wp-content/plugins/duplicator/src/Libs/DupArchive/Utils/ |
Upload File : |
<?php
/**
*
* @package Duplicator
* @copyright (c) 2021, Snapcreek LLC
*/
namespace Duplicator\Libs\DupArchive\Utils;
use Duplicator\Libs\Snap\SnapUtil;
class DupArchiveUtil
{
public static $TRACE_ON = false; //rodo rework this
public static $logger = null;
/**
* get file list
*
* @param string $base_dir folder to check
* @param bool $recurse true for recursive scan
*
* @return string[]
*/
public static function expandFiles($base_dir, $recurse)
{
$files = array();
foreach (scandir($base_dir) as $file) {
if (($file == '.') || ($file == '..')) {
continue;
}
$file = "{$base_dir}/{$file}";
if (is_file($file)) {
$files [] = $file;
} elseif (is_dir($file) && $recurse) {
$files = array_merge($files, self::expandFiles($file, $recurse));
}
}
return $files;
}
/**
* get folder list
*
* @param string $base_dir folder to check
* @param bool $recurse true for recursive scan
*
* @return string[]
*/
public static function expandDirectories($base_dir, $recurse)
{
$directories = array();
foreach (scandir($base_dir) as $candidate) {
if (($candidate == '.') || ($candidate == '..')) {
continue;
}
$candidate = "{$base_dir}/{$candidate}";
if (is_dir($candidate)) {
$directories[] = $candidate;
if ($recurse) {
$directories = array_merge($directories, self::expandDirectories($candidate, $recurse));
}
}
}
return $directories;
}
/**
* Write $s in log
*
* @param string $s log string
* @param boolean $flush if true flosh name
* @param string $callingFunctionName function has called log
*
* @return void
*/
public static function log($s, $flush = false, $callingFunctionName = null)
{
if (self::$logger != null) {
if ($callingFunctionName === null) {
$callingFunctionName = SnapUtil::getCallingFunctionName();
}
self::$logger->log($s, $flush, $callingFunctionName);
} else {
// throw new Exception('Logging object not initialized');
}
}
/**
* Write trace log
*
* @param string $s log string
* @param boolean $flush if true flosh name
* @param string $callingFunctionName function has called log
*
* @return void
*/
public static function tlog($s, $flush = false, $callingFunctionName = null)
{
if (self::$TRACE_ON) {
if ($callingFunctionName === null) {
$callingFunctionName = SnapUtil::getCallingFunctionName();
}
self::log("####{$s}", $flush, $callingFunctionName);
}
}
/**
* Write object in trace log
*
* @param string $s log string
* @param mixed $o value to write in log
* @param boolean $flush if true flosh name
* @param string $callingFunctionName function has called log
*
* @return void
*/
public static function tlogObject($s, $o, $flush = false, $callingFunctionName = null)
{
if (is_object($o)) {
$o = get_object_vars($o);
}
$ostring = print_r($o, true);
if ($callingFunctionName === null) {
$callingFunctionName = SnapUtil::getCallingFunctionName();
}
self::tlog($s, $flush, $callingFunctionName);
self::tlog($ostring, $flush, $callingFunctionName);
}
/**
* Write object in log
*
* @param string $s log string
* @param mixed $o value to write in log
* @param boolean $flush if true flosh name
* @param string $callingFunctionName function has called log
*
* @return void
*/
public static function logObject($s, $o, $flush = false, $callingFunctionName = null)
{
$ostring = print_r($o, true);
if ($callingFunctionName === null) {
$callingFunctionName = SnapUtil::getCallingFunctionName();
}
self::log($s, $flush, $callingFunctionName);
self::log($ostring, $flush, $callingFunctionName);
}
}