function ewww_image_optimizer_cloud_enable() { ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_jpg', true); ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_png', true); ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_gif', true); }
protected function handle() { session_write_close(); if (empty($_POST['ewwwio_test_verify'])) { return; } $item = $_POST['ewwwio_test_verify']; ewwwio_debug_message("testing async handling, received {$item}"); if (ewww_image_optimizer_detect_wpsf_location_lock()) { ewwwio_debug_message('detected location lock, not enabling background opt'); ewww_image_optimizer_debug_log(); return; } if ($item != '949c34123cf2a4e4ce2f985135830df4a1b2adc24905f53d2fd3f5df5b162932') { ewwwio_debug_message('wrong item received, not enabling background opt'); ewww_image_optimizer_debug_log(); return; } ewww_image_optimizer_set_option('ewww_image_optimizer_background_optimization', true); ewww_image_optimizer_debug_log(); }
function ewww_image_optimizer_cloud_enable() { ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>'); ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_jpg', true); ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_png', true); ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_gif', true); }
function ewww_image_optimizer_cloud_verify($cache = true, $api_key = '') { ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>'); if (empty($api_key) && !(!empty($_REQUEST['option_page']) && $_REQUEST['option_page'] == 'ewww_image_optimizer_options')) { $api_key = ewww_image_optimizer_get_option('ewww_image_optimizer_cloud_key'); } elseif (empty($api_key) && !empty($_POST['ewww_image_optimizer_cloud_key'])) { $api_key = $_POST['ewww_image_optimizer_cloud_key']; } if (empty($api_key)) { if (ewww_image_optimizer_get_option('ewww_image_optimizer_jpg_level') > 10) { update_site_option('ewww_image_optimizer_jpg_level', 10); update_option('ewww_image_optimizer_jpg_level', 10); } if (ewww_image_optimizer_get_option('ewww_image_optimizer_png_level') > 10 && ewww_image_optimizer_get_option('ewww_image_optimizer_png_level') != 40) { update_site_option('ewww_image_optimizer_png_level', 10); update_option('ewww_image_optimizer_png_level', 10); } if (ewww_image_optimizer_get_option('ewww_image_optimizer_pdf_level') > 0) { update_site_option('ewww_image_optimizer_pdf_level', 0); update_option('ewww_image_optimizer_pdf_level', 0); } return false; } if (ewww_image_optimizer_get_option('ewww_image_optimizer_cloud_exceeded') > time()) { set_transient('ewww_image_optimizer_cloud_status', 'exceeded', 3600); ewwwio_debug_message('license exceeded notice has not expired'); return 'exceeded'; } add_filter('http_headers_useragent', 'ewww_image_optimizer_cloud_useragent'); $ewww_cloud_status = get_transient('ewww_image_optimizer_cloud_status'); $ewww_cloud_ip = get_transient('ewww_image_optimizer_cloud_ip'); $ewww_cloud_transport = get_transient('ewww_image_optimizer_cloud_transport'); if (!ewww_image_optimizer_detect_wpsf_location_lock() && $cache && preg_match('/^(\\d{1,3}\\.){3}\\d{1,3}$/', $ewww_cloud_ip) && preg_match('/http/', $ewww_cloud_transport) && preg_match('/great/', $ewww_cloud_status)) { ewwwio_debug_message('using cached verification'); global $ewwwio_async_key_verification; if (!class_exists('WP_Background_Process')) { require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'background.php'; } if (!is_object($ewwwio_async_key_verification)) { $ewwwio_async_key_verification = new EWWWIO_Async_Key_Verification(); } $ewwwio_async_key_verification->dispatch(); return $ewww_cloud_status; } if ($ewww_cloud_transport !== 'https' && $ewww_cloud_transport !== 'http') { $ewww_cloud_transport = 'https'; } if (preg_match('/^(\\d{1,3}\\.){3}\\d{1,3}$/', $ewww_cloud_ip)) { ewwwio_debug_message('using cached ip'); $result = ewww_image_optimizer_cloud_post_key($ewww_cloud_ip, $ewww_cloud_transport, $api_key); if (is_wp_error($result)) { $ewww_cloud_transport = 'http'; $error_message = $result->get_error_message(); ewwwio_debug_message("verification failed: {$error_message}"); $result = ewww_image_optimizer_cloud_post_key($ewww_cloud_ip, $ewww_cloud_transport, $api_key); } if (is_wp_error($result)) { $error_message = $result->get_error_message(); ewwwio_debug_message("verification failed: {$error_message}"); } elseif (!empty($result['body']) && preg_match('/(great|exceeded)/', $result['body'])) { $verified = $result['body']; ewwwio_debug_message("verification success via: {$ewww_cloud_transport}://{$ewww_cloud_ip}"); } else { ewwwio_debug_message("verification failed via: {$ewww_cloud_ip}"); ewwwio_debug_message(print_r($result, true)); } } if (empty($verified)) { $ewww_cloud_transport = 'https'; $servers = gethostbynamel('optimize.exactlywww.com'); if (empty($servers)) { ewwwio_debug_message('unable to resolve servers'); return false; } foreach ($servers as $ip) { $result = ewww_image_optimizer_cloud_post_key($ip, $ewww_cloud_transport, $api_key); if (is_wp_error($result)) { $ewww_cloud_transport = 'http'; $error_message = $result->get_error_message(); ewwwio_debug_message("verification failed: {$error_message}"); } elseif (!empty($result['body']) && preg_match('/(great|exceeded)/', $result['body'])) { $verified = $result['body']; if (preg_match('/exceeded/', $verified)) { ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_exceeded', time() + 300); } $ewww_cloud_ip = $ip; ewwwio_debug_message("verification success via: {$ewww_cloud_transport}://{$ewww_cloud_ip}"); break; } else { ewwwio_debug_message("verification failed via: {$ip}"); ewwwio_debug_message(print_r($result, true)); } } } if (empty($verified)) { ewwwio_memory(__FUNCTION__); return FALSE; } else { set_transient('ewww_image_optimizer_cloud_status', $verified, 3600); set_transient('ewww_image_optimizer_cloud_ip', $ewww_cloud_ip, 3600); set_transient('ewww_image_optimizer_cloud_transport', $ewww_cloud_transport, 3600); if (ewww_image_optimizer_get_option('ewww_image_optimizer_jpg_level') < 20 && ewww_image_optimizer_get_option('ewww_image_optimizer_png_level') < 20 && ewww_image_optimizer_get_option('ewww_image_optimizer_gif_level') < 20 && ewww_image_optimizer_get_option('ewww_image_optimizer_pdf_level') == 0) { ewww_image_optimizer_cloud_enable(); } ewwwio_debug_message("verification body contents: {$result['body']}"); ewwwio_memory(__FUNCTION__); return $verified; } }
function ewww_image_optimizer_install_table() { global $ewww_debug; $ewww_debug .= "<b>ewww_image_optimizer_install_table()</b><br>"; global $wpdb; // create a table with 4 columns: an id, the file path, the md5sum, and the optimization results $sql = "CREATE TABLE {$wpdb->ewwwio_images} (\n\t\tid mediumint(9) NOT NULL AUTO_INCREMENT,\n\t\tpath text NOT NULL,\n\t\timage_md5 VARCHAR(55),\n\t\tresults VARCHAR(55) NOT NULL,\n\t\tgallery VARCHAR(30),\n\t\timage_size int UNSIGNED,\n\t\torig_size int UNSIGNED,\n\t\tUNIQUE KEY id (id)\n\t);"; // include the upgrade library to initialize a table require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta($sql); // remove extra decimals in ewwwio_images table /*$query = "SELECT id,results FROM $wpdb->ewwwio_images WHERE results LIKE '%.0 B)%'"; $old_records = $wpdb->get_results($query, ARRAY_A); foreach ($old_records as $record) { $ewww_debug .= 'converting record: ' . $record['id'] . '<br>'; $savings = preg_replace('/\.0 B/', ' B', $record['results']); $ewww_debug .= 'using string: ' . $savings . '<br>'; $wpdb->update($wpdb->ewwwio_images, array( 'results' => $savings, ), array( 'id' => $record['id'], )); }*/ // ewww_image_optimizer_debug_log(); // make sure some of our options are not autoloaded (since they can be huge) $bulk_attachments = get_option('ewww_image_optimizer_bulk_attachments', ''); delete_option('ewww_image_optimizer_bulk_attachments'); add_option('ewww_image_optimizer_bulk_attachments', $bulk_attachments, '', 'no'); $bulk_attachments = get_option('ewww_image_optimizer_flag_attachments', ''); delete_option('ewww_image_optimizer_flag_attachments'); add_option('ewww_image_optimizer_flag_attachments', $bulk_attachments, '', 'no'); $bulk_attachments = get_option('ewww_image_optimizer_ngg_attachments', ''); delete_option('ewww_image_optimizer_ngg_attachments'); add_option('ewww_image_optimizer_ngg_attachments', $bulk_attachments, '', 'no'); $bulk_attachments = get_option('ewww_image_optimizer_aux_attachments', ''); delete_option('ewww_image_optimizer_aux_attachments'); add_option('ewww_image_optimizer_aux_attachments', $bulk_attachments, '', 'no'); // need to re-register the api_key for the sanitize function $api_key = ewww_image_optimizer_get_option('ewww_image_optimizer_cloud_key'); unregister_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_key'); register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_key', 'ewww_image_optimizer_cloud_key_sanitize'); ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_key', $api_key); }
function ewww_image_optimizer_cloud_enable() { global $ewww_debug; $ewww_debug .= '<b>ewww_image_optimizer_cloud_enable()</b><br>'; ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_jpg', true); ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_png', true); ewww_image_optimizer_set_option('ewww_image_optimizer_cloud_gif', true); // ewww_image_optimizer_debug_log(); }
function ewww_image_optimizer_cloud_enable() { ewwwio_debug_message( '<b>' . __FUNCTION__ . '()</b>' ); ewww_image_optimizer_set_option('ewww_image_optimizer_jpg_level', 20); ewww_image_optimizer_set_option('ewww_image_optimizer_png_level', 20); ewww_image_optimizer_set_option('ewww_image_optimizer_gif_level', 10); ewww_image_optimizer_set_option('ewww_image_optimizer_pdf_level', 10); }