| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,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, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/elena-brest.ru/wp-content/plugins/duplicator-pro/src/Utils/ |
Upload File : |
<?php
/**
* @package Duplicator
* @copyright (c) 2022, Snap Creek LLC
*/
namespace Duplicator\Utils;
use DUP_PRO_Archive;
use DUP_PRO_U;
use Duplicator\Libs\Snap\SnapIO;
class PathUtil
{
/**
* Checks if path is one of the WordPress core dirs
*
* @param string $path path to check
*
* @return bool Whether the storage path is one of the WP core dirs or not
*/
public static function isPathInCoreDirs($path)
{
$coreDirs = array_map(array(SnapIO::class, 'safePathTrailingslashit'), DUP_PRO_U::getWPCoreDirs(true));
$localPaths = [SnapIO::safePathTrailingslashit($path)];
$removeTempFile = false;
if (!file_exists($path)) {
// create temp file for realpath function
$removeTempFile = SnapIO::touch($path);
}
$realPath = SnapIO::safePathTrailingslashit($path, true);
if ($removeTempFile) {
SnapIO::unlink($path);
}
if ($localPaths[0] !== $realPath) {
$localPaths[] = $realPath;
}
if ((count(array_intersect($coreDirs, $localPaths)) > 0)) {
return true;
}
$originalPaths = array_map('untrailingslashit', (array) DUP_PRO_Archive::getOriginalPaths());
$archivePaths = array_map('untrailingslashit', (array) DUP_PRO_Archive::getArchiveListPaths());
$mainPathsList = [
$originalPaths['abs'] . '/wp-includes',
$originalPaths['abs'] . '/wp-admin',
$originalPaths['themes'],
$originalPaths['plugins'],
$originalPaths['uploads'],
$originalPaths['wpcontent'] . '/upgrade',
$originalPaths['wpcontent'] . '/backups-dup-lite',
$originalPaths['wpcontent'] . '/backups-dup-pro',
$archivePaths['abs'] . '/wp-includes',
$archivePaths['abs'] . '/wp-admin',
$archivePaths['themes'],
$archivePaths['plugins'],
$archivePaths['uploads'],
$archivePaths['wpcontent'] . '/upgrade',
$archivePaths['wpcontent'] . '/backups-dup-lite',
$archivePaths['wpcontent'] . '/backups-dup-pro',
];
$mainPathsList = array_values(array_unique($mainPathsList));
foreach ($mainPathsList as $mainPath) {
foreach ($localPaths as $localPath) {
if (SnapIO::isChildPath($localPath, $mainPath)) {
return true;
}
}
}
return false;
}
}