/** * Normalizes file name for minify * * Relative to document root! * * @param string $file * @return string */ function w3_normalize_file_minify2($file) { $file = w3_remove_query($file); $file = w3_normalize_file_minify($file); $file = w3_translate_file($file); return $file; }
/** * CDN purge post action * * @return void */ function cdn_purge_post() { $title = 'Content Delivery Network (CDN): Purge Tool'; $results = array(); require_once W3TC_LIB_W3_DIR . '/Request.php'; $files = W3_Request::get_array('files'); $document_root = w3_get_document_root(); $purge = array(); foreach ($files as $remote_file) { $local_file = $document_root . '/' . w3_translate_file($remote_file); $purge[$local_file] = $remote_file; } if (count($purge)) { require_once W3TC_LIB_W3_DIR . '/Plugin/Cdn.php'; $w3_plugin_cdn =& W3_Plugin_Cdn::instance(); $w3_plugin_cdn->purge($purge, false, $results); } else { $errors[] = 'Empty files list.'; } include W3TC_DIR . '/inc/popup/cdn_purge.phtml'; }
/** * Exports min files to CDN * * @return array */ function get_files_minify() { $files = array(); if (W3TC_PHP5 && $this->_config->get_boolean('minify.rewrite') && (!$this->_config->get_boolean('minify.auto') || w3_is_cdn_mirror($this->_config->get_string('cdn.engine')))) { require_once W3TC_INC_DIR . '/functions/http.php'; $minify =& w3_instance('W3_Plugin_Minify'); $document_root = w3_get_document_root(); $site_root = w3_get_site_root(); $minify_root = w3_path(W3TC_CACHE_FILE_MINIFY_DIR); $minify_path = ltrim(str_replace($site_root, rtrim(w3_get_site_path(), '/'), $minify_root), '/'); $urls = $minify->get_urls(); if ($this->_config->get_string('minify.engine') == 'file') { foreach ($urls as $url) { w3_http_get($url); } $files = $this->search_files($minify_root, $minify_path, '*.css;*.js'); } else { foreach ($urls as $url) { $file = w3_normalize_file_minify($url); $file = w3_translate_file($file); if (!w3_is_url($file)) { $file = $document_root . '/' . $file; $file = ltrim(str_replace($minify_root, '', $file), '/'); $dir = dirname($file); if ($dir) { w3_mkdir($dir, 0777, $minify_root); } if (w3_download($url, $minify_root . '/' . $file) !== false) { $files[] = $minify_path . '/' . $file; } } } } } return $files; }
/** * Normalizes URL * @param string $url * @return string */ function _normalize_file($url) { $url = preg_replace('~\\?ver=[0-9\\.]+$~', '', $url); $url = w3_normalize_file($url); $url = w3_translate_file($url); return $url; }