Exemple #1
0
function stylesheet_include_tag($file, $prefix = null)
{
    $includes = array();
    $files = Helper::includeAsset($file, 'css');
    $prefix = rtrim($prefix, DIRECTORY_SEPARATOR);
    foreach ($files as $file) {
        array_push($includes, "<link href='{$prefix}{$file}' media='screen' rel='stylesheet'/>");
    }
    return $includes;
}
Exemple #2
0
 public static function cleanupTmp(InputInterface $input, OutputInterface $output)
 {
     self::_initConfig($input);
     $serverRootPath = Config::getServerRootPath();
     $tmpDir = $serverRootPath . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'assets';
     if (is_dir($tmpDir) === false) {
         return true;
     }
     $files = array();
     foreach (scandir($tmpDir) as $file) {
         if ($file !== '.' && $file !== '..') {
             array_push($files, $tmpDir . DIRECTORY_SEPARATOR . $file);
         }
     }
     if (empty($files)) {
         return true;
     }
     $precompileFiles = Config::getPrecompile();
     if (empty($precompileFiles)) {
         return true;
     }
     $usefulFiles = array();
     foreach ($precompileFiles as $precompileFile) {
         $parts = explode('.', $precompileFile);
         if (count($parts) < 2) {
             continue;
         }
         $type = strtolower($parts[1]);
         if ($type !== 'js' && $type !== 'css') {
             continue;
         }
         $compiledFiles = Helper::loadCompiledFiles($parts[0], $type);
         if (empty($compiledFiles)) {
             continue;
         }
         $uglifyClass = '\\Assets\\Uglify\\' . ucfirst($type);
         foreach ($compiledFiles as $compiledFile) {
             $compiledFile = $serverRootPath . $compiledFile;
             if (file_exists($compiledFile)) {
                 array_push($usefulFiles, $compiledFile);
             }
         }
     }
     $unusefulFiles = array_diff($files, $usefulFiles);
     foreach ($unusefulFiles as $unusefulFile) {
         if (unlink($unusefulFile)) {
             $output->writeln('<info>Remove unuseful file</info> : ' . $unusefulFile);
         }
     }
 }
Exemple #3
0
 private static function _loadSrcFiles($file)
 {
     $compiledFiles = Helper::loadCompiledFiles($file, static::$_type);
     if (empty($compiledFiles)) {
         return array();
     }
     $serverRootPath = Config::getServerRootPath();
     $result = array('files' => array(), 'hashes' => array());
     foreach ($compiledFiles as $compiledFile) {
         $compiledFile = "{$serverRootPath}{$compiledFile}";
         array_push($result['files'], $compiledFile);
         array_push($result['hashes'], filemtime($compiledFile));
     }
     return $result;
 }
Exemple #4
0
 protected static function _urlCompile($file, $srcFileDirPath)
 {
     $contents = file_get_contents($file);
     $matches = array();
     preg_match_all('/(image-url|font-url|url)\\s*\\(\\s*(\'|\\")?\\s*([^"\'\\)]*)\\s*(\'|\\")?\\s*\\)\\s*/mi', $contents, $matches);
     if (empty($matches[0])) {
         return true;
     }
     $replace = array();
     foreach ($matches[0] as $index => $match) {
         if (strpos($match, 'image-url') === 0) {
             $url = Helper::imageUrl($matches[3][$index]);
         } else {
             if (strpos($match, 'font-url') === 0) {
                 $url = Helper::fontUrl($matches[3][$index]);
             } else {
                 if (strpos($matches[3][$index], './') === 0) {
                     $url = ltrim($matches[3][$index], './');
                 } else {
                     $url = ltrim($matches[3][$index], DIRECTORY_SEPARATOR);
                 }
                 $parts = array();
                 preg_match_all('/^(\\.{2}\\/)*/', $url, $parts);
                 if (!empty($parts[0][0])) {
                     $url = str_replace($parts[0][0], '', $url);
                     $baseDir = realpath($srcFileDirPath . DIRECTORY_SEPARATOR . $parts[0][0]);
                 } else {
                     $baseDir = $srcFileDirPath;
                 }
                 $url = Helper::assetUrl($url, $baseDir);
                 if ($url === false) {
                     $url = $matches[3][$index];
                 }
             }
         }
         array_push($replace, 'url("' . $url . '")');
     }
     $contents = str_replace($matches[0], $replace, $contents);
     if (file_put_contents($file, $contents) === false) {
         unlink($file);
         return false;
     }
     return true;
 }