is_ftp_or_sockets( $wp_filesystem->method ) && $this->are_ftp_constants_defined() ) { $creds = request_filesystem_credentials( '', $wp_filesystem->method, false, $path ); $writable = WP_Filesystem( $creds, $path ); if ( true === $writable ) { return true; } } if ( $this->is_ssh( $wp_filesystem->method ) && $this->are_ssh_constants_defined() ) { $creds = request_filesystem_credentials( '', $wp_filesystem->method, false, $path ); $writable = WP_Filesystem( $creds, $path ); if ( true === $writable ) { return true; } } return false; } /** * Check if method is ssh * * @param strin $method * @return boolean */ public function is_ssh( $method ) { return 'ssh2' === $method; } /** * Check if method is ftp or sockets * * @param string $method * @return boolean */ public function is_ftp_or_sockets( $method ) { return 'ftpext' === $method || 'ftpsockets' === $method; } /** * Check if credentials for ssh are defined * * @return boolean */ public function are_ssh_constants_defined() { return defined('FTP_HOST') && defined('FTP_PUBKEY') && defined('FTP_PRIKEY'); } /** * Check if credentials for ftp are defined * * @return boolean */ public function are_ftp_constants_defined() { return defined('FTP_HOST') && defined('FTP_USER') && defined('FTP_PASS'); } /** * Creates a file using $wp_filesystem. * * @param string $file * @param string $content */ public function put_contents( $file, $content ) { global $wp_filesystem; return $wp_filesystem->put_contents( $file, $content ); } /** * Get the content folder from Wordpress if available * * @return string the folder to use or '' */ public function get_ai1ec_static_dir_if_available() { global $wp_filesystem; // reset the filesystem to it's standard. WP_Filesystem(); $content_dir = $wp_filesystem->wp_content_dir() . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR; $static_dir = trailingslashit( $content_dir . 'ai1ec_static' ); if ( ! $wp_filesystem->is_dir( $static_dir ) && ! $wp_filesystem->mkdir( $static_dir ) ) { return ''; } return $static_dir; } /** * Check if specified file exists * * @return boolean */ public function check_file_exists( $file, $check_is_empty ) { try { if ( ! file_exists( $file ) ) { return false; } else { if ( $check_is_empty && 0 == filesize( $file ) ) { return false; } else { return true; } } } catch ( Exception $e ) { } return false; } }