Server IP : 192.64.118.117 / Your IP : 18.224.21.26 Web Server : LiteSpeed System : Linux premium56.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : thecgapy ( 1160) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/thecgapy/www/wp-content/plugins/wp-smushit/lib/ |
Upload File : |
<?php /** * @package WP Smush * @subpackage Migrate * @version 1.0 * * @author Umesh Kumar <umesh@incsub.com> * @author Sam Najian <sam@incsub.com> * * @copyright (c) 2016, Incsub (http://incsub.com) */ class WpSmushMigrate { /** * Returns percent saved from the api call response * * @param string $string * * @return float */ private function _get_saved_percentage( $string ) { if ( preg_match( '/\d+(\.\d+)?%/', $string, $matches ) ) return isset( $matches[0] ) ? (float) str_replace("%", "", $matches[0]) : -1; return -1; } /** * Returns bytes saved from the api call response * * @param string $string * * @return float */ private function _get_saved_bytes( $string ) { if ( preg_match( '/\((.*)\)/', $string, $matches ) ) { $size = isset( $matches[1] ) ? $matches[1] : false; if($size){ $size_array = explode(" ", $size); if( !isset( $size_array[0] ) || !isset( $size_array[1] ) ) return -1; $unit = strtoupper( $size_array[1] ); $sizes = array("B" => "1", "KB" => 1024, "MB" => 1048576); return (float) $size_array[0] * $sizes[$unit]; } } return -1; } /** * Migrates smushit message structure * * @param array $message * * @return array */ public function migrate_api_message( array $message ){ if( !isset( $message["wp_smushit"] ) ) return array(); $new_message = array( "stats" => array( 'size_before' => -1, 'size_after' => -1, 'percent' => -1, 'time' => -1, 'api_version' => -1, 'lossy' => -1 ), 'sizes' => array() ); if( isset( $message['sizes'] ) ){ foreach( $message['sizes'] as $key => $size ){ if( isset( $size['wp_smushit'] ) ){ $new_size = new stdClass(); $new_size->compression = $this->_get_saved_percentage( $size['wp_smushit'] ); $new_size->bytes_saved = $this->_get_saved_bytes( $size['wp_smushit'] ); $new_size->before_size = -1; $new_size->after_size = -1; $new_size->time = -1; if( $new_size->compression !== -1 && $new_size->bytes_saved !== -1){ $new_size->before_size = ( $new_size->bytes_saved * 100 ) / $new_size->compression; $new_size->after_size = ( 100 - $new_size->compression ) * $new_size->before_size / 100; } $new_message['sizes'][$key] = $new_size; } } } $new_message["stats"]['percent'] = $this->_get_saved_percentage( $message['wp_smushit'] ); $new_message["stats"]['bytes'] = $this->_get_saved_bytes( $message['wp_smushit'] ); if( $new_message["stats"]['percent'] !== -1 && $new_message["stats"]['bytes'] !== -1){ $new_message["stats"]['size_before'] = ( $new_message["stats"]['bytes'] * 100 ) / $new_message["stats"]['percent']; $new_message["stats"]['size_after'] = ( 100 - $new_message["stats"]['percent'] ) * $new_message["stats"]['size_before'] / 100; } return $new_message; } }