protected function process($position, $files)
{
$resultFile = sprintf('%s/%s.js', $this->view->minify_path, $this->_getSummaryFilesHash($files));
if (!file_exists($resultFile)) {
$js = '';
foreach ($files as $file => $html) {
$file = $this->getAbsoluteFilePath($file);
$content = '';
if (!file_exists($file)) {
\Yii::warning(sprintf('Asset file not found `%s`', $file), __METHOD__);
} elseif (!is_readable($file)) {
\Yii::warning(sprintf('Asset file not readable `%s`', $file), __METHOD__);
} else {
$content .= file_get_contents($file) . ';' . "\n";
}
$js .= $content;
}
$this->removeJsComments($js);
if ($this->view->minifyJs) {
$js = (new \JSMin($js))->min();
}
file_put_contents($resultFile, $js);
if (false !== $this->view->file_mode) {
@chmod($resultFile, $this->view->file_mode);
}
}
$file = $this->prepareResultFile($resultFile);
$this->view->jsFiles[$position][$file] = Html::jsFile($file);
}