!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\nuevo\htdocs\bogotacumbredelclima\wp-content\plugins\w3-total-cache\lib\W3\UI\   drwxrwxrwx
Free 1.04 GB of 239.26 GB (0.43%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     MinifyAdminView.php (23.46 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

if (!defined('W3TC')) {
    die();
}
w3_require_once(W3TC_INC_FUNCTIONS_DIR '/themes.php');
w3_require_once(W3TC_LIB_W3_DIR '/UI/PluginView.php');

class 
W3_UI_MinifyAdminView extends W3_UI_PluginView {
    
/**
     * Current page
     *
     * @var string
     */
    
var $_page 'w3tc_minify';

    
/**
     * Minify tab
     *
     * @return void
     */
    
function view() {
        
$minify_enabled $this->_config->get_boolean('minify.enabled');

        
$minify_rewrite_disabled = (w3_is_network() && !$this->is_master() && !$this->_config_master->get_boolean('minify.rewrite'));
        
$themes w3_get_themes();
        
$templates = array();

        
$current_theme w3tc_get_current_theme_name();
        
$current_theme_key '';

        foreach (
$themes as $theme_key => $theme_name) {
            if (
$theme_name == $current_theme) {
                
$current_theme_key $theme_key;
            }

            
$templates[$theme_key] = w3_get_theme_templates($theme_name);
        }

        
$css_imports_values = array(
            
'' => 'None',
            
'bubble' => 'Bubble',
            
'process' => 'Process',
        );

        
$auto $this->_config->get_boolean('minify.auto');

        
w3_require_once(W3TC_LIB_W3_DIR '/Request.php');

        
$js_theme W3_Request::get_string('js_theme'$current_theme_key);
        
$js_groups $this->_config->get_array('minify.js.groups');

        
$css_theme W3_Request::get_string('css_theme'$current_theme_key);
        
$css_groups $this->_config->get_array('minify.css.groups');

        
$js_engine $this->_config->get_string('minify.js.engine');
        
$css_engine $this->_config->get_string('minify.css.engine');
        
$html_engine $this->_config->get_string('minify.html.engine');

        
$css_imports $this->_config->get_string('minify.css.imports');

        
// Required for Update Media Query String button
        
$browsercache_enabled $this->_config->get_boolean('browsercache.enabled');
        
$browsercache_update_media_qs = ($this->_config->get_boolean('browsercache.cssjs.replace'));

        include 
W3TC_INC_DIR '/options/minify.php';
    }

    function 
recommendations() {
        
$themes w3_get_themes();

        
$current_theme w3tc_get_current_theme_name();
        
$current_theme_key array_search($current_theme$themes);

        
w3_require_once(W3TC_LIB_W3_DIR '/Request.php');

        
$theme_key W3_Request::get_string('theme_key'$current_theme_key);
        
$theme_name = (isset($themes[$theme_key]) ? $themes[$theme_key] : $current_theme);

        
$templates w3_get_theme_templates($theme_name);
        
$recommendations $this->get_theme_recommendations($theme_name);

        list (
$js_groups$css_groups) = $recommendations;

        
$minify_js_groups $this->_config->get_array('minify.js.groups');
        
$minify_css_groups $this->_config->get_array('minify.css.groups');

        
$checked_js = array();
        
$checked_css = array();

        
$locations_js = array();

        if (isset(
$minify_js_groups[$theme_key])) {
            foreach ((array) 
$minify_js_groups[$theme_key] as $template => $locations) {
                foreach ((array) 
$locations as $location => $config) {
                    if (isset(
$config['files'])) {
                        foreach ((array) 
$config['files'] as $file) {
                            if (!isset(
$js_groups[$template]) || !in_array($file$js_groups[$template])) {
                                
$js_groups[$template][] = $file;
                            }

                            
$checked_js[$template][$file] = true;
                            
$locations_js[$template][$file] = $location;
                        }
                    }
                }
            }
        }

        if (isset(
$minify_css_groups[$theme_key])) {
            foreach ((array) 
$minify_css_groups[$theme_key] as $template => $locations) {
                foreach ((array) 
$locations as $location => $config) {
                    if (isset(
$config['files'])) {
                        foreach ((array) 
$config['files'] as $file) {
                            if (!isset(
$css_groups[$template]) || !in_array($file$css_groups[$template])) {
                                
$css_groups[$template][] = $file;
                            }

                            
$checked_css[$template][$file] = true;
                        }
                    }
                }
            }
        }

        include 
W3TC_INC_DIR '/lightbox/minify_recommendations.php';
    }

    
/**
     * Returns array of detected URLs for theme templates
     *
     * @param string $theme_name
     * @return array
     */
    
function get_theme_urls($theme_name) {
        
$urls = array();
        
$theme w3tc_get_theme($theme_name);

        if (
$theme && isset($theme['Template Files'])) {
            
$front_page_template false;

            if (
get_option('show_on_front') == 'page') {
                
$front_page_id get_option('page_on_front');

                if (
$front_page_id) {
                    
$front_page_template_file get_post_meta($front_page_id'_wp_page_template'true);

                    if (
$front_page_template_file) {
                        
$front_page_template basename($front_page_template_file'.php');
                    }
                }
            }

            
$home_url w3_get_home_url();
            
$template_files = (array) $theme['Template Files'];

            
$mime_types get_allowed_mime_types();
            
$custom_mime_types = array();

            foreach (
$mime_types as $mime_type) {
                list (
$type1$type2) = explode('/'$mime_type);
                
$custom_mime_types array_merge($custom_mime_types, array(
                    
$type1,
                    
$type2,
                    
$type1 '_' $type2
                
));
            }

            foreach (
$template_files as $template_file) {
                
$link false;
                
$template basename($template_file'.php');

                
/**
                 * Check common templates
                 */
                
switch (true) {
                    
/**
                     * Handle home.php or index.php or front-page.php
                     */
                    
case (!$front_page_template && $template == 'home'):
                    case (!
$front_page_template && $template == 'index'):
                    case (!
$front_page_template && $template == 'front-page'):

                        
/**
                         * Handle custom home page
                         */
                    
case ($template == $front_page_template):
                        
$link $home_url '/';
                        break;

                    
/**
                     * Handle 404.php
                     */
                    
case ($template == '404'):
                        
$permalink get_option('permalink_structure');
                        if (
$permalink) {
                            
$link sprintf('%s/%s/'$home_url'404_test');
                        } else {
                            
$link sprintf('%s/?p=%d'$home_url999999999);
                        }
                        break;

                    
/**
                     * Handle search.php
                     */
                    
case ($template == 'search'):
                        
$link sprintf('%s/?s=%s'$home_url'search_test');
                        break;

                    
/**
                     * Handle date.php or archive.php
                     */
                    
case ($template == 'date'):
                    case (
$template == 'archive'):
                        
$posts get_posts(array(
                            
'numberposts' => 1,
                            
'orderby' => 'rand'
                        
));
                        if (
is_array($posts) && count($posts)) {
                            
$time strtotime($posts[0]->post_date);
                            
$link get_day_link(date('Y'$time), date('m'$time), date('d'$time));
                        }
                        break;

                    
/**
                     * Handle author.php
                     */
                    
case ($template == 'author'):
                        
$author_id false;
                        if (
function_exists('get_users')) {
                            
$users get_users();
                            if (
is_array($users) && count($users)) {
                                
$user current($users);
                                
$author_id $user->ID;
                            }
                        } else {
                            
$author_ids get_author_user_ids();
                            if (
is_array($author_ids) && count($author_ids)) {
                                
$author_id $author_ids[0];
                            }
                        }
                        if (
$author_id) {
                            
$link get_author_posts_url($author_id);
                        }
                        break;

                    
/**
                     * Handle category.php
                     */
                    
case ($template == 'category'):
                        
$category_ids get_all_category_ids();
                        if (
is_array($category_ids) && count($category_ids)) {
                            
$link get_category_link($category_ids[0]);
                        }
                        break;

                    
/**
                     * Handle tag.php
                     */
                    
case ($template == 'tag'):
                        
$term_ids get_terms('post_tag''fields=ids');
                        if (
is_array($term_ids) && count($term_ids)) {
                            
$link get_term_link($term_ids[0], 'post_tag');
                        }
                        break;

                    
/**
                     * Handle taxonomy.php
                     */
                    
case ($template == 'taxonomy'):
                        
$taxonomy '';
                        if (isset(
$GLOBALS['wp_taxonomies']) && is_array($GLOBALS['wp_taxonomies'])) {
                            foreach (
$GLOBALS['wp_taxonomies'] as $wp_taxonomy) {
                                if (!
in_array($wp_taxonomy->name, array(
                                    
'category',
                                    
'post_tag',
                                    
'link_category'
                                
))) {
                                    
$taxonomy $wp_taxonomy->name;
                                    break;
                                }
                            }
                        }
                        if (
$taxonomy) {
                            
$terms get_terms($taxonomy, array(
                                
'number' => 1
                            
));
                            if (
is_array($terms) && count($terms)) {
                                
$link get_term_link($terms[0], $taxonomy);
                            }
                        }
                        break;

                    
/**
                     * Handle attachment.php
                     */
                    
case ($template == 'attachment'):
                        
$attachments get_posts(array(
                            
'post_type' => 'attachment',
                            
'numberposts' => 1,
                            
'orderby' => 'rand'
                        
));
                        if (
is_array($attachments) && count($attachments)) {
                            
$link get_attachment_link($attachments[0]->ID);
                        }
                        break;

                    
/**
                     * Handle single.php
                     */
                    
case ($template == 'single'):
                        
$posts get_posts(array(
                            
'numberposts' => 1,
                            
'orderby' => 'rand'
                        
));
                        if (
is_array($posts) && count($posts)) {
                            
$link get_permalink($posts[0]->ID);
                        }
                        break;

                    
/**
                     * Handle page.php
                     */
                    
case ($template == 'page'):
                        
$pages_ids get_all_page_ids();
                        if (
is_array($pages_ids) && count($pages_ids)) {
                            
$link get_page_link($pages_ids[0]);
                        }
                        break;

                    
/**
                     * Handle comments-popup.php
                     */
                    
case ($template == 'comments-popup'):
                        
$posts get_posts(array(
                            
'numberposts' => 1,
                            
'orderby' => 'rand'
                        
));
                        if (
is_array($posts) && count($posts)) {
                            
$link sprintf('%s/?comments_popup=%d'$home_url$posts[0]->ID);
                        }
                        break;

                    
/**
                     * Handle paged.php
                     */
                    
case ($template == 'paged'):
                        global 
$wp_rewrite;
                        if (
$wp_rewrite->using_permalinks()) {
                            
$link sprintf('%s/page/%d/'$home_url1);
                        } else {
                            
$link sprintf('%s/?paged=%d'1);
                        }
                        break;

                    
/**
                     * Handle author-id.php or author-nicename.php
                     */
                    
case preg_match('~^author-(.+)$~'$template$matches):
                        if (
is_numeric($matches[1])) {
                            
$link get_author_posts_url($matches[1]);
                        } else {
                            
$link get_author_posts_url(null$matches[1]);
                        }
                        break;

                    
/**
                     * Handle category-id.php or category-slug.php
                     */
                    
case preg_match('~^category-(.+)$~'$template$matches):
                        if (
is_numeric($matches[1])) {
                            
$link get_category_link($matches[1]);
                        } else {
                            
$term get_term_by('slug'$matches[1], 'category');
                            if (
is_object($term)) {
                                
$link get_category_link($term->term_id);
                            }
                        }
                        break;

                    
/**
                     * Handle tag-id.php or tag-slug.php
                     */
                    
case preg_match('~^tag-(.+)$~'$template$matches):
                        if (
is_numeric($matches[1])) {
                            
$link get_tag_link($matches[1]);
                        } else {
                            
$term get_term_by('slug'$matches[1], 'post_tag');
                            if (
is_object($term)) {
                                
$link get_tag_link($term->term_id);
                            }
                        }
                        break;

                    
/**
                     * Handle taxonomy-taxonomy-term.php
                     */
                    
case preg_match('~^taxonomy-(.+)-(.+)$~'$template$matches):
                        
$link get_term_link($matches[2], $matches[1]);
                        break;

                    
/**
                     * Handle taxonomy-taxonomy.php
                     */
                    
case preg_match('~^taxonomy-(.+)$~'$template$matches):
                        
$terms get_terms($matches[1], array(
                            
'number' => 1
                        
));
                        if (
is_array($terms) && count($terms)) {
                            
$link get_term_link($terms[0], $matches[1]);
                        }
                        break;

                    
/**
                     * Handle MIME_type.php
                     */
                    
case in_array($template$custom_mime_types):
                        
$posts get_posts(array(
                            
'post_mime_type' => '%' $template '%',
                            
'post_type' => 'attachment',
                            
'numberposts' => 1,
                            
'orderby' => 'rand'
                        
));
                        if (
is_array($posts) && count($posts)) {
                            
$link get_permalink($posts[0]->ID);
                        }
                        break;

                    
/**
                     * Handle single-posttype.php
                     */
                    
case preg_match('~^single-(.+)$~'$template$matches):
                        
$posts get_posts(array(
                            
'post_type' => $matches[1],
                            
'numberposts' => 1,
                            
'orderby' => 'rand'
                        
));

                        if (
is_array($posts) && count($posts)) {
                            
$link get_permalink($posts[0]->ID);
                        }
                        break;

                    
/**
                     * Handle page-id.php or page-slug.php
                     */
                    
case preg_match('~^page-(.+)$~'$template$matches):
                        if (
is_numeric($matches[1])) {
                            
$link get_permalink($matches[1]);
                        } else {
                            
$posts get_posts(array(
                                
'pagename' => $matches[1],
                                
'post_type' => 'page',
                                
'numberposts' => 1
                            
));

                            if (
is_array($posts) && count($posts)) {
                                
$link get_permalink($posts[0]->ID);
                            }
                        }
                        break;

                    
/**
                     * Try to handle custom template
                     */
                    
default:
                        
$posts get_posts(array(
                            
'pagename' => $template,
                            
'post_type' => 'page',
                            
'numberposts' => 1
                        
));

                        if (
is_array($posts) && count($posts)) {
                            
$link get_permalink($posts[0]->ID);
                        }
                        break;
                }

                if (
$link && !is_wp_error($link)) {
                    
$urls[$template] = $link;
                }
            }
        }

        return 
$urls;
    }

    
/**
     * Returns theme recommendations
     *
     * @param string $theme_name
     * @return array
     */
    
function get_theme_recommendations($theme_name) {
        
$urls $this->get_theme_urls($theme_name);

        
$js_groups = array();
        
$css_groups = array();

        @
set_time_limit($this->_config->get_integer('timelimit.minify_recommendations'));

        foreach (
$urls as $template => $url) {
            
/**
             * Append theme identifier
             */
            
$url .= (strstr($url'?') !== false '&' '?') . 'w3tc_theme=' urlencode($theme_name);

            
/**
             * If preview mode enabled append w3tc_preview
             */
            
if ($this->_config->is_preview()) {
                
$url .= '&w3tc_preview=1';
            }

            
/**
             * Get page contents
             */
            
$response w3_http_get($url);

            if (!
is_wp_error($response) && ($response['response']['code'] == 200 || ($response['response']['code'] == 404 && $template == '404'))) {
                
$js_files $this->get_recommendations_js($response['body']);
                
$css_files $this->get_recommendations_css($response['body']);

                
$js_groups[$template] = $js_files;
                
$css_groups[$template] = $css_files;
            }
        }

        
$js_groups $this->get_theme_recommendations_by_groups($js_groups);
        
$css_groups $this->get_theme_recommendations_by_groups($css_groups);

        
$recommendations = array(
            
$js_groups,
            
$css_groups
        
);

        return 
$recommendations;
    }

    
/**
     * Find common files and place them into default group
     *
     * @param array $groups
     * @return array
     */
    
function get_theme_recommendations_by_groups($groups) {
        
/**
         * First calculate file usage count
         */
        
$all_files = array();

        foreach (
$groups as $template => $files) {
            foreach (
$files as $file) {
                if (!isset(
$all_files[$file])) {
                    
$all_files[$file] = 0;
                }

                
$all_files[$file]++;
            }
        }

        
/**
         * Determine default group files
         */
        
$default_files = array();
        
$count count($groups);

        foreach (
$all_files as $all_file => $all_file_count) {
            
/**
             * If file usage count == groups count then file is common
             */
            
if ($count == $all_file_count) {
                
$default_files[] = $all_file;

                
/**
                 * If common file found unset it from all groups
                 */
                
foreach ($groups as $template => $files) {
                    foreach (
$files as $index => $file) {
                        if (
$file == $all_file) {
                            
array_splice($groups[$template], $index1);
                            if (!
count($groups[$template])) {
                                unset(
$groups[$template]);
                            }
                            break;
                        }
                    }
                }
            }
        }

        
/**
         * If there are common files append add them into default group
         */
        
if (count($default_files)) {
            
$new_groups = array();
            
$new_groups['default'] = $default_files;

            foreach (
$groups as $template => $files) {
                
$new_groups[$template] = $files;
            }

            
$groups $new_groups;
        }

        
/**
         * Unset empty templates
         */
        
foreach ($groups as $template => $files) {
            if (!
count($files)) {
                unset(
$groups[$template]);
            }
        }

        return 
$groups;
    }

    
/**
     * Parse content and return JS recommendations
     *
     * @param string $content
     * @return array
     */
    
function get_recommendations_js(&$content) {
        
w3_require_once(W3TC_INC_DIR '/functions/extract.php');

        
$files w3_extract_js($content);

        
$files array_map('w3_normalize_file_minify'$files);
        
$files array_unique($files);
        
$ignore_files $this->_config->get_array('minify.reject.files.js');
        
$files array_diff($files$ignore_files);
        return 
$files;
    }

    
/**
     * Parse content and return CSS recommendations
     *
     * @param string $content
     * @return array
     */
    
function get_recommendations_css(&$content) {
        
w3_require_once(W3TC_INC_DIR '/functions/extract.php');

        
$files w3_extract_css($content);

        
$files array_map('w3_normalize_file_minify'$files);
        
$files array_unique($files);
        
$ignore_files $this->_config->get_array('minify.reject.files.css');
        
$files array_diff($files$ignore_files);

        return 
$files;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--