|
|
|
@ -22,6 +22,7 @@
|
|
|
|
|
*/
|
|
|
|
|
namespace OC\Template;
|
|
|
|
|
|
|
|
|
|
use OC\SystemConfig;
|
|
|
|
|
use OCP\ICache;
|
|
|
|
|
use OCP\Files\IAppData;
|
|
|
|
|
use OCP\Files\NotFoundException;
|
|
|
|
@ -40,6 +41,9 @@ class JSCombiner {
|
|
|
|
|
/** @var ICache */
|
|
|
|
|
protected $depsCache;
|
|
|
|
|
|
|
|
|
|
/** @var SystemConfig */
|
|
|
|
|
protected $config;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* JSCombiner constructor.
|
|
|
|
|
*
|
|
|
|
@ -49,10 +53,12 @@ class JSCombiner {
|
|
|
|
|
*/
|
|
|
|
|
public function __construct(IAppData $appData,
|
|
|
|
|
IURLGenerator $urlGenerator,
|
|
|
|
|
ICache $depsCache) {
|
|
|
|
|
ICache $depsCache,
|
|
|
|
|
SystemConfig $config) {
|
|
|
|
|
$this->appData = $appData;
|
|
|
|
|
$this->urlGenerator = $urlGenerator;
|
|
|
|
|
$this->depsCache = $depsCache;
|
|
|
|
|
$this->config = $config;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -62,6 +68,10 @@ class JSCombiner {
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
public function process($root, $file, $app) {
|
|
|
|
|
if ($this->config->getValue('debug')) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$path = explode('/', $root . '/' . $file);
|
|
|
|
|
|
|
|
|
|
$fileName = array_pop($path);
|
|
|
|
@ -166,4 +176,24 @@ class JSCombiner {
|
|
|
|
|
|
|
|
|
|
return substr($this->urlGenerator->linkToRoute('core.Js.getJs', array('fileName' => $fileName, 'appName' => $appName)), strlen(\OC::$WEBROOT) + 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param string $root
|
|
|
|
|
* @param string $file
|
|
|
|
|
* @return string[]
|
|
|
|
|
*/
|
|
|
|
|
public function getContent($root, $file) {
|
|
|
|
|
$data = json_decode(file_get_contents($root . '/' . $file));
|
|
|
|
|
|
|
|
|
|
$path = explode('/', $file);
|
|
|
|
|
array_pop($path);
|
|
|
|
|
$path = implode('/', $path);
|
|
|
|
|
|
|
|
|
|
$result = [];
|
|
|
|
|
foreach ($data as $f) {
|
|
|
|
|
$result[] = $path . '/' . $f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|