Exemple #1
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 #2
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;
 }