PHP 8.0.30
Preview: filesystem.php Size: 3.00 KB
/home/certprox/template.certproxywizard.com/wp-content/plugins/contact-form-7/includes/filesystem.php

<?php

/**
 * Class for filesystem operations.
 */
class WPCF7_Filesystem {

	/**
	 * The singleton instance.
	 *
	 * @var WPCF7_Filesystem
	 */
	private static $instance;

	/**
	 * Filesystem object.
	 *
	 * @var WP_Filesystem_Base
	 */
	private $filesystem;


	/**
	 * Retrieves the singleton instance.
	 */
	public static function get_instance() {
		if ( empty( self::$instance ) ) {
			self::$instance = new self();
		}

		return self::$instance;
	}


	/**
	 * Constructor.
	 */
	private function __construct() {
		$this->connect();
	}


	/**
	 * Connects to the filesystem.
	 *
	 * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
	 */
	private function connect() {
		global $wp_filesystem;

		if ( $this->filesystem ) {
			return false;
		}

		require_once ABSPATH . 'wp-admin/includes/file.php';
		require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php';
		require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php';

		ob_start();
		$credentials = request_filesystem_credentials( '' );
		ob_end_clean();

		if ( false === $credentials or ! WP_Filesystem( $credentials ) ) {
			wp_trigger_error(
				__FUNCTION__,
				__( 'Could not access filesystem.', 'contact-form-7' )
			);
		}

		if ( $wp_filesystem instanceof WP_Filesystem_Base ) {
			$this->filesystem = $wp_filesystem;
		} else {
			$this->filesystem = new WP_Filesystem_Direct( 1 );
		}

		if ( ! defined( 'FS_CHMOD_DIR' ) ) {
			define( 'FS_CHMOD_DIR', fileperms( ABSPATH ) & 0777 | 0755 );
		}

		if ( ! defined( 'FS_CHMOD_FILE' ) ) {
			define( 'FS_CHMOD_FILE', fileperms( ABSPATH . 'index.php' ) & 0777 | 0644 );
		}
	}


	/**
	 * Changes filesystem permissions.
	 *
	 * @param string $file Path to the file.
	 * @param int|false $mode Optional. The permissions as octal number.
	 * @param bool $recursive Optional. If set to true,
	 *             changes file permissions recursively. Default false.
	 * @return bool True on success, false on failure.
	 */
	public function chmod( $file, $mode = false, $recursive = false ) {
		return $this->filesystem->chmod( $file, $mode, $recursive );
	}


	/**
	 * Deletes a file or directory.
	 *
	 * @param string $file Path to the file or directory.
	 * @param bool $recursive Optional. If set to true, deletes
	 *             files and folders recursively. Default false.
	 * @param string|false $type Type of resource.
	 *                     'f' for file, 'd' for directory. Default false.
	 * @return bool True on success, false on failure.
	 */
	public function delete( $file, $recursive = false, $type = false ) {
		return $this->filesystem->delete( $file, $recursive, $type );
	}


	/**
	 * Writes a string to a file.
	 *
	 * @param string $file Path to the file where to write the data.
	 * @param string $contents The data to write.
	 * @param int $mode The file permissions as octal number.
	 * @return bool True on success, false on failure.
	 */
	public function put_contents( $file, $contents, $mode = false ) {
		return $this->filesystem->put_contents( $file, $contents, $mode );
	}

}

Directory Contents

Dirs: 5 × Files: 26

Name Size Perms Modified Actions
- drwxr-xr-x 2026-06-14 00:14:00
Edit Download
- drwxr-xr-x 2026-06-15 03:29:43
Edit Download
css DIR
- drwxr-xr-x 2026-06-14 00:14:00
Edit Download
js DIR
- drwxr-xr-x 2026-06-14 00:13:59
Edit Download
swv DIR
- drwxr-xr-x 2026-06-15 03:29:59
Edit Download
834 B lrw-r--r-- 2026-06-13 17:12:53
Edit Download
10.26 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
5.64 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
30.74 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
3.16 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
22.03 KB lrw-r--r-- 2026-07-26 21:30:16
Edit Download
10.13 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
3.00 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
14.29 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
14.57 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
14.47 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
16.98 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
20.66 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
8.76 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
3.37 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
4.10 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
15.15 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
2.62 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
325 B lrw-r--r-- 2026-06-13 17:12:53
Edit Download
12.99 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
2.66 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
6.53 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
20.23 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
3.10 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
6.67 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download
3.26 KB lrw-r--r-- 2026-06-13 17:12:53
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).