Example #1
0
function ewww_image_optimizer_admin_init()
{
    ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>');
    ewwwio_memory(__FUNCTION__);
    ewww_image_optimizer_init();
    if (!function_exists('is_plugin_active_for_network') && is_multisite()) {
        // need to include the plugin library for the is_plugin_active function
        require_once ABSPATH . 'wp-admin/includes/plugin.php';
    }
    if (is_multisite() && is_plugin_active_for_network(EWWW_IMAGE_OPTIMIZER_PLUGIN_FILE_REL)) {
        // set the common network settings if they have been POSTed
        if (isset($_POST['ewww_image_optimizer_delay']) && wp_verify_nonce($_REQUEST['_wpnonce'], 'ewww_image_optimizer_options-options')) {
            if (empty($_POST['ewww_image_optimizer_debug'])) {
                $_POST['ewww_image_optimizer_debug'] = '';
            }
            update_site_option('ewww_image_optimizer_debug', $_POST['ewww_image_optimizer_debug']);
            if (empty($_POST['ewww_image_optimizer_jpegtran_copy'])) {
                $_POST['ewww_image_optimizer_jpegtran_copy'] = '';
            }
            update_site_option('ewww_image_optimizer_jpegtran_copy', $_POST['ewww_image_optimizer_jpegtran_copy']);
            if (empty($_POST['ewww_image_optimizer_jpg_lossy'])) {
                $_POST['ewww_image_optimizer_jpg_lossy'] = '';
            }
            update_site_option('ewww_image_optimizer_jpg_lossy', $_POST['ewww_image_optimizer_jpg_lossy']);
            if (empty($_POST['ewww_image_optimizer_png_lossy'])) {
                $_POST['ewww_image_optimizer_png_lossy'] = '';
            }
            update_site_option('ewww_image_optimizer_png_lossy', $_POST['ewww_image_optimizer_png_lossy']);
            if (empty($_POST['ewww_image_optimizer_lossy_fast'])) {
                $_POST['ewww_image_optimizer_lossy_fast'] = '';
            }
            update_site_option('ewww_image_optimizer_lossy_fast', $_POST['ewww_image_optimizer_lossy_fast']);
            if (empty($_POST['ewww_image_optimizer_lossy_skip_full'])) {
                $_POST['ewww_image_optimizer_lossy_skip_full'] = '';
            }
            update_site_option('ewww_image_optimizer_lossy_skip_full', $_POST['ewww_image_optimizer_lossy_skip_full']);
            if (empty($_POST['ewww_image_optimizer_metadata_skip_full'])) {
                $_POST['ewww_image_optimizer_metadata_skip_full'] = '';
            }
            update_site_option('ewww_image_optimizer_metadata_skip_full', $_POST['ewww_image_optimizer_metadata_skip_full']);
            if (empty($_POST['ewww_image_optimizer_delete_originals'])) {
                $_POST['ewww_image_optimizer_delete_originals'] = '';
            }
            update_site_option('ewww_image_optimizer_delete_originals', $_POST['ewww_image_optimizer_delete_originals']);
            if (empty($_POST['ewww_image_optimizer_jpg_to_png'])) {
                $_POST['ewww_image_optimizer_jpg_to_png'] = '';
            }
            update_site_option('ewww_image_optimizer_jpg_to_png', $_POST['ewww_image_optimizer_jpg_to_png']);
            if (empty($_POST['ewww_image_optimizer_png_to_jpg'])) {
                $_POST['ewww_image_optimizer_png_to_jpg'] = '';
            }
            update_site_option('ewww_image_optimizer_png_to_jpg', $_POST['ewww_image_optimizer_png_to_jpg']);
            if (empty($_POST['ewww_image_optimizer_gif_to_png'])) {
                $_POST['ewww_image_optimizer_gif_to_png'] = '';
            }
            update_site_option('ewww_image_optimizer_gif_to_png', $_POST['ewww_image_optimizer_gif_to_png']);
            if (empty($_POST['ewww_image_optimizer_webp'])) {
                $_POST['ewww_image_optimizer_webp'] = '';
            }
            update_site_option('ewww_image_optimizer_webp', $_POST['ewww_image_optimizer_webp']);
            if (empty($_POST['ewww_image_optimizer_jpg_background'])) {
                $_POST['ewww_image_optimizer_jpg_background'] = '';
            }
            update_site_option('ewww_image_optimizer_jpg_background', ewww_image_optimizer_jpg_background($_POST['ewww_image_optimizer_jpg_background']));
            if (empty($_POST['ewww_image_optimizer_jpg_quality'])) {
                $_POST['ewww_image_optimizer_jpg_quality'] = '';
            }
            update_site_option('ewww_image_optimizer_jpg_quality', ewww_image_optimizer_jpg_quality($_POST['ewww_image_optimizer_jpg_quality']));
            if (empty($_POST['ewww_image_optimizer_disable_convert_links'])) {
                $_POST['ewww_image_optimizer_disable_convert_links'] = '';
            }
            update_site_option('ewww_image_optimizer_disable_convert_links', $_POST['ewww_image_optimizer_disable_convert_links']);
            if (empty($_POST['ewww_image_optimizer_cloud_key'])) {
                $_POST['ewww_image_optimizer_cloud_key'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_key', ewww_image_optimizer_cloud_key_sanitize($_POST['ewww_image_optimizer_cloud_key']));
            if (empty($_POST['ewww_image_optimizer_cloud_jpg'])) {
                $_POST['ewww_image_optimizer_cloud_jpg'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_jpg', $_POST['ewww_image_optimizer_cloud_jpg']);
            if (empty($_POST['ewww_image_optimizer_cloud_png'])) {
                $_POST['ewww_image_optimizer_cloud_png'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_png', $_POST['ewww_image_optimizer_cloud_png']);
            if (empty($_POST['ewww_image_optimizer_cloud_png_compress'])) {
                $_POST['ewww_image_optimizer_cloud_png_compress'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_png_compress', $_POST['ewww_image_optimizer_cloud_png_compress']);
            if (empty($_POST['ewww_image_optimizer_cloud_gif'])) {
                $_POST['ewww_image_optimizer_cloud_gif'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_gif', $_POST['ewww_image_optimizer_cloud_gif']);
            if (empty($_POST['ewww_image_optimizer_auto'])) {
                $_POST['ewww_image_optimizer_auto'] = '';
            }
            update_site_option('ewww_image_optimizer_auto', $_POST['ewww_image_optimizer_auto']);
            if (empty($_POST['ewww_image_optimizer_aux_paths'])) {
                $_POST['ewww_image_optimizer_aux_paths'] = '';
            }
            update_site_option('ewww_image_optimizer_aux_paths', ewww_image_optimizer_aux_paths_sanitize($_POST['ewww_image_optimizer_aux_paths']));
            if (empty($_POST['ewww_image_optimizer_enable_cloudinary'])) {
                $_POST['ewww_image_optimizer_enable_cloudinary'] = '';
            }
            update_site_option('ewww_image_optimizer_enable_cloudinary', $_POST['ewww_image_optimizer_enable_cloudinary']);
            if (empty($_POST['ewww_image_optimizer_delay'])) {
                $_POST['ewww_image_optimizer_delay'] = '';
            }
            update_site_option('ewww_image_optimizer_delay', intval($_POST['ewww_image_optimizer_delay']));
            if (empty($_POST['ewww_image_optimizer_disable_resizes'])) {
                $_POST['ewww_image_optimizer_disable_resizes'] = array();
            }
            update_site_option('ewww_image_optimizer_disable_resizes', $_POST['ewww_image_optimizer_disable_resizes']);
            if (empty($_POST['ewww_image_optimizer_disable_resizes_opt'])) {
                $_POST['ewww_image_optimizer_disable_resizes_opt'] = array();
            }
            update_site_option('ewww_image_optimizer_disable_resizes_opt', $_POST['ewww_image_optimizer_disable_resizes_opt']);
            if (empty($_POST['ewww_image_optimizer_skip_size'])) {
                $_POST['ewww_image_optimizer_skip_size'] = '';
            }
            update_site_option('ewww_image_optimizer_skip_size', intval($_POST['ewww_image_optimizer_skip_size']));
            if (empty($_POST['ewww_image_optimizer_skip_png_size'])) {
                $_POST['ewww_image_optimizer_skip_png_size'] = '';
            }
            update_site_option('ewww_image_optimizer_skip_png_size', intval($_POST['ewww_image_optimizer_skip_png_size']));
            if (empty($_POST['ewww_image_optimizer_noauto'])) {
                $_POST['ewww_image_optimizer_noauto'] = '';
            }
            update_site_option('ewww_image_optimizer_noauto', $_POST['ewww_image_optimizer_noauto']);
            if (empty($_POST['ewww_image_optimizer_defer'])) {
                $_POST['ewww_image_optimizer_defer'] = '';
            }
            update_site_option('ewww_image_optimizer_defer', $_POST['ewww_image_optimizer_defer']);
            if (empty($_POST['ewww_image_optimizer_include_media_paths'])) {
                $_POST['ewww_image_optimizer_include_media_paths'] = '';
            }
            update_site_option('ewww_image_optimizer_include_media_paths', $_POST['ewww_image_optimizer_include_media_paths']);
            if (empty($_POST['ewww_image_optimizer_webp_for_cdn'])) {
                $_POST['ewww_image_optimizer_webp_for_cdn'] = '';
            }
            update_site_option('ewww_image_optimizer_webp_for_cdn', $_POST['ewww_image_optimizer_webp_for_cdn']);
            //if (empty($_POST['ewww_image_optimizer_webp_cdn_path'])) $_POST['ewww_image_optimizer_webp_cdn_path'] = '';
            //update_site_option('ewww_image_optimizer_webp_cdn_path', $_POST['ewww_image_optimizer_webp_cdn_path']);
            add_action('network_admin_notices', 'ewww_image_optimizer_network_settings_saved');
        }
    }
    // register all the common EWWW IO settings
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_debug');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpegtran_copy');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_lossy');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_png_lossy');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_lossy_fast');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_lossy_skip_full');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_metadata_skip_full');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_delete_originals');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_to_png');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_png_to_jpg');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_gif_to_png');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_webp');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_background', 'ewww_image_optimizer_jpg_background');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_quality', 'ewww_image_optimizer_jpg_quality');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_disable_convert_links');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_bulk_resume');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_bulk_attachments');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_aux_resume');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_aux_attachments');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_aux_type');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_key', 'ewww_image_optimizer_cloud_key_sanitize');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_jpg');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_png');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_png_compress');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_gif');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_auto');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_aux_paths', 'ewww_image_optimizer_aux_paths_sanitize');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_enable_cloudinary');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_delay', 'intval');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_disable_resizes');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_disable_resizes_opt');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_skip_size', 'intval');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_skip_png_size', 'intval');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_import_status');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_noauto');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_defer');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_include_media_paths');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_webp_for_cdn');
    //	register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_webp_cdn_path');
    ewww_image_optimizer_exec_init();
    ewww_image_optimizer_cron_setup('ewww_image_optimizer_auto');
    ewww_image_optimizer_cron_setup('ewww_image_optimizer_defer');
    // require the files that do the bulk processing
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'bulk.php';
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'aux-optimize.php';
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'mwebp.php';
    // queue the function that contains custom styling for our progressbars, but only in wp 3.8+
    global $wp_version;
    if (substr($wp_version, 0, 3) >= 3.8) {
        add_action('admin_enqueue_scripts', 'ewww_image_optimizer_progressbar_style');
    }
    ewwwio_memory(__FUNCTION__);
    //	ewww_image_optimizer_debug_log();
}
Example #2
0
function ewww_image_optimizer_admin_init()
{
    ewwwio_memory(__FUNCTION__);
    global $ewww_debug;
    $ewww_debug .= "<b>ewww_image_optimizer_admin_init()</b><br>";
    ewww_image_optimizer_init();
    if (function_exists('is_plugin_active_for_network') && is_plugin_active_for_network(EWWW_IMAGE_OPTIMIZER_PLUGIN_FILE_REL)) {
        // set the common network settings if they have been POSTed
        if (isset($_POST['ewww_image_optimizer_delay']) && wp_verify_nonce($_REQUEST['_wpnonce'], 'ewww_image_optimizer_options-options')) {
            if (empty($_POST['ewww_image_optimizer_debug'])) {
                $_POST['ewww_image_optimizer_debug'] = '';
            }
            update_site_option('ewww_image_optimizer_debug', $_POST['ewww_image_optimizer_debug']);
            if (empty($_POST['ewww_image_optimizer_jpegtran_copy'])) {
                $_POST['ewww_image_optimizer_jpegtran_copy'] = '';
            }
            update_site_option('ewww_image_optimizer_jpegtran_copy', $_POST['ewww_image_optimizer_jpegtran_copy']);
            if (empty($_POST['ewww_image_optimizer_jpg_lossy'])) {
                $_POST['ewww_image_optimizer_jpg_lossy'] = '';
            }
            update_site_option('ewww_image_optimizer_jpg_lossy', $_POST['ewww_image_optimizer_jpg_lossy']);
            if (empty($_POST['ewww_image_optimizer_png_lossy'])) {
                $_POST['ewww_image_optimizer_png_lossy'] = '';
            }
            update_site_option('ewww_image_optimizer_png_lossy', $_POST['ewww_image_optimizer_png_lossy']);
            if (empty($_POST['ewww_image_optimizer_lossy_fast'])) {
                $_POST['ewww_image_optimizer_lossy_fast'] = '';
            }
            update_site_option('ewww_image_optimizer_lossy_fast', $_POST['ewww_image_optimizer_lossy_fast']);
            if (empty($_POST['ewww_image_optimizer_lossy_skip_full'])) {
                $_POST['ewww_image_optimizer_lossy_skip_full'] = '';
            }
            update_site_option('ewww_image_optimizer_lossy_skip_full', $_POST['ewww_image_optimizer_lossy_skip_full']);
            if (empty($_POST['ewww_image_optimizer_metadata_skip_full'])) {
                $_POST['ewww_image_optimizer_metadata_skip_full'] = '';
            }
            update_site_option('ewww_image_optimizer_metadata_skip_full', $_POST['ewww_image_optimizer_metadata_skip_full']);
            if (empty($_POST['ewww_image_optimizer_delete_originals'])) {
                $_POST['ewww_image_optimizer_delete_originals'] = '';
            }
            update_site_option('ewww_image_optimizer_delete_originals', $_POST['ewww_image_optimizer_delete_originals']);
            if (empty($_POST['ewww_image_optimizer_jpg_to_png'])) {
                $_POST['ewww_image_optimizer_jpg_to_png'] = '';
            }
            update_site_option('ewww_image_optimizer_jpg_to_png', $_POST['ewww_image_optimizer_jpg_to_png']);
            if (empty($_POST['ewww_image_optimizer_png_to_jpg'])) {
                $_POST['ewww_image_optimizer_png_to_jpg'] = '';
            }
            update_site_option('ewww_image_optimizer_png_to_jpg', $_POST['ewww_image_optimizer_png_to_jpg']);
            if (empty($_POST['ewww_image_optimizer_gif_to_png'])) {
                $_POST['ewww_image_optimizer_gif_to_png'] = '';
            }
            update_site_option('ewww_image_optimizer_gif_to_png', $_POST['ewww_image_optimizer_gif_to_png']);
            if (empty($_POST['ewww_image_optimizer_webp'])) {
                $_POST['ewww_image_optimizer_webp'] = '';
            }
            update_site_option('ewww_image_optimizer_webp', $_POST['ewww_image_optimizer_webp']);
            if (empty($_POST['ewww_image_optimizer_jpg_background'])) {
                $_POST['ewww_image_optimizer_jpg_background'] = '';
            }
            update_site_option('ewww_image_optimizer_jpg_background', ewww_image_optimizer_jpg_background($_POST['ewww_image_optimizer_jpg_background']));
            if (empty($_POST['ewww_image_optimizer_jpg_quality'])) {
                $_POST['ewww_image_optimizer_jpg_quality'] = '';
            }
            update_site_option('ewww_image_optimizer_jpg_quality', ewww_image_optimizer_jpg_quality($_POST['ewww_image_optimizer_jpg_quality']));
            if (empty($_POST['ewww_image_optimizer_disable_convert_links'])) {
                $_POST['ewww_image_optimizer_disable_convert_links'] = '';
            }
            update_site_option('ewww_image_optimizer_disable_convert_links', $_POST['ewww_image_optimizer_disable_convert_links']);
            if (empty($_POST['ewww_image_optimizer_cloud_key'])) {
                $_POST['ewww_image_optimizer_cloud_key'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_key', ewww_image_optimizer_cloud_key_sanitize($_POST['ewww_image_optimizer_cloud_key']));
            if (empty($_POST['ewww_image_optimizer_cloud_jpg'])) {
                $_POST['ewww_image_optimizer_cloud_jpg'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_jpg', $_POST['ewww_image_optimizer_cloud_jpg']);
            if (empty($_POST['ewww_image_optimizer_cloud_png'])) {
                $_POST['ewww_image_optimizer_cloud_png'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_png', $_POST['ewww_image_optimizer_cloud_png']);
            if (empty($_POST['ewww_image_optimizer_cloud_png_compress'])) {
                $_POST['ewww_image_optimizer_cloud_png_compress'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_png_compress', $_POST['ewww_image_optimizer_cloud_png_compress']);
            if (empty($_POST['ewww_image_optimizer_cloud_gif'])) {
                $_POST['ewww_image_optimizer_cloud_gif'] = '';
            }
            update_site_option('ewww_image_optimizer_cloud_gif', $_POST['ewww_image_optimizer_cloud_gif']);
            if (empty($_POST['ewww_image_optimizer_auto'])) {
                $_POST['ewww_image_optimizer_auto'] = '';
            }
            update_site_option('ewww_image_optimizer_auto', $_POST['ewww_image_optimizer_auto']);
            if (empty($_POST['ewww_image_optimizer_aux_paths'])) {
                $_POST['ewww_image_optimizer_aux_paths'] = '';
            }
            update_site_option('ewww_image_optimizer_aux_paths', ewww_image_optimizer_aux_paths_sanitize($_POST['ewww_image_optimizer_aux_paths']));
            if (empty($_POST['ewww_image_optimizer_enable_cloudinary'])) {
                $_POST['ewww_image_optimizer_enable_cloudinary'] = '';
            }
            update_site_option('ewww_image_optimizer_enable_cloudinary', $_POST['ewww_image_optimizer_enable_cloudinary']);
            if (empty($_POST['ewww_image_optimizer_delay'])) {
                $_POST['ewww_image_optimizer_delay'] = '';
            }
            update_site_option('ewww_image_optimizer_delay', intval($_POST['ewww_image_optimizer_delay']));
            if (empty($_POST['ewww_image_optimizer_disable_resizes'])) {
                $_POST['ewww_image_optimizer_disable_resizes'] = array();
            }
            update_site_option('ewww_image_optimizer_disable_resizes', $_POST['ewww_image_optimizer_disable_resizes']);
            if (empty($_POST['ewww_image_optimizer_disable_resizes_opt'])) {
                $_POST['ewww_image_optimizer_disable_resizes_opt'] = array();
            }
            update_site_option('ewww_image_optimizer_disable_resizes_opt', $_POST['ewww_image_optimizer_disable_resizes_opt']);
            if (empty($_POST['ewww_image_optimizer_skip_size'])) {
                $_POST['ewww_image_optimizer_skip_size'] = '';
            }
            update_site_option('ewww_image_optimizer_skip_size', intval($_POST['ewww_image_optimizer_skip_size']));
            if (empty($_POST['ewww_image_optimizer_skip_png_size'])) {
                $_POST['ewww_image_optimizer_skip_png_size'] = '';
            }
            update_site_option('ewww_image_optimizer_skip_png_size', intval($_POST['ewww_image_optimizer_skip_png_size']));
            if (empty($_POST['ewww_image_optimizer_noauto'])) {
                $_POST['ewww_image_optimizer_noauto'] = '';
            }
            update_site_option('ewww_image_optimizer_noauto', $_POST['ewww_image_optimizer_noauto']);
            if (empty($_POST['ewww_image_optimizer_include_media_paths'])) {
                $_POST['ewww_image_optimizer_include_media_paths'] = '';
            }
            update_site_option('ewww_image_optimizer_include_media_paths', $_POST['ewww_image_optimizer_include_media_paths']);
            if (empty($_POST['ewww_image_optimizer_webp_for_cdn'])) {
                $_POST['ewww_image_optimizer_webp_for_cdn'] = '';
            }
            update_site_option('ewww_image_optimizer_webp_for_cdn', $_POST['ewww_image_optimizer_webp_for_cdn']);
            add_action('network_admin_notices', 'ewww_image_optimizer_network_settings_saved');
        }
    }
    // register all the common EWWW IO settings
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_debug');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpegtran_copy');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_lossy');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_png_lossy');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_lossy_fast');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_lossy_skip_full');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_metadata_skip_full');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_delete_originals');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_to_png');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_png_to_jpg');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_gif_to_png');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_webp');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_background', 'ewww_image_optimizer_jpg_background');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_quality', 'ewww_image_optimizer_jpg_quality');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_disable_convert_links');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_bulk_resume');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_bulk_attachments');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_aux_resume');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_aux_attachments');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_aux_type');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_key', 'ewww_image_optimizer_cloud_key_sanitize');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_jpg');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_png');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_png_compress');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_gif');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_auto');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_aux_paths', 'ewww_image_optimizer_aux_paths_sanitize');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_enable_cloudinary');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_delay', 'intval');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_disable_resizes');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_disable_resizes_opt');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_skip_size', 'intval');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_skip_png_size', 'intval');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_import_status');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_noauto');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_include_media_paths');
    register_setting('ewww_image_optimizer_options', 'ewww_image_optimizer_webp_for_cdn');
    ewww_image_optimizer_exec_init();
    // setup scheduled optimization if the user has enabled it, and it isn't already scheduled
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_auto') == TRUE && !wp_next_scheduled('ewww_image_optimizer_auto')) {
        $ewww_debug .= "scheduling auto-optimization<br>";
        wp_schedule_event(time(), 'hourly', 'ewww_image_optimizer_auto');
    } elseif (ewww_image_optimizer_get_option('ewww_image_optimizer_auto') == TRUE) {
        $ewww_debug .= "auto-optimization already scheduled: " . wp_next_scheduled('ewww_image_optimizer_auto') . "<br>";
    } elseif (wp_next_scheduled('ewww_image_optimizer_auto')) {
        $ewww_debug .= "un-scheduling auto-optimization<br>";
        wp_clear_scheduled_hook('ewww_image_optimizer_auto');
        if (function_exists('is_plugin_active_for_network') && is_plugin_active_for_network(EWWW_IMAGE_OPTIMIZER_PLUGIN_FILE_REL)) {
            global $wpdb;
            if (function_exists('wp_get_sites')) {
                add_filter('wp_is_large_network', 'ewww_image_optimizer_large_network', 20, 0);
                $blogs = wp_get_sites(array('network_id' => $wpdb->siteid, 'limit' => 10000));
                remove_filter('wp_is_large_network', 'ewww_image_optimizer_large_network', 20, 0);
            } else {
                $query = "SELECT blog_id FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' ";
                $blogs = $wpdb->get_results($query, ARRAY_A);
            }
            foreach ($blogs as $blog) {
                switch_to_blog($blog['blog_id']);
                wp_clear_scheduled_hook('ewww_image_optimizer_auto');
            }
            restore_current_blog();
        }
    }
    // require the files that do the bulk processing
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'bulk.php';
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'aux-optimize.php';
    require_once EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'mwebp.php';
    // queue the function that contains custom styling for our progressbars, but only in wp 3.8+
    global $wp_version;
    if (substr($wp_version, 0, 3) >= 3.8) {
        add_action('admin_enqueue_scripts', 'ewww_image_optimizer_progressbar_style');
    }
    ewwwio_memory(__FUNCTION__);
}
Example #3
0
function ewww_image_optimizer_admin_init() {
	ewwwio_debug_message( '<b>' . __FUNCTION__ . '()</b>' );
	ewwwio_memory( __FUNCTION__ );
	ewww_image_optimizer_init();
	if ( ! function_exists( 'is_plugin_active_for_network' ) && is_multisite() ) {
		// need to include the plugin library for the is_plugin_active function
		require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
	}
	if ( is_multisite() && is_plugin_active_for_network(EWWW_IMAGE_OPTIMIZER_PLUGIN_FILE_REL ) ) {
		// set the common network settings if they have been POSTed
		if ( isset( $_POST['ewww_image_optimizer_delay'] ) && current_user_can( 'manage_options' ) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'ewww_image_optimizer_options-options' ) ) {
			ewwwio_debug_message( print_r( $_POST, true ) );
			$_POST['ewww_image_optimizer_debug'] = ( empty( $_POST['ewww_image_optimizer_debug'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_debug', $_POST['ewww_image_optimizer_debug'] );
			$_POST['ewww_image_optimizer_jpegtran_copy'] = ( empty( $_POST['ewww_image_optimizer_jpegtran_copy'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_jpegtran_copy', $_POST['ewww_image_optimizer_jpegtran_copy'] );
			if ( empty( $_POST['ewww_image_optimizer_jpg_level'] ) ) $_POST['ewww_image_optimizer_jpg_level'] = '';
			update_site_option( 'ewww_image_optimizer_jpg_level', (int) $_POST['ewww_image_optimizer_jpg_level'] );
			if ( empty( $_POST[ 'ewww_image_optimizer_png_level'] ) ) $_POST['ewww_image_optimizer_png_level'] = '';
			update_site_option( 'ewww_image_optimizer_png_level', (int) $_POST['ewww_image_optimizer_png_level'] );
			if ( empty( $_POST['ewww_image_optimizer_gif_level'] ) ) $_POST['ewww_image_optimizer_gif_level'] = '';
			update_site_option( 'ewww_image_optimizer_gif_level', (int) $_POST['ewww_image_optimizer_gif_level'] );
			if ( empty( $_POST['ewww_image_optimizer_pdf_level'] ) ) $_POST['ewww_image_optimizer_pdf_level'] = '';
			update_site_option( 'ewww_image_optimizer_pdf_level', (int) $_POST['ewww_image_optimizer_pdf_level'] );
			$_POST['ewww_image_optimizer_lossy_skip_full'] = ( empty( $_POST['ewww_image_optimizer_lossy_skip_full'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_lossy_skip_full', $_POST['ewww_image_optimizer_lossy_skip_full'] );
			$_POST['ewww_image_optimizer_metadata_skip_full'] = ( empty( $_POST['ewww_image_optimizer_metadata_skip_full'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_metadata_skip_full', $_POST['ewww_image_optimizer_metadata_skip_full'] );
			$_POST['ewww_image_optimizer_delete_originals'] = ( empty( $_POST['ewww_image_optimizer_delete_originals'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_delete_originals', $_POST['ewww_image_optimizer_delete_originals'] );
			$_POST['ewww_image_optimizer_jpg_to_png'] = ( empty( $_POST['ewww_image_optimizer_jpg_to_png'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_jpg_to_png', $_POST['ewww_image_optimizer_jpg_to_png'] );
			$_POST['ewww_image_optimizer_png_to_jpg'] = ( empty( $_POST['ewww_image_optimizer_png_to_jpg'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_png_to_jpg', $_POST['ewww_image_optimizer_png_to_jpg'] );
			$_POST['ewww_image_optimizer_gif_to_png'] = ( empty( $_POST['ewww_image_optimizer_gif_to_png'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_gif_to_png', $_POST['ewww_image_optimizer_gif_to_png'] );
			$_POST['ewww_image_optimizer_webp'] = ( empty( $_POST['ewww_image_optimizer_webp'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_webp', $_POST['ewww_image_optimizer_webp'] );
			if (empty($_POST['ewww_image_optimizer_jpg_background'])) $_POST['ewww_image_optimizer_jpg_background'] = '';
			update_site_option( 'ewww_image_optimizer_jpg_background', ewww_image_optimizer_jpg_background( $_POST['ewww_image_optimizer_jpg_background'] ) );
			if (empty($_POST['ewww_image_optimizer_jpg_quality'])) $_POST['ewww_image_optimizer_jpg_quality'] = '';
			update_site_option( 'ewww_image_optimizer_jpg_quality', ewww_image_optimizer_jpg_quality( $_POST['ewww_image_optimizer_jpg_quality'] ) );
			$_POST['ewww_image_optimizer_disable_convert_links'] = ( empty( $_POST['ewww_image_optimizer_disable_convert_links'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_disable_convert_links', $_POST['ewww_image_optimizer_disable_convert_links'] );
			if ( empty( $_POST['ewww_image_optimizer_cloud_key'] ) ) $_POST['ewww_image_optimizer_cloud_key'] = '';
			update_site_option( 'ewww_image_optimizer_cloud_key', ewww_image_optimizer_cloud_key_sanitize( $_POST['ewww_image_optimizer_cloud_key'] ) );
			$_POST['ewww_image_optimizer_auto'] = ( empty( $_POST['ewww_image_optimizer_auto'] ) ? false : true );
			update_site_option('ewww_image_optimizer_auto', $_POST['ewww_image_optimizer_auto']);
			if ( empty( $_POST['ewww_image_optimizer_aux_paths'] ) ) $_POST['ewww_image_optimizer_aux_paths'] = '';
			update_site_option( 'ewww_image_optimizer_aux_paths', ewww_image_optimizer_aux_paths_sanitize( $_POST['ewww_image_optimizer_aux_paths'] ) );
			$_POST['ewww_image_optimizer_enable_cloudinary'] = ( empty( $_POST['ewww_image_optimizer_enable_cloudinary'] ) ? false : true );
			update_site_option('ewww_image_optimizer_enable_cloudinary', $_POST['ewww_image_optimizer_enable_cloudinary']);
			if ( empty( $_POST['ewww_image_optimizer_delay'] ) ) $_POST['ewww_image_optimizer_delay'] = '';
			update_site_option( 'ewww_image_optimizer_delay', (int) $_POST['ewww_image_optimizer_delay'] );
			if ( empty( $_POST['ewww_image_optimizer_maxmediawidth'] ) ) $_POST['ewww_image_optimizer_maxmediawidth'] = 0;
			update_site_option( 'ewww_image_optimizer_maxmediawidth', (int) $_POST['ewww_image_optimizer_maxmediawidth'] );
			if ( empty( $_POST['ewww_image_optimizer_maxmediaheight'] ) ) $_POST['ewww_image_optimizer_maxmediaheight'] = 0;
			update_site_option( 'ewww_image_optimizer_maxmediaheight', (int) $_POST['ewww_image_optimizer_maxmediaheight'] );
			if ( empty( $_POST['ewww_image_optimizer_maxotherwidth'] ) ) $_POST['ewww_image_optimizer_maxotherwidth'] = 0;
			update_site_option( 'ewww_image_optimizer_maxotherwidth', (int) $_POST['ewww_image_optimizer_maxotherwidth'] );
			if ( empty( $_POST['ewww_image_optimizer_maxotherheight'] ) ) $_POST['ewww_image_optimizer_maxotherheight'] = 0;
			update_site_option( 'ewww_image_optimizer_maxotherheight', (int) $_POST['ewww_image_optimizer_maxotherheight'] );
			$_POST['ewww_image_optimizer_resize_existing'] = ( empty( $_POST['ewww_image_optimizer_resize_existing'] ) ? false : true );
			update_site_option( 'ewww_image_optimizer_resize_existing', $_POST['ewww_image_optimizer_resize_existing'] );
			if (empty($_POST['ewww_image_optimizer_disable_resizes'])) $_POST['ewww_image_optimizer_disable_resizes'] = array();
			update_site_option('ewww_image_optimizer_disable_resizes', $_POST['ewww_image_optimizer_disable_resizes']);
			if (empty($_POST['ewww_image_optimizer_disable_resizes_opt'])) $_POST['ewww_image_optimizer_disable_resizes_opt'] = array();
			update_site_option('ewww_image_optimizer_disable_resizes_opt', $_POST['ewww_image_optimizer_disable_resizes_opt']);
			if (empty($_POST['ewww_image_optimizer_skip_size'])) $_POST['ewww_image_optimizer_skip_size'] = '';
			update_site_option('ewww_image_optimizer_skip_size', (int) $_POST['ewww_image_optimizer_skip_size'] );
			if (empty($_POST['ewww_image_optimizer_skip_png_size'])) $_POST['ewww_image_optimizer_skip_png_size'] = '';
			update_site_option('ewww_image_optimizer_skip_png_size', (int) $_POST['ewww_image_optimizer_skip_png_size'] );
			$_POST['ewww_image_optimizer_parallel_optimization'] = ( empty( $_POST['ewww_image_optimizer_parallel_optimization'] ) ? false : true );
			update_site_option('ewww_image_optimizer_parallel_optimization', $_POST['ewww_image_optimizer_parallel_optimization']);
//			$_POST['ewww_image_optimizer_defer'] = ( empty( $_POST['ewww_image_optimizer_defer'] ) ? false : true );
//			update_site_option('ewww_image_optimizer_defer', $_POST['ewww_image_optimizer_defer']);
			$_POST['ewww_image_optimizer_include_media_paths'] = ( empty( $_POST['ewww_image_optimizer_include_media_paths'] ) ? false : true );
			update_site_option('ewww_image_optimizer_include_media_paths', $_POST['ewww_image_optimizer_include_media_paths']);
			$_POST['ewww_image_optimizer_webp_for_cdn'] = ( empty( $_POST['ewww_image_optimizer_webp_for_cdn'] ) ? false : true );
			update_site_option('ewww_image_optimizer_webp_for_cdn', $_POST['ewww_image_optimizer_webp_for_cdn']);
			//if (empty($_POST['ewww_image_optimizer_webp_cdn_path'])) $_POST['ewww_image_optimizer_webp_cdn_path'] = '';
			//update_site_option('ewww_image_optimizer_webp_cdn_path', $_POST['ewww_image_optimizer_webp_cdn_path']);
			add_action('network_admin_notices', 'ewww_image_optimizer_network_settings_saved');
		}
	}
	// register all the common EWWW IO settings
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_debug', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_jpegtran_copy', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_level', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_png_level', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_gif_level', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_pdf_level', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_lossy_skip_full', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_metadata_skip_full', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_delete_originals', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_to_png', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_png_to_jpg', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_gif_to_png', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_webp', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_background', 'ewww_image_optimizer_jpg_background' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_jpg_quality', 'ewww_image_optimizer_jpg_quality' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_disable_convert_links', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_bulk_resume' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_bulk_attachments' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_aux_resume' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_aux_attachments' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_cloud_key', 'ewww_image_optimizer_cloud_key_sanitize' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_auto', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_aux_paths', 'ewww_image_optimizer_aux_paths_sanitize' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_enable_cloudinary', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_delay', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_maxmediawidth', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_maxmediaheight', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_maxotherwidth', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_maxotherheight', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_resize_existing', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_disable_resizes', 'ewww_image_optimizer_disable_resizes_sanitize' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_disable_resizes_opt', 'ewww_image_optimizer_disable_resizes_sanitize' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_skip_size', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_skip_png_size', 'intval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_import_status' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_parallel_optimization', 'boolval' );
//	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_defer', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_include_media_paths', 'boolval' );
	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_webp_for_cdn', 'boolval' );
//	register_setting( 'ewww_image_optimizer_options', 'ewww_image_optimizer_webp_cdn_path' );
	ewww_image_optimizer_exec_init();
	ewww_image_optimizer_cron_setup( 'ewww_image_optimizer_auto' );
//	ewww_image_optimizer_cron_setup( 'ewww_image_optimizer_defer' );
	// require the files that do the bulk processing 
	require_once( EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'bulk.php' );
	require_once( EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'aux-optimize.php' );
	require_once( EWWW_IMAGE_OPTIMIZER_PLUGIN_PATH . 'mwebp.php' );
	// queue the function that contains custom styling for our progressbars
	add_action('admin_enqueue_scripts', 'ewww_image_optimizer_progressbar_style'); 
	ewwwio_memory( __FUNCTION__ );
//	ewww_image_optimizer_debug_log();
}