Ejemplo n.º 1
0
 /**
  * Exports custom files to CDN
  *
  * @return array
  */
 function get_files_custom()
 {
     $files = array();
     $document_root = Util_Environment::document_root();
     $custom_files = $this->_config->get_array('cdn.custom.files');
     $custom_files = array_map(array('\\W3TC\\Util_Environment', 'parse_path'), $custom_files);
     $site_root = Util_Environment::site_root();
     $path = Util_Environment::site_url_uri();
     $site_root_dir = str_replace($document_root, '', $site_root);
     if (strstr(WP_CONTENT_DIR, Util_Environment::site_root()) === false) {
         $site_root = Util_Environment::document_root();
         $path = '';
     }
     $content_path = trim(str_replace(WP_CONTENT_DIR, '', $site_root), '/\\');
     foreach ($custom_files as $custom_file) {
         if ($custom_file != '') {
             $custom_file = Cdn_Util::replace_folder_placeholders($custom_file);
             $custom_file = Util_Environment::normalize_file($custom_file);
             if (!Util_Environment::is_wpmu()) {
                 $dir = trim(dirname($custom_file), '/\\');
                 $rel_path = trim(dirname($custom_file), '/\\');
             } else {
                 $rel_path = $dir = trim(dirname($custom_file), '/\\');
             }
             if (strpos($dir, '<currentblog>') != false) {
                 $rel_path = $dir = str_replace('<currentblog>', 'blogs.dir/' . Util_Environment::blog_id(), $dir);
             }
             if ($dir == '.') {
                 $rel_path = $dir = '';
             }
             $mask = basename($custom_file);
             $files = array_merge($files, Cdn_Util::search_files($document_root . '/' . $dir, $rel_path, $mask));
         }
     }
     return $files;
 }
 /**
  * Returns server info
  *
  * @return array
  */
 private function get_server_info()
 {
     global $wp_version, $wp_db_version, $wpdb;
     $wordpress_plugins = get_plugins();
     $wordpress_plugins_active = array();
     foreach ($wordpress_plugins as $wordpress_plugin_file => $wordpress_plugin) {
         if (is_plugin_active($wordpress_plugin_file)) {
             $wordpress_plugins_active[$wordpress_plugin_file] = $wordpress_plugin;
         }
     }
     $mysql_version = $wpdb->get_var('SELECT VERSION()');
     $mysql_variables_result = (array) $wpdb->get_results('SHOW VARIABLES', ARRAY_N);
     $mysql_variables = array();
     foreach ($mysql_variables_result as $mysql_variables_row) {
         $mysql_variables[$mysql_variables_row[0]] = $mysql_variables_row[1];
     }
     $server_info = array('w3tc' => array('version' => W3TC_VERSION, 'server' => !empty($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : 'Unknown', 'dir' => W3TC_DIR, 'cache_dir' => W3TC_CACHE_DIR, 'blog_id' => Util_Environment::blog_id(), 'home_domain_root_url' => Util_Environment::home_domain_root_url(), 'home_url_maybe_https' => Util_Environment::home_url_maybe_https(), 'site_path' => Util_Environment::site_path(), 'document_root' => Util_Environment::document_root(), 'site_root' => Util_Environment::site_root(), 'site_url_uri' => Util_Environment::site_url_uri(), 'home_url_host' => Util_Environment::home_url_host(), 'home_url_uri' => Util_Environment::home_url_uri(), 'network_home_url_uri' => Util_Environment::network_home_url_uri(), 'host_port' => Util_Environment::host_port(), 'host' => Util_Environment::host(), 'wp_config_path' => Util_Environment::wp_config_path()), 'wp' => array('version' => $wp_version, 'db_version' => $wp_db_version, 'abspath' => ABSPATH, 'home' => get_option('home'), 'siteurl' => get_option('siteurl'), 'email' => get_option('admin_email'), 'upload_info' => (array) Util_Http::upload_info(), 'theme' => Util_Theme::get_current_theme(), 'wp_cache' => defined('WP_CACHE') && WP_CACHE ? 'true' : 'false', 'plugins' => $wordpress_plugins_active), 'mysql' => array('version' => $mysql_version, 'variables' => $mysql_variables));
     return $server_info;
 }
Ejemplo n.º 3
0
 /**
  * Normalizes file name
  *
  * Relative to site root!
  *
  * @param string  $file
  * @return string
  */
 public static function normalize_file($file)
 {
     if (Util_Environment::is_url($file)) {
         if (strstr($file, '?') === false) {
             $home_url_regexp = '~' . Util_Environment::home_url_regexp() . '~i';
             $file = preg_replace($home_url_regexp, '', $file);
         }
     }
     if (!Util_Environment::is_url($file)) {
         $file = Util_Environment::normalize_path($file);
         $file = str_replace(Util_Environment::site_root(), '', $file);
         $file = ltrim($file, '/');
     }
     return $file;
 }