HEX
Server: Apache
System: Linux websend04.greenconsulting.it 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
User: web20 (5023)
PHP: 7.2.34-38+ubuntu18.04.1+deb.sury.org+1
Disabled: 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/clients/client0/web20/web/wp-content/plugins/malcare-security/wp_file_system.php
<?php

if (!defined('ABSPATH')) exit;

if (!class_exists('MCWPFileSystem')) :
	class MCWPFileSystem {
		private static $instance = null;
		private $filesystem = null;

		const RESOURCE_TYPE_FILE = 'f';

		private function __construct() {
			$this->initFilesystem();
		}

		private function initFilesystem() {
			if ($this->filesystem === null) {
				require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php';
				require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php';
				$this->filesystem = new WP_Filesystem_Direct(null);
			}
		}

		public static function getInstance() {
			if (self::$instance === null) {
				self::$instance = new self();
			}
			return self::$instance;
		}

		public function putContents($file, $contents, $perm = 0644) {
			return $this->filesystem->put_contents($file, $contents, $perm);
		}

		public function getContents($file) {
			return $this->filesystem->get_contents($file);
		}

		public function removeFile($path) {
			return $this->filesystem->delete($path, false, self::RESOURCE_TYPE_FILE);
		}

		public function rmdir($path, $recursive = false) {
			return $this->filesystem->delete($path, $recursive);
		}

		public function isWritable($path) {
			return $this->filesystem->is_writable($path);
		}

		public function isDir($path) {
			return $this->filesystem->is_dir($path);
		}

		public function exists($path) {
			return $this->filesystem->exists($path);
		}

		public function move($source, $destination, $overwrite = false) {
			return $this->filesystem->move($source, $destination, $overwrite);
		}

		public function getchmodOctal($path) {
			return intval($this->getchmod($path), 8);
		}

		public function getchmod($path) {
			return $this->filesystem->getchmod($path);
		}

		public function size($file) {
			return $this->filesystem->size($file);
		}

		public function chmod($file, $mode = false, $recursive = false) {
			return $this->filesystem->chmod($file, $mode, $recursive);
		}

		public function isReadable($file) {
			return $this->filesystem->is_readable($file);
		}

		public function checkForErrors() {
			if ($this->filesystem !== null && is_wp_error($this->filesystem->errors)) {
				$wp_error = $this->filesystem->errors;
				if (!empty($wp_error->errors)) {
					return $wp_error->get_error_message();
				}
			}
			return null;
		}
	}
endif;