wpdb = $wpdb; } public function is_suhosin_active() { return extension_loaded( 'suhosin' ); } public function eval_disabled_by_suhosin() { return (bool) ini_get( 'suhosin.executor.disable_eval' ); } public function get_max_execution_time() { return ini_get( 'max_execution_time' ); } public function get_max_input_vars() { return ini_get( 'max_input_vars' ); } public function get_php_memory_limit() { return ini_get('memory_limit'); } public function get_memory_usage() { return $this->format_size_units( memory_get_usage() ); } public function get_php_version() { return PHP_VERSION; } public function get_wp_memory_limit() { return constant('WP_MEMORY_LIMIT'); } public function get_wp_max_memory_limit() { return constant('WP_MAX_MEMORY_LIMIT'); } public function get_wp_multisite() { return is_multisite(); } public function get_wp_version() { return $GLOBALS['wp_version']; } public function is_memory_less_than( $reference, $memory ) { if ( (int) $reference === - 1 ) { return false; } $reference_in_bytes = $this->return_bytes( $reference ); $memory_in_bytes = $this->return_bytes( $memory ); return $memory_in_bytes < $reference_in_bytes; } public function is_version_less_than( $reference, $version ) { return version_compare( $version, $reference, '<' ); } public function is_utf8mb4_charset_supported() { return $this->wpdb->has_cap( 'utf8mb4' ); } private function return_bytes( $val ) { $val = trim( $val ); $exponents = array( 'k' => 1, 'm' => 2, 'g' => 3, ); $last = strtolower( substr( $val, - 1 ) ); if ( ! is_numeric( $last ) ) { $val = (int) substr( $val, 0, - 1 ); if ( array_key_exists( $last, $exponents ) ) { $val *= pow( 1024, $exponents[ $last ] ); } } else { $val = (int) $val; } return $val; } private function format_size_units( $bytes ) { if ( $bytes >= 1073741824 ) { $bytes = number_format( $bytes / 1073741824, 2 ) . ' GB'; } elseif ( $bytes >= 1048576 ) { $bytes = number_format( $bytes / 1048576, 2 ) . ' MB'; } elseif ( $bytes >= 1024 ) { $bytes = number_format( $bytes / 1024, 2 ) . ' KB'; } elseif ( $bytes > 1 ) { $bytes .= ' bytes'; } elseif ( $bytes === 1 ) { $bytes .= ' byte'; } else { $bytes = '0 bytes'; } return $bytes; } }