0byt3m1n1
Path:
/
data
/
49
/
4
/
11
/
84
/
4826899
/
user
/
5715128
/
htdocs
/
dup-installer
/
classes
/
[
Home
]
File: class.server.php
<?php defined("ABSPATH") or die(""); /** * DUPX_cPanel * Wrapper Class for cPanel API */ class DUPX_Server { /** * Returns true if safe mode is enabled */ public static $php_safe_mode_on = false; /** * The servers current PHP version */ public static $php_version = 0; /** * The minimum PHP version the installer will support */ public static $php_version_min = "5.2.7"; /** * Is the current servers version of PHP safe to use with the installer */ public static $php_version_safe = false; /** * Is PHP 5.3 or better running */ public static $php_version_53_plus; /** * A list of the core WordPress directories */ public static $wpCoreDirsList = "wp-admin,wp-includes,wp-content"; public static function _init() { self::$php_safe_mode_on = in_array(strtolower(@ini_get('safe_mode')), array('on', 'yes', 'true', 1, "1")); self::$php_version = phpversion(); self::$php_version_safe = (version_compare(phpversion(), self::$php_version_min) >= 0); self::$php_version_53_plus = version_compare(PHP_VERSION, '5.3.0') >= 0; } /** * Display human readable byte sizes * @param string $size The size in bytes */ public static function is_dir_writable($path) { if (!@is_writeable($path)) return false; if (is_dir($path)) { if ($dh = @opendir($path)) { closedir($dh); } else { return false; } } return true; } /** * Can this server process in shell_exec mode * @return bool */ public static function is_shell_exec_available() { if (array_intersect(array('shell_exec', 'escapeshellarg', 'escapeshellcmd', 'extension_loaded'), array_map('trim', explode(',', @ini_get('disable_functions'))))) return false; //Suhosin: http://www.hardened-php.net/suhosin/ //Will cause PHP to silently fail. if (extension_loaded('suhosin')) return false; // Can we issue a simple echo command? if (!@shell_exec('echo duplicator')) return false; return true; } /** * Returns the path this this server where the zip command can be called * @return string The path to where the zip command can be processed */ public static function get_unzip_filepath() { $filepath = null; if (self::is_shell_exec_available()) { if (shell_exec('hash unzip 2>&1') == NULL) { $filepath = 'unzip'; } else { $possible_paths = array('/usr/bin/unzip', '/opt/local/bin/unzip'); foreach ($possible_paths as $path) { if (file_exists($path)) { $filepath = $path; break; } } } } return $filepath; } /** * Does the site look to be a WordPress site * * @return bool Returns true if the site looks like a WP site */ public static function isWordPress() { $search_list = explode(',', self::$wpCoreDirsList); $root_files = scandir($GLOBALS['DUPX_ROOT']); $search_count = count($search_list); $file_count = 0; foreach ($root_files as $file) { if (in_array($file, $search_list)) { $file_count++; } } return ($search_count == $file_count); } /** * Is the web server IIS * * @return bool Returns true if web server is IIS */ public static function isIISRunning() { $sSoftware = strtolower( $_SERVER["SERVER_SOFTWARE"] ); if ( strpos($sSoftware, "microsoft-iis") !== false ) { return true; } else { return false; } } } //INIT Class Properties DUPX_Server::_init();