if (!preg_match("/plugins\\/([^\\/]+)\\/c(css)\\/([^\\/]+\\.css)\$/i", $url, $match) && !preg_match("/plugins\\/([^\\/]+)\\/c(js)\\/([^\\/]+\\.js)\$/i", $url, $match) && !preg_match("/c(css)\\/([^\\/]+\\.css)\$/i", $url, $match) && !preg_match("/c(js)\\/([^\\/]+\\.js)\$/i", $url, $match)) { error404(); } if (isset($match[3])) { $fileName = "plugins" . DS . $match[1] . DS . $match[2] . DS . $match[3]; $type = $match[2]; } else { $fileName = $match[1] . DS . $match[2]; $type = $match[1]; } $file = WWW_ROOT . $fileName; if (!file_exists($file)) { error404(); } $fileModified = filemtime($file); make_cache(true, $fileModified, 259200); $encoding = Configure::read("App.encoding"); if ($type === "css") { header("Content-Type: text/css;charset={$encoding}"); } else { if ($type === "js") { header("Content-Type: text/javascript;charset={$encoding}"); } } foreach ($filter as $v) { if (strpos($file, $v) !== false) { echo file_get_contents($file); exit; } } APP::import('vendor', 'inc/packer');
$time_from = strtotime($r['time']); $time_to = $time_from + 3600 - 1; $cache_time = date('Y-m-d H:i:s', $time_from); echo 'Выполняем пересчёт кэша за ' . $r['time'] . '<br />'; // УДАЛИТЬ СТАРЫЙ КЭШ foreach ($main_types as $main_type) { echo 'Тип <b>' . $main_type . '</b>, кеширование<br />'; make_cache($main_type, $time_from, $time_to, $cache_time, true); } exit; } else { list($time_from, $time_to) = get_last_cache_time(); $cache_time = date('Y-m-d H:i:s', time_edge($time_from, 'hour', 'begin')); foreach ($main_types as $main_type) { echo 'Тип <b>' . $main_type . '</b>, кеширование<br />'; $result = make_cache($main_type, $time_from, $time_to, $cache_time); if (!$result) { break; } } set_cache_timer('hour', $cache_time); } $t2 = microtime_float(); echo 'Кэш ленты: ' . $cache_time . ' (' . round($t2 - $t1, 2) . ' c.)<br />'; if ($_GET['reload']) { if ($time_to < time()) { echo '<script>window.location.reload();</script>'; } else { echo 'Кэш в актуальном состоянии'; } }