Merge pull request #8210 from owncloud/enhance-assets-management-master

adding checks and log messages regarding the assets folder
This commit is contained in:
Lukas Reschke 2014-04-15 20:07:07 +02:00
commit 8322a9e5c2
1 changed files with 30 additions and 1 deletions

View File

@ -66,7 +66,7 @@ class OC_TemplateLayout extends OC_Template {
}
$versionParameter = '?v=' . md5(implode(OC_Util::getVersion()));
$useAssetPipeline = OC_Config::getValue('asset-pipeline.enabled', false);
$useAssetPipeline = $this->isAssetPipelineEnabled();
if ($useAssetPipeline) {
$this->append( 'jsfiles', OC_Helper::linkToRoute('js_config') . $versionParameter);
@ -179,4 +179,33 @@ class OC_TemplateLayout extends OC_Template {
sort($files);
return hash('md5', implode('', $files));
}
/**
* @return bool
*/
private function isAssetPipelineEnabled() {
// asset management enabled?
$useAssetPipeline = OC_Config::getValue('asset-pipeline.enabled', false);
if (!$useAssetPipeline) {
return false;
}
// assets folder exists?
$assetDir = \OC::$SERVERROOT . '/assets';
if (!is_dir($assetDir)) {
if (!mkdir($assetDir)) {
\OCP\Util::writeLog('assets',
"Folder <$assetDir> does not exist and/or could not be generated.", \OCP\Util::ERROR);
return false;
}
}
// assets folder can be accessed?
if (!touch($assetDir."/.oc")) {
\OCP\Util::writeLog('assets',
"Folder <$assetDir> could not be accessed.", \OCP\Util::ERROR);
return false;
}
return $useAssetPipeline;
}
}