Пример #1
0
function ewww_image_optimizer_auto()
{
    global $ewww_debug;
    $ewww_debug .= "<b>ewww_image_optimizer_auto()</b><br>";
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'bulk.php';
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'aux-optimize.php';
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_auto') == TRUE) {
        $ewww_debug .= "running scheduled optimization<br>";
        update_option('ewww_image_optimizer_aux_resume', '');
        update_option('ewww_image_optimizer_aux_attachments', '');
        ewww_image_optimizer_aux_images_script('ewww-image-optimizer-auto');
        ewww_image_optimizer_aux_images_initialize(true);
        $delay = ewww_image_optimizer_get_option('ewww_image_optimizer_delay');
        $attachments = get_option('ewww_image_optimizer_aux_attachments');
        if (!empty($attachments)) {
            foreach ($attachments as $attachment) {
                if (!get_option('ewww_image_optimizer_aux_resume')) {
                    //	ewww_image_optimizer_debug_log();
                    return;
                }
                ewww_image_optimizer_aux_images_loop($attachment, true);
                if (!empty($delay)) {
                    sleep($delay);
                }
                ewww_image_optimizer_debug_log();
            }
        }
        ewww_image_optimizer_aux_images_cleanup(true);
    }
    ewwwio_memory(__FUNCTION__);
    return;
}
Пример #2
0
function ewww_image_optimizer_auto()
{
    ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>');
    global $ewww_defer;
    $ewww_defer = false;
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'bulk.php';
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'aux-optimize.php';
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_auto') == TRUE) {
        ewwwio_debug_message('running scheduled optimization');
        //		update_option('ewww_image_optimizer_aux_resume', '');
        //		update_option('ewww_image_optimizer_aux_attachments', '');
        ewww_image_optimizer_aux_images_script('ewww-image-optimizer-auto');
        ewww_image_optimizer_aux_images_initialize(true);
        $nonce = wp_create_nonce('ewww-image-optimizer-auto');
        update_option('ewww_image_optimizer_aux_resume', $nonce);
        $delay = ewww_image_optimizer_get_option('ewww_image_optimizer_delay');
        $attachments = get_option('ewww_image_optimizer_aux_attachments');
        if (!empty($attachments)) {
            global $wpdb;
            $query = "SELECT path,image_size FROM {$wpdb->ewwwio_images}";
            $already_optimized = $wpdb->get_results($query, ARRAY_A);
            foreach ($attachments as $attachment) {
                if ($nonce !== get_option('ewww_image_optimizer_aux_resume')) {
                    //	ewww_image_optimizer_debug_log();
                    return;
                }
                foreach ($already_optimized as $optimized) {
                    if ($optimized['path'] === $attachment) {
                        $image_size = filesize($attachment);
                        //$image_size = $file->getSize();
                        if ($optimized['image_size'] == $image_size) {
                            ewwwio_debug_message("match found for {$attachment}");
                            $skip_optimized = true;
                            continue 2;
                        } else {
                            ewwwio_debug_message("mismatch found for {$attachment}, db says " . $optimized['image_size'] . " vs. current {$image_size}");
                        }
                    }
                }
                ewww_image_optimizer_aux_images_loop($attachment, true);
                if (!empty($delay)) {
                    sleep($delay);
                }
                ewww_image_optimizer_debug_log();
            }
        }
        ewww_image_optimizer_aux_images_cleanup(true);
    }
    ewwwio_memory(__FUNCTION__);
    return;
}
Пример #3
0
function ewww_image_optimizer_auto()
{
    ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>');
    global $ewww_defer;
    $ewww_defer = false;
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'bulk.php';
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'aux-optimize.php';
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_auto') == TRUE) {
        ewwwio_debug_message('running scheduled optimization');
        ewww_image_optimizer_aux_images_script('ewww-image-optimizer-auto');
        ewww_image_optimizer_aux_images_initialize(true);
        // generate our own nonce value, wp_create_nonce() will return the same value for 12-24 hours
        $nonce = wp_hash(time() . '|' . 'ewww-image-optimizer-auto');
        update_option('ewww_image_optimizer_aux_resume', $nonce);
        $delay = ewww_image_optimizer_get_option('ewww_image_optimizer_delay');
        $attachments = get_option('ewww_image_optimizer_aux_attachments');
        if (!empty($attachments)) {
            global $wpdb;
            $query = "SELECT path,image_size FROM {$wpdb->ewwwio_images}";
            $already_optimized = $wpdb->get_results($query, ARRAY_A);
            foreach ($attachments as $attachment) {
                // if the nonce has changed since we started, bail out, since that means another aux scan/optimize is running
                // we do a query using $wpdb, because get_option() is cached
                $current_nonce = $wpdb->get_var("SELECT option_value FROM {$wpdb->options} WHERE option_name = 'ewww_image_optimizer_aux_resume'");
                if ($nonce !== $current_nonce) {
                    ewwwio_debug_message('detected another optimization, nonce changed, bailing');
                    ewww_image_optimizer_debug_log();
                    return;
                } else {
                    ewwwio_debug_message("{$nonce} is fine, compared to {$current_nonce}");
                }
                ewww_image_optimizer_aux_images_loop($attachment, true);
                if (!empty($delay)) {
                    sleep($delay);
                }
                ewww_image_optimizer_debug_log();
            }
        }
        ewww_image_optimizer_aux_images_cleanup(true);
    }
    ewwwio_memory(__FUNCTION__);
    return;
}
Пример #4
0
function ewww_image_optimizer_auto() {
	ewwwio_debug_message( '<b>' . __FUNCTION__ . '()</b>' );
	global $ewww_defer;
	$ewww_defer = false;
	require_once( EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'bulk.php' );
	require_once( EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'aux-optimize.php' );
	if ( ewww_image_optimizer_get_option( 'ewww_image_optimizer_auto' ) == TRUE ) {
		ewwwio_debug_message( 'running scheduled optimization' );
		ewww_image_optimizer_aux_images_script( 'ewww-image-optimizer-auto' );
	}
	ewww_image_optimizer_debug_log();
	ewwwio_memory( __FUNCTION__ );
	return;
}