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; }
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; }
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; }
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; }