if (!preg_match('~^[a-zA-Z0-9][-_.a-zA-Z0-9]*(?:/[a-zA-Z0-9][-_.a-zA-Z0-9]*)*\\.(?:js|css)$~i', $filename)) { errorMsg('File name is incorrect!'); } $theme_name = rad_themer::getCurrentTheme(); $cachedFile = $config['rootPath'] . 'cache' . DS . $type . DS . $theme_name . DS . $module . DS . $filename; $cachedPath = dirname($cachedFile); if (!recursive_mkdir($cachedPath, 0777)) { errorMsg('Can not create dir! Path: {$cachedPath}'); } if (!file_exists($cachedFile) || time() - filemtime($cachedFile) >= (int) $config['cache.power.time']) { $originalFile = rad_themer::getFilePath($theme_name, 'jscss', $module, $filename); if (!$originalFile) { errorMsg('File does not exist!'); } try { rad_jscss::copyToCache($originalFile, $cachedFile); } catch (Exception $e) { errorMsg("Could not copy file {$originalFile} to {$cachedFile}"); } } if (!@readfile($cachedFile)) { errorMsg("Error reading {$cachedFile}"); } function errorMsg($msg = null) { header('HTTP/1.0 404 Not Found'); if ($GLOBALS['config']['debug.showErrors']) { if (!empty($msg)) { print $msg; ob_flush(); flush();