| Server IP : 172.67.188.169 / Your IP : 104.23.243.34 Web Server : nginx/1.24.0 System : Linux seo3 5.15.0-179-generic #189-Ubuntu SMP Tue May 5 18:20:56 UTC 2026 x86_64 User : root ( 0) PHP Version : 7.4.33 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 MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/jayronca.com/wp-content/plugins/duplicator-pro/classes/ |
Upload File : |
<?php
defined("ABSPATH") or die("");
if (!defined('DUPLICATOR_PRO_VERSION')) exit; // Exit if accessed directly
require_once (DUPLICATOR_PRO_PLUGIN_PATH.'/classes/entities/class.global.entity.php');
require_once (DUPLICATOR_PRO_PLUGIN_PATH.'/classes/entities/class.storage.entity.php');
require_once (DUPLICATOR_PRO_PLUGIN_PATH.'/classes/utilities/class.u.import.php');
if (DUP_PRO_U::PHP53()) {
require_once (DUPLICATOR_PRO_PLUGIN_PATH.'/classes/net/class.u.s3.php');
}
class DUP_PRO_System_Checker
{
const SYSTEM_CHECK_PERIOD_IN_SEC = 86400; // 24 hours
public static function check()
{
$global = DUP_PRO_Global_Entity::get_instance();
$time = time();
if (($time - $global->last_system_check_timestamp) >= self::SYSTEM_CHECK_PERIOD_IN_SEC) {
DUP_PRO_LOG::trace("Doing system checker check because time = $time and last timestamp = {$global->last_system_check_timestamp}");
if (DUP_PRO_U::PHP53()) {
try {
self::purgeOldS3MultipartUploads();
} catch (Exception $ex) {
DUP_PRO_LOG::trace("Got exception during s3 system check: ".$ex->getMessage());
}
}
DUP_PRO_Import_U::PurgeOldImports();
$global->last_system_check_timestamp = time();
$global->save();
}
}
private static function purgeOldS3MultipartUploads()
{
$storages = DUP_PRO_Storage_Entity::get_all();
foreach ($storages as $storage) {
if ($storage->storage_type == DUP_PRO_Storage_Types::S3) {
$s3_client = $storage->get_full_s3_client();
$active_uploads = DUP_PRO_S3_U::get_active_multipart_uploads($s3_client, $storage->s3_bucket, $storage->s3_storage_folder);
if (($active_uploads != null) && is_array($active_uploads)) {
foreach ($active_uploads as $active_upload) {
// Needs to be at least 48 hours old - don't want to much around with timezone so this is safe
$time_delta = time() - $active_upload->timestamp;
if ($time_delta > (48 * 3600)) {
DUP_PRO_LOG::trace("Aborting upload because timestamp = {$active_upload->timestamp} while time is ".time());
DUP_PRO_S3_U::abort_multipart_upload($s3_client, $storage->s3_bucket, $active_upload->key, $active_upload->upload_id);
}
}
}
}
}
}
}