当前位置: 首页>>代码示例>>PHP>>正文


PHP ewww_image_optimizer_stl_check函数代码示例

本文整理汇总了PHP中ewww_image_optimizer_stl_check函数的典型用法代码示例。如果您正苦于以下问题:PHP ewww_image_optimizer_stl_check函数的具体用法?PHP ewww_image_optimizer_stl_check怎么用?PHP ewww_image_optimizer_stl_check使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了ewww_image_optimizer_stl_check函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: ewww_image_optimizer


//.........这里部分代码省略.........
    // if the user has disabled the utility checks
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_skip_check') == TRUE || EWWW_IMAGE_OPTIMIZER_CLOUD) {
        $skip_jpegtran_check = true;
        $skip_optipng_check = true;
        $skip_gifsicle_check = true;
        $skip_pngout_check = true;
    } else {
        // otherwise we set the variables to false
        $skip_jpegtran_check = false;
        $skip_optipng_check = false;
        $skip_gifsicle_check = false;
        $skip_pngout_check = false;
    }
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_cloud_jpg')) {
        $skip_jpegtran_check = true;
    }
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_cloud_png')) {
        $skip_optipng_check = true;
        $skip_pngout_check = true;
    }
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_cloud_gif')) {
        $skip_gifsicle_check = true;
    }
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_metadata_skip_full') && $fullsize) {
        $keep_metadata = true;
    } else {
        $keep_metadata = false;
    }
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_lossy_skip_full') && $fullsize) {
        $skip_lossy = true;
    } else {
        $skip_lossy = false;
    }
    if (ini_get('max_execution_time') < 90 && ewww_image_optimizer_stl_check()) {
        set_time_limit(0);
    }
    // if the full-size image was converted
    if ($converted) {
        $ewww_debug .= "full-size image was converted, need to rebuild filename for meta<br>";
        $filenum = $converted;
        // grab the file extension
        preg_match('/\\.\\w+$/', $file, $fileext);
        // strip the file extension
        $filename = str_replace($fileext[0], '', $file);
        // grab the dimensions
        preg_match('/-\\d+x\\d+(-\\d+)*$/', $filename, $fileresize);
        // strip the dimensions
        $filename = str_replace($fileresize[0], '', $filename);
        // reconstruct the filename with the same increment (stored in $converted) as the full version
        $refile = $filename . '-' . $filenum . $fileresize[0] . $fileext[0];
        // rename the file
        rename($file, $refile);
        $ewww_debug .= "moved {$file} to {$refile}<br>";
        // and set $file to the new filename
        $file = $refile;
        $original = $file;
    }
    // get the original image size
    $orig_size = filesize($file);
    $ewww_debug .= "original filesize: {$orig_size}<br>";
    if ($orig_size < ewww_image_optimizer_get_option('ewww_image_optimizer_skip_size')) {
        // tell the user optimization was skipped
        $msg = __("Optimization skipped", EWWW_IMAGE_OPTIMIZER_DOMAIN);
        $ewww_debug .= "optimization bypassed due to filesize: {$file} <br>";
        // send back the above message
        return array(false, $msg, $converted, $file);
开发者ID:Rudchyk,项目名称:wp-framework,代码行数:67,代码来源:ewww-image-optimizer.php

示例2: ewww_image_optimizer_count_optimized

function ewww_image_optimizer_count_optimized($gallery, $return_ids = false)
{
    global $ewww_debug;
    global $wpdb;
    $ewww_debug .= "<b>ewww_image_optimizer_count_optmized()</b><br>";
    $full_count = 0;
    $unoptimized_full = 0;
    $unoptimized_re = 0;
    $resize_count = 0;
    $attachment_query = '';
    $ewww_debug .= "scanning for {$gallery}<br>";
    // retrieve the time when the optimizer starts
    $started = microtime(true);
    if (ewww_image_optimizer_stl_check()) {
        set_time_limit(0);
    }
    $max_query = 3000;
    $attachment_query_count = 0;
    switch ($gallery) {
        case 'media':
            $ids = array();
            // see if we were given attachment IDs to work with via GET/POST
            if (!empty($_REQUEST['ids']) || get_option('ewww_image_optimizer_bulk_resume')) {
                $ewww_debug .= 'we have preloaded attachment ids<br>';
                // retrieve the attachment IDs that were pre-loaded in the database
                $attachment_ids = get_option('ewww_image_optimizer_bulk_attachments');
                while ($attachment_ids && $attachment_query_count < $max_query) {
                    $attachment_query .= "'" . array_pop($attachment_ids) . "',";
                    $attachment_query_count++;
                }
                $attachment_query = 'AND metas.post_id IN (' . substr($attachment_query, 0, -1) . ')';
            }
            $offset = 0;
            // retrieve all the image attachment metadata from the database
            while ($attachments = $wpdb->get_results("SELECT metas.meta_value,post_id FROM {$wpdb->postmeta} metas INNER JOIN {$wpdb->posts} posts ON posts.ID = metas.post_id WHERE posts.post_mime_type LIKE '%image%' AND metas.meta_key = '_wp_attachment_metadata' {$attachment_query} LIMIT {$offset}, {$max_query}", ARRAY_N)) {
                $ewww_debug .= "fetched " . count($attachments) . " attachments starting at {$offset}<br>";
                $disabled_sizes = ewww_image_optimizer_get_option('ewww_image_optimizer_disable_resizes');
                foreach ($attachments as $attachment) {
                    $meta = unserialize($attachment[0]);
                    if (empty($meta)) {
                        continue;
                    }
                    if (empty($meta['ewww_image_optimizer'])) {
                        $unoptimized_full++;
                        $ids[] = $attachment[1];
                    }
                    // resized versions, so we can continue
                    if (isset($meta['sizes'])) {
                        foreach ($meta['sizes'] as $size => $data) {
                            if (!empty($disabled_sizes[$size])) {
                                continue;
                            }
                            $resize_count++;
                            if (empty($meta['sizes'][$size]['ewww_image_optimizer'])) {
                                $unoptimized_re++;
                            }
                        }
                    }
                }
                $full_count += count($attachments);
                $offset += $max_query;
                if (!empty($attachment_ids)) {
                    $attachment_query = '';
                    $attachment_query_count = 0;
                    $offset = 0;
                    while ($attachment_ids && $attachment_query_count < $max_query) {
                        $attachment_query .= "'" . array_pop($attachment_ids) . "',";
                        $attachment_query_count++;
                    }
                    $attachment_query = 'AND metas.post_id IN (' . substr($attachment_query, 0, -1) . ')';
                }
            }
            break;
        case 'ngg':
            // see if we were given attachment IDs to work with via GET/POST
            if (!empty($_REQUEST['ewww_inline']) || get_option('ewww_image_optimizer_bulk_ngg_resume')) {
                // retrieve the attachment IDs that were pre-loaded in the database
                $attachment_ids = get_option('ewww_image_optimizer_bulk_ngg_attachments');
                while ($attachment_ids && $attachment_query_count < $max_query) {
                    $attachment_query .= "'" . array_pop($attachment_ids) . "',";
                    $attachment_query_count++;
                }
                $attachment_query = 'WHERE pid IN (' . substr($attachment_query, 0, -1) . ')';
            }
            // creating the 'registry' object for working with nextgen
            $registry = C_Component_Registry::get_instance();
            // creating a database storage object from the 'registry' object
            $storage = $registry->get_utility('I_Gallery_Storage');
            // get an array of sizes available for the $image
            $sizes = $storage->get_image_sizes();
            $offset = 0;
            while ($attachments = $wpdb->get_col("SELECT meta_data FROM {$wpdb->nggpictures} {$attachment_query} LIMIT {$offset}, {$max_query}")) {
                foreach ($attachments as $attachment) {
                    if (class_exists('Ngg_Serializable')) {
                        $serializer = new Ngg_Serializable();
                        $meta = $serializer->unserialize($attachment);
                    } else {
                        $meta = unserialize($attachment);
                    }
                    if (!is_array($meta)) {
//.........这里部分代码省略.........
开发者ID:Rudchyk,项目名称:wp-framework,代码行数:101,代码来源:bulk.php

示例3: ewww_image_optimizer_image_scan

function ewww_image_optimizer_image_scan($dir)
{
    ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>');
    global $wpdb;
    $images = array();
    if (!is_dir($dir)) {
        return $images;
    }
    ewwwio_debug_message("scanning folder for images: {$dir}");
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::CHILD_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD);
    $start = microtime(true);
    $query = "SELECT path,image_size FROM {$wpdb->ewwwio_images}";
    $already_optimized = $wpdb->get_results($query, ARRAY_A);
    $optimized_list = array();
    foreach ($already_optimized as $optimized) {
        $optimized_path = $optimized['path'];
        $optimized_list[$optimized_path] = $optimized['image_size'];
    }
    $file_counter = 0;
    if (ewww_image_optimizer_stl_check()) {
        set_time_limit(0);
    }
    foreach ($iterator as $file) {
        $file_counter++;
        $skip_optimized = false;
        if ($file->isFile()) {
            $path = $file->getPathname();
            if (preg_match('/(\\/|\\\\)\\./', $path) && apply_filters('ewww_image_optimizer_ignore_hidden_files', true)) {
                continue;
            }
            if (!ewww_image_optimizer_quick_mimetype($path)) {
                /*			$pathextension = strtolower( pathinfo( $path, PATHINFO_EXTENSION ) );
                			switch ( $pathextension ) {
                				case 'jpg':
                				case 'jpeg':
                				case 'jpe':
                				case 'png':
                				case 'gif':
                				case 'pdf':
                					break;
                				default:*/
                continue;
            }
            if (isset($optimized_list[$path])) {
                $image_size = $file->getSize();
                if ($optimized_list[$path] == $image_size) {
                    ewwwio_debug_message("match found for {$path}");
                    $skip_optimized = true;
                } else {
                    ewwwio_debug_message("mismatch found for {$path}, db says " . $optimized_list[$path] . " vs. current {$image_size}");
                }
            }
            if (empty($skip_optimized) || !empty($_REQUEST['ewww_force'])) {
                ewwwio_debug_message("queued {$path}");
                $images[] = utf8_encode($path);
            }
        }
        //		ewww_image_optimizer_debug_log();
    }
    $end = microtime(true) - $start;
    ewwwio_debug_message("query time for {$file_counter} files (seconds): {$end}");
    ewwwio_memory(__FUNCTION__);
    return $images;
}
开发者ID:kanei,项目名称:vantuch.cz,代码行数:64,代码来源:aux-optimize.php

示例4: ewww_image_optimizer_bulk_loop

function ewww_image_optimizer_bulk_loop()
{
    ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>');
    global $ewww_defer;
    $ewww_defer = false;
    $output = array();
    // verify that an authorized user has started the optimizer
    $permissions = apply_filters('ewww_image_optimizer_bulk_permissions', '');
    if (!wp_verify_nonce($_REQUEST['ewww_wpnonce'], 'ewww-image-optimizer-bulk') || !current_user_can($permissions)) {
        $output['error'] = esc_html__('Access token has expired, please reload the page.', EWWW_IMAGE_OPTIMIZER_DOMAIN);
        echo json_encode($output);
        die;
    }
    session_write_close();
    // retrieve the time when the optimizer starts
    $started = microtime(true);
    if (ewww_image_optimizer_stl_check() && ini_get('max_execution_time')) {
        set_time_limit(0);
    }
    // find out if our nonce is on it's last leg/tick
    $tick = wp_verify_nonce($_REQUEST['ewww_wpnonce'], 'ewww-image-optimizer-bulk');
    if ($tick === 2) {
        $output['new_nonce'] = wp_create_nonce('ewww-image-optimizer-bulk');
    } else {
        $output['new_nonce'] = '';
    }
    // get the 'bulk attachments' with a list of IDs remaining
    $attachments = get_option('ewww_image_optimizer_bulk_attachments');
    $attachment = array_shift($attachments);
    $meta = wp_get_attachment_metadata($attachment, true);
    // do the optimization for the current attachment (including resizes)
    $meta = ewww_image_optimizer_resize_from_meta_data($meta, $attachment, false);
    $ewww_status = get_transient('ewww_image_optimizer_cloud_status');
    if (!empty($ewww_status) && preg_match('/exceeded/', $ewww_status)) {
        $output['error'] = esc_html__('License Exceeded', EWWW_IMAGE_OPTIMIZER_DOMAIN);
        echo json_encode($output);
        die;
    }
    if (!empty($meta['file'])) {
        // output the filename (and path relative to 'uploads' folder)
        $output['results'] = sprintf("<p>" . esc_html__('Optimized', EWWW_IMAGE_OPTIMIZER_DOMAIN) . " <strong>%s</strong><br>", esc_html($meta['file']));
    } else {
        $output['results'] = sprintf("<p>" . esc_html__('Skipped image, ID:', EWWW_IMAGE_OPTIMIZER_DOMAIN) . " <strong>%s</strong><br>", esc_html($attachment));
    }
    if (!empty($meta['ewww_image_optimizer'])) {
        // tell the user what the results were for the original image
        $output['results'] .= sprintf(esc_html__('Full size – %s', EWWW_IMAGE_OPTIMIZER_DOMAIN) . "<br>", esc_html($meta['ewww_image_optimizer']));
    }
    // check to see if there are resized version of the image
    if (isset($meta['sizes']) && is_array($meta['sizes'])) {
        // cycle through each resize
        foreach ($meta['sizes'] as $size) {
            if (!empty($size['ewww_image_optimizer'])) {
                // output the results for the current resized version
                $output['results'] .= sprintf("%s – %s<br>", esc_html($size['file']), esc_html($size['ewww_image_optimizer']));
            }
        }
    }
    // calculate how much time has elapsed since we started
    $elapsed = microtime(true) - $started;
    // output how much time has elapsed since we started
    $output['results'] .= sprintf(esc_html__('Elapsed: %.3f seconds', EWWW_IMAGE_OPTIMIZER_DOMAIN) . "</p>", $elapsed);
    global $ewww_attachment;
    $ewww_attachment['id'] = $attachment;
    $ewww_attachment['meta'] = $meta;
    add_filter('w3tc_cdn_update_attachment_metadata', 'ewww_image_optimizer_w3tc_update_files');
    // update the metadata for the current attachment
    wp_update_attachment_metadata($attachment, $meta);
    // store the updated list of attachment IDs back in the 'bulk_attachments' option
    update_option('ewww_image_optimizer_bulk_attachments', $attachments);
    if (ewww_image_optimizer_get_option('ewww_image_optimizer_debug')) {
        global $ewww_debug;
        $output['results'] .= '<div style="background-color:#ffff99;">' . $ewww_debug . '</div>';
    }
    if (!empty($attachments)) {
        $next_attachment = array_shift($attachments);
        $next_file = ewww_image_optimizer_bulk_filename($next_attachment);
        // generate the WP spinner image for display
        $loading_image = plugins_url('/images/wpspin.gif', __FILE__);
        if ($next_file) {
            $output['next_file'] = "<p>" . esc_html__('Optimizing', EWWW_IMAGE_OPTIMIZER_DOMAIN) . " <b>{$next_file}</b>&nbsp;<img src='{$loading_image}' /></p>";
        } else {
            $output['next_file'] = "<p>" . esc_html__('Optimizing', EWWW_IMAGE_OPTIMIZER_DOMAIN) . "&nbsp;<img src='{$loading_image}' /></p>";
        }
    }
    echo json_encode($output);
    ewww_image_optimizer_debug_log();
    ewwwio_memory(__FUNCTION__);
    die;
}
开发者ID:crazyyy,项目名称:bessarabia,代码行数:90,代码来源:bulk.php

示例5: ewww_image_optimizer_image_scan

function ewww_image_optimizer_image_scan($dir)
{
    global $ewww_debug;
    global $wpdb;
    $ewww_debug .= "<b>ewww_image_optimizer_image_scan()</b><br>";
    $images = array();
    if (!is_dir($dir)) {
        return $images;
    }
    $ewww_debug .= "scanning folder for images: {$dir}<br>";
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::CHILD_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD);
    $start = microtime(true);
    $query = "SELECT path,image_size FROM {$wpdb->ewwwio_images}";
    $already_optimized = $wpdb->get_results($query, ARRAY_A);
    $file_counter = 0;
    if (ewww_image_optimizer_stl_check()) {
        set_time_limit(0);
    }
    foreach ($iterator as $path) {
        $file_counter++;
        $skip_optimized = false;
        if ($path->isFile()) {
            //	continue;
            //} else {
            $path = $path->getPathname();
            if (preg_match('/\\.(po|mo|pot|php|txt|js|css|html|woff|webp|json|svg|xml|ttf|otf|eot|md)$/', $path)) {
                $ewww_debug .= "not a usable extension: {$path}<br>";
                continue;
            }
            $mimetype = ewww_image_optimizer_mimetype($path, 'i');
            if (empty($mimetype) || !preg_match('/^image\\/(jpeg|png|gif)/', $mimetype)) {
                $ewww_debug .= "not a usable mimetype: {$path}<br>";
                continue;
            }
            foreach ($already_optimized as $optimized) {
                if ($optimized['path'] === $path) {
                    $image_size = filesize($path);
                    if ($optimized['image_size'] == $image_size) {
                        $ewww_debug .= "match found for {$path}<br>";
                        $skip_optimized = true;
                        break;
                    } else {
                        $ewww_debug .= "mismatch found for {$path}, db says " . $optimized['image_size'] . " vs. current {$image_size}<br>";
                    }
                }
            }
            if (empty($skip_optimized) || !empty($_REQUEST['ewww_force'])) {
                $ewww_debug .= "queued {$path}<br>";
                $images[] = $path;
            }
        }
    }
    $end = microtime(true) - $start;
    $ewww_debug .= "query time for {$file_counter} files (seconds): {$end} <br>";
    ewwwio_memory(__FUNCTION__);
    return $images;
}
开发者ID:jrald1291,项目名称:atu,代码行数:57,代码来源:aux-optimize.php

示例6: ewww_image_optimizer_image_scan

function ewww_image_optimizer_image_scan($dir)
{
    ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>');
    global $wpdb;
    $images = array();
    if (!is_dir($dir)) {
        return $images;
    }
    ewwwio_debug_message("scanning folder for images: {$dir}");
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::CHILD_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD);
    $start = microtime(true);
    $query = "SELECT path,image_size FROM {$wpdb->ewwwio_images}";
    $already_optimized = $wpdb->get_results($query, ARRAY_A);
    $optimized_list = array();
    foreach ($already_optimized as $optimized) {
        $optimized_path = $optimized['path'];
        $optimized_list[$optimized_path] = $optimized['image_size'];
    }
    $file_counter = 0;
    if (ewww_image_optimizer_stl_check()) {
        set_time_limit(0);
    }
    foreach ($iterator as $file) {
        $file_counter++;
        $skip_optimized = false;
        if ($file->isFile()) {
            $path = $file->getPathname();
            if (preg_match('/(\\/|\\\\)\\./', $path) && apply_filters('ewww_image_optimizer_ignore_hidden_files', true)) {
                //			ewwwio_debug_message( "skipping hidden file: $path" );
                continue;
            }
            if (preg_match('/\\.(conf|crt|css|docx|eot|exe|git|gitignore|gitmodules|gz|hgignore|hgsub|hgsubstate|hgtags|htaccess|htm|html|ico|ini|js|json|key|less|lock|log|map|md|mo|mp3|mp4|otf|pdf|pem|php|po|pot|sample|scss|sh|svg|svnignore|swf|template|tiff|tmp|tpl|ttf|txt|url|vcl|woff|woff2|webp|xap|xml|yml|zip)$/', $path)) {
                //			ewwwio_debug_message( "not a usable extension: $path" );
                continue;
            }
            if (!preg_match('/\\./', $path)) {
                //			ewwwio_debug_message( "no extension: $path" );
                continue;
            }
            if (isset($optimized_list[$path])) {
                $image_size = $file->getSize();
                if ($optimized_list[$path] == $image_size) {
                    ewwwio_debug_message("match found for {$path}");
                    $skip_optimized = true;
                } else {
                    ewwwio_debug_message("mismatch found for {$path}, db says " . $optimized_list[$path] . " vs. current {$image_size}");
                }
            }
            if (empty($skip_optimized) || !empty($_REQUEST['ewww_force'])) {
                ewwwio_debug_message("queued {$path}");
                $images[] = $path;
            }
        }
    }
    $end = microtime(true) - $start;
    ewwwio_debug_message("query time for {$file_counter} files (seconds): {$end}");
    ewwwio_memory(__FUNCTION__);
    return $images;
}
开发者ID:ashenkar,项目名称:sanga,代码行数:59,代码来源:aux-optimize.php

示例7: ewww_image_optimizer_aux_images_loop

function ewww_image_optimizer_aux_images_loop($attachment = null, $auto = false)
{
    ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>');
    global $ewww_defer;
    $ewww_defer = false;
    $output = array();
    // verify that an authorized user has started the optimizer
    $permissions = apply_filters('ewww_image_optimizer_bulk_permissions', '');
    if (!$auto && (empty($_REQUEST['ewww_wpnonce']) || !wp_verify_nonce($_REQUEST['ewww_wpnonce'], 'ewww-image-optimizer-bulk') || !current_user_can($permissions))) {
        $output['error'] = esc_html__('Access token has expired, please reload the page.', EWWW_IMAGE_OPTIMIZER_DOMAIN);
        echo json_encode($output);
        die;
    }
    session_write_close();
    if (!empty($_REQUEST['ewww_wpnonce'])) {
        // find out if our nonce is on it's last leg/tick
        $tick = wp_verify_nonce($_REQUEST['ewww_wpnonce'], 'ewww-image-optimizer-bulk');
        if ($tick === 2) {
            ewwwio_debug_message('nonce on its last leg');
            $output['new_nonce'] = wp_create_nonce('ewww-image-optimizer-bulk');
        } else {
            ewwwio_debug_message('nonce still alive and kicking');
            $output['new_nonce'] = '';
        }
    }
    // retrieve the time when the optimizer starts
    $started = microtime(true);
    if (ewww_image_optimizer_stl_check() && ini_get('max_execution_time') < 60) {
        set_time_limit(0);
    }
    // get the 'aux attachments' with a list of attachments remaining
    $attachments = get_option('ewww_image_optimizer_aux_attachments');
    if (empty($attachment)) {
        $attachment = array_shift($attachments);
    }
    // do the optimization for the current image
    $results = ewww_image_optimizer($attachment);
    //global $ewww_exceed;
    $ewww_status = get_transient('ewww_image_optimizer_cloud_status');
    if (!empty($ewww_status) && preg_match('/exceeded/', $ewww_status)) {
        if (!$auto) {
            $output['error'] = esc_html__('License Exceeded', EWWW_IMAGE_OPTIMIZER_DOMAIN);
            echo json_encode($output);
        }
        die;
    }
    // store the updated list of attachment IDs back in the 'bulk_attachments' option
    update_option('ewww_image_optimizer_aux_attachments', $attachments);
    if (!$auto) {
        // output the path
        $output['results'] = sprintf("<p>" . esc_html__('Optimized', EWWW_IMAGE_OPTIMIZER_DOMAIN) . " <strong>%s</strong><br>", esc_html($attachment));
        // tell the user what the results were for the original image
        $output['results'] .= sprintf("%s<br>", $results[1]);
        // calculate how much time has elapsed since we started
        $elapsed = microtime(true) - $started;
        // output how much time has elapsed since we started
        $output['results'] .= sprintf(esc_html__('Elapsed: %.3f seconds', EWWW_IMAGE_OPTIMIZER_DOMAIN) . "</p>", $elapsed);
        if (get_site_option('ewww_image_optimizer_debug')) {
            global $ewww_debug;
            $output['results'] .= '<div style="background-color:#ffff99;">' . $ewww_debug . '</div>';
        }
        if (!empty($attachments)) {
            $next_file = array_shift($attachments);
            $loading_image = plugins_url('/images/wpspin.gif', __FILE__);
            $output['next_file'] = "<p>" . esc_html__('Optimizing', EWWW_IMAGE_OPTIMIZER_DOMAIN) . " <b>{$next_file}</b>&nbsp;<img src='{$loading_image}' alt='loading'/></p>";
        }
        echo json_encode($output);
        ewwwio_memory(__FUNCTION__);
        die;
    }
    ewwwio_memory(__FUNCTION__);
}
开发者ID:crazyyy,项目名称:bessarabia,代码行数:72,代码来源:common.php

示例8: ewww_image_optimizer_webp_loop

function ewww_image_optimizer_webp_loop()
{
    ewwwio_debug_message('<b>' . __FUNCTION__ . '()</b>');
    $permissions = apply_filters('ewww_image_optimizer_admin_permissions', '');
    if (!wp_verify_nonce($_REQUEST['ewww_wpnonce'], 'ewww-image-optimizer-webp') || !current_user_can($permissions)) {
        wp_die(esc_html__('Access token has expired, please reload the page.', EWWW_IMAGE_OPTIMIZER_DOMAIN));
    }
    // retrieve the time when the migration starts
    $started = microtime(true);
    if (ewww_image_optimizer_stl_check()) {
        set_time_limit(0);
    }
    $images = array();
    ewwwio_debug_message('renaming images now');
    $images_processed = 0;
    $images_skipped = '';
    $images = get_option('ewww_image_optimizer_webp_images');
    if ($images) {
        printf(esc_html__('%d Webp images left to rename.', EWWW_IMAGE_OPTIMIZER_DOMAIN), count($images));
        echo "<br>";
    }
    while ($images) {
        $images_processed++;
        ewwwio_debug_message("processed {$images_processed} images so far");
        if ($images_processed > 1000) {
            ewwwio_debug_message('hit 1000, breaking loop');
            break;
        }
        $image = array_pop($images);
        $replace_base = '';
        $skip = true;
        $pngfile = preg_replace('/webp$/', 'png', $image);
        $PNGfile = preg_replace('/webp$/', 'PNG', $image);
        $jpgfile = preg_replace('/webp$/', 'jpg', $image);
        $jpegfile = preg_replace('/webp$/', 'jpeg', $image);
        $JPGfile = preg_replace('/webp$/', 'JPG', $image);
        if (file_exists($pngfile)) {
            $replace_base = $pngfile;
            $skip = false;
        }
        if (file_exists($PNGfile)) {
            if (empty($replace_base)) {
                $replace_base = $PNGfile;
                $skip = false;
            } else {
                $skip = true;
            }
        }
        if (file_exists($jpgfile)) {
            if (empty($replace_base)) {
                $replace_base = $jpgfile;
                $skip = false;
            } else {
                $skip = true;
            }
        }
        if (file_exists($jpegfile)) {
            if (empty($replace_base)) {
                $replace_base = $jpegfile;
                $skip = false;
            } else {
                $skip = true;
            }
        }
        if (file_exists($JPGfile)) {
            if (empty($replace_base)) {
                $replace_base = $JPGfile;
                $skip = false;
            } else {
                $skip = true;
            }
        }
        if ($skip) {
            if ($replace_base) {
                ewwwio_debug_message("multiple replacement options for {$image}, not renaming");
            } else {
                ewwwio_debug_message("no match found for {$image}, strange...");
            }
            $images_skipped .= "{$image}<br>";
        } else {
            ewwwio_debug_message("renaming {$image} with match of {$replace_base}");
            rename($image, $replace_base . '.webp');
        }
    }
    if ($images_skipped) {
        update_option('ewww_image_optimizer_webp_skipped', get_option('ewww_image_optimizer_webp_skipped') . $images_skipped);
    }
    // calculate how much time has elapsed since we started
    $elapsed = microtime(true) - $started;
    ewwwio_debug_message("took {$elapsed} seconds this time around");
    // store the updated list of images back in the database
    update_option('ewww_image_optimizer_webp_images', $images);
    ewww_image_optimizer_debug_log();
    die;
}
开发者ID:aaronfrey,项目名称:PepperLillie-CVM,代码行数:95,代码来源:mwebp.php


注:本文中的ewww_image_optimizer_stl_check函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。