| Server IP : 103.88.176.108 / Your IP : 216.73.216.211 Web Server : Apache/2.4.41 (Ubuntu) System : Linux webserver 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/optimole-wp/inc/compatibilities/ |
Upload File : |
<?php
/**
* Class Optml_spectra
*
* @reason Optimizing Block images when saved to a CSS file.
*/
class Optml_spectra extends Optml_compatibility {
/**
* Should we load the integration logic.
*
* @return bool Should we load.
*/
public function should_load() {
include_once ABSPATH . 'wp-admin/includes/plugin.php';
return is_plugin_active( 'ultimate-addons-for-gutenberg/ultimate-addons-for-gutenberg.php' ) && 'enabled' === get_option( '_uagb_allow_file_generation', 'enabled' );
}
/**
* Register integration details.
*/
public function register() {
add_filter( 'uagb_block_attributes_for_css_and_js', [ $this, 'optimize_src' ], PHP_INT_MAX, 2 );
}
/**
* Optimize the src attribute.
*
* @param array $attrs Array of attributes.
* @param string $name Name of the block.
*
* @return array
*/
public function optimize_src( $attrs, $name ) {
$attrs = $this->iterate_array( $attrs );
return $attrs;
}
/**
* Iterate through the array and replace the url.
*
* @param array $attrs Array of attributes.
* @return array
*/
public function iterate_array( $attrs ) {
foreach ( $attrs as $key => $value ) {
if ( is_array( $value ) ) {
$attrs[ $key ] = $this->iterate_array( $value );
}
if ( is_string( $value ) && preg_match( '/(http|https):\/\/.*\.(?:png|jpg|jpeg|gif|webp)/i', $value ) ) {
$attrs[ $key ] = Optml_Main::instance()->manager->url_replacer->build_url( $value );
}
}
return $attrs;
}
}