!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:\Users\DMZ\Desktop\cumbreclima\wp-content\plugins\w3-total-cache\lib\W3\Plugin\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.35%)
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:     PgCacheAdmin.php (8.04 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * W3 PgCache plugin - administrative interface
 */
if (!defined('W3TC')) {
    die();
}

w3_require_once(W3TC_INC_DIR '/functions/file.php');
w3_require_once(W3TC_INC_DIR '/functions/rule.php');
w3_require_once(W3TC_LIB_W3_DIR '/Plugin.php');

/**
 * Class W3_Plugin_PgCacheAdmin
 */
class W3_Plugin_PgCacheAdmin extends W3_Plugin {

    function 
run() {
        
add_filter('w3tc_save_options', array($this'remove_old_files'),10,2);
    }

    function 
cleanup() {
        
// We check to see if we're dealing with a cluster
        
$config w3_instance('W3_Config');
        
$is_cluster $config->get_boolean('cluster.messagebus.enabled');

        
// If we are, we notify the subscribers. If not, we just cleanup in here
        
if ($is_cluster) {
            
$this->cleanup_cluster();
        } else {
            
$this->cleanup_local();
        }

    }
    
    
/**
     * Will trigger notifications to be sent to the cluster to 'order' them to clean their page cache.
     */
    
function cleanup_cluster() {
        
$sns_client w3_instance('W3_Enterprise_SnsClient');
        
$sns_client->pgcache_cleanup();
    }
    
    function 
cleanup_local() {
        
$engine $this->_config->get_string('pgcache.engine');

        switch (
$engine) {
            case 
'file':
                
w3_require_once(W3TC_LIB_W3_DIR '/Cache/File/Cleaner.php');

                
$w3_cache_file_cleaner = new W3_Cache_File_Cleaner(array(
                    
'cache_dir' => w3_cache_blog_dir('page'),
                    
'clean_timelimit' => $this->_config->get_integer('timelimit.cache_gc')
                ));

                
$w3_cache_file_cleaner->clean();
                break;

            case 
'file_generic':
                
w3_require_once(W3TC_LIB_W3_DIR '/Cache/File/Cleaner/Generic.php');

                if (
w3_get_blog_id() == 0)
                    
$flush_dir W3TC_CACHE_PAGE_ENHANCED_DIR;
                else
                    
$flush_dir W3TC_CACHE_PAGE_ENHANCED_DIR '/' w3_get_domain(w3_get_host());

                
$w3_cache_file_cleaner_generic = new W3_Cache_File_Cleaner_Generic(array(
                    
'exclude' => array(
                        
'.htaccess'
                    
),
                    
'cache_dir' => $flush_dir,
                    
'expire' => $this->_config->get_integer('browsercache.html.lifetime'),
                    
'clean_timelimit' => $this->_config->get_integer('timelimit.cache_gc')
                ));

                
$w3_cache_file_cleaner_generic->clean();
                break;
        }
    }

    
/**
     * Prime cache
     *
     * @param integer $start
     * @return void
     */
    
function prime($start 0) {
        
$start = (int) $start;

        
/**
         * Don't start cache prime if queues are still scheduled
         */
        
if ($start == 0) {
            
$crons _get_cron_array();

            foreach (
$crons as $timestamp => $hooks) {
                foreach (
$hooks as $hook => $keys) {
                    foreach (
$keys as $key => $data) {
                        if (
$hook == 'w3_pgcache_prime' && count($data['args'])) {
                            return;
                        }
                    }
                }
            }
        }

        
$interval $this->_config->get_integer('pgcache.prime.interval');
        
$limit $this->_config->get_integer('pgcache.prime.limit');
        
$sitemap $this->_config->get_string('pgcache.prime.sitemap');

        
/**
         * Parse XML sitemap
         */
        
$urls $this->parse_sitemap($sitemap);

        
/**
         * Queue URLs
         */
        
$queue array_slice($urls$start$limit);

        if (
count($urls) > ($start $limit)) {
            
wp_schedule_single_event(time() + $interval'w3_pgcache_prime', array(
                
$start $limit
            
));
        }

        
/**
         * Make HTTP requests and prime cache
         */
        
w3_require_once(W3TC_INC_DIR '/functions/http.php');
        
w3_require_once(W3TC_INC_DIR '/functions/url.php');

        
// use empty user-agent since by default we use W3TC-powered by
        // which blocks caching
        
foreach ($queue as $url)
            
w3_http_get($url, array('user-agent' => ''));
    }

    
/**
     * Parses sitemap
     *
     * @param string $url
     * @return array
     */
    
function parse_sitemap($url) {
        
w3_require_once(W3TC_INC_DIR '/functions/http.php');

        if (!
w3_is_url($url))
            
$url home_url($url);

        
$urls = array();
        
$response w3_http_get($url);

        if (!
is_wp_error($response) && $response['response']['code'] == 200) {
            
$url_matches null;
            
$sitemap_matches null;

            if (
preg_match_all('~<sitemap>(.*?)</sitemap>~is'$response['body'], $sitemap_matches)) {
                
$loc_matches null;

                foreach (
$sitemap_matches[1] as $sitemap_match) {
                    if (
preg_match('~<loc>(.*?)</loc>~is'$sitemap_match$loc_matches)) {
                        
$loc trim($loc_matches[1]);

                        if (
$loc) {
                            
$urls array_merge($urls$this->parse_sitemap($loc));
                        }
                    }
                }
            } elseif (
preg_match_all('~<url>(.*?)</url>~is'$response['body'], $url_matches)) {
                
$locs = array();
                
$loc_matches null;
                
$priority_matches null;

                foreach (
$url_matches[1] as $url_match) {
                    
$loc '';
                    
$priority 0;

                    if (
preg_match('~<loc>(.*?)</loc>~is'$url_match$loc_matches)) {
                        
$loc trim($loc_matches[1]);
                    }

                    if (
preg_match('~<priority>(.*?)</priority>~is'$url_match$priority_matches)) {
                        
$priority = (double) trim($priority_matches[1]);
                    }

                    if (
$loc && $priority) {
                        
$locs[$loc] = $priority;
                    }
                }

                
arsort($locs);

                
$urls array_keys($locs);
            }
        }

        return 
$urls;
    }

    
/**
     * Returns required rules for module
     * @return array
     */
    
function get_required_rules() {
        
$e w3_instance('W3_Plugin_PgCacheAdminEnvironment');
        return 
$e->get_required_rules();
    }


    
/**
     * Makes get requests to url specific to a post, its permalink
     * @param $post_id
     * @return boolean returns true on success
     */
    
public function prime_post($post_id) {
        
/** @var $purges W3_SharedPageUrls */
        
$purges w3_instance('W3_SharedPageUrls');
        
$post_urls $purges->get_post_urls($post_id);
        
/**
         * Make HTTP requests and prime cache
         */
        
w3_require_once(W3TC_INC_DIR '/functions/http.php');
        
w3_require_once(W3TC_INC_DIR '/functions/url.php');

        foreach (
$post_urls as $url) {
            
$result w3_http_get($url, array('user-agent' => ''));
            if (
is_wp_error($result))
                return 
false;
        }
        return 
true;
    }

    
/**
     * Remove .old files if changing settings.
     *
     * @param W3_Config $new_config
     * @param W3_Config $old_config
     * @param W3_ConfigAdmin $config_admin
     * @return W3_Config
     */
    
public function remove_old_files($new_config$old_config$config_admin null) {
        if ((!
$new_config->get_boolean('pgcache.cache.home') && $old_config->get_boolean('pgcache.cache.home')) ||
              
$new_config->get_boolean('pgcache.reject.front_page') && !$old_config->get_boolean('pgcache.reject.front_page') ||
              !
$new_config->get_boolean('pgcache.cache.feed') && $old_config->get_boolean('pgcache.cache.feed') ||
              !
$new_config->get_boolean('pgcache.cache.query') && $old_config->get_boolean('pgcache.cache.query') ||
              !
$new_config->get_boolean('pgcache.cache.ssl') && $old_config->get_boolean('pgcache.cache.ssl')) {
            
$new_config->set('notes.need_empty_pgcache'true);
        }
        return 
$new_config;
    }
}

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