summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2017-01-22 18:28:33 +0100
committerGitHub <noreply@github.com>2017-01-22 18:28:33 +0100
commitbde1150d041de5535e9dd3baaaa957e5a9c7ca89 (patch)
treee365664834f6f1387d4bf63d3688887d2905afd0 /lib
parent012e52123900dcaab29989ab12b1848abe8d0a11 (diff)
parent9619584383621031f421598baf7c5c3e3c0ecd47 (diff)
downloadnextcloud-server-bde1150d041de5535e9dd3baaaa957e5a9c7ca89.tar.gz
nextcloud-server-bde1150d041de5535e9dd3baaaa957e5a9c7ca89.zip
Merge pull request #3004 from nextcloud/fix-installation-css
Fixed installation page
Diffstat (limited to 'lib')
-rw-r--r--lib/base.php11
-rw-r--r--lib/private/Template/CSSResourceLocator.php17
-rw-r--r--lib/private/TemplateLayout.php32
3 files changed, 34 insertions, 26 deletions
diff --git a/lib/base.php b/lib/base.php
index 23eda212f03..3ba0755eaab 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -281,7 +281,7 @@ class OC {
// render error page
$template = new OC_Template('', 'update.user', 'guest');
OC_Util::addScript('maintenance-check');
- OC_Util::addStyle('update');
+ OC_Util::addStyle('guest');
$template->printPage();
die();
}
@@ -355,7 +355,7 @@ class OC {
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 120');
- \OCP\Util::addStyle('update');
+ OC_Util::addStyle('guest');
// render error page
$template = new OC_Template('', 'update.use-cli', 'guest');
@@ -376,9 +376,9 @@ class OC {
$oldTheme = $systemConfig->getValue('theme');
$systemConfig->setValue('theme', '');
- \OCP\Util::addScript('config'); // needed for web root
- \OCP\Util::addScript('update');
- \OCP\Util::addStyle('update');
+ OC_Util::addScript('config'); // needed for web root
+ OC_Util::addScript('update');
+ OC_Util::addStyle('guest');
/** @var \OC\App\AppManager $appManager */
$appManager = \OC::$server->getAppManager();
@@ -708,6 +708,7 @@ class OC {
exit(1);
} else {
OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
+ OC_Util::addStyle('guest');
OC_Template::printGuestPage('', 'error', array('errors' => $errors));
exit;
}
diff --git a/lib/private/Template/CSSResourceLocator.php b/lib/private/Template/CSSResourceLocator.php
index 351e6d1366f..6af4e319e36 100644
--- a/lib/private/Template/CSSResourceLocator.php
+++ b/lib/private/Template/CSSResourceLocator.php
@@ -39,7 +39,7 @@ class CSSResourceLocator extends ResourceLocator {
* @param array $party_map
* @param SCSSCacher $scssCacher
*/
- public function __construct(ILogger $logger, $theme, $core_map, $party_map, SCSSCacher $scssCacher) {
+ public function __construct(ILogger $logger, $theme, $core_map, $party_map, $scssCacher) {
$this->scssCacher = $scssCacher;
parent::__construct($logger, $theme, $core_map, $party_map);
@@ -85,12 +85,17 @@ class CSSResourceLocator extends ResourceLocator {
*/
protected function cacheAndAppendScssIfExist($root, $file, $webRoot = null) {
if (is_file($root.'/'.$file)) {
- if($this->scssCacher->process($root, $file)) {
- $this->append($root, $this->scssCacher->getCachedSCSS('core', $file), $webRoot, false);
- return true;
+ if($this->scssCacher !== null) {
+ if($this->scssCacher->process($root, $file)) {
+ $this->append($root, $this->scssCacher->getCachedSCSS('core', $file), $webRoot, false);
+ return true;
+ } else {
+ $this->logger->error('Failed to compile and/or save '.$root.'/'.$file, ['app' => 'core']);
+ return false;
+ }
} else {
- $this->logger->error('Failed to compile and/or save '.$root.'/'.$file, ['app' => 'core']);
- return false;
+ $this->logger->error('Scss is disabled for '.$root.'/'.$file.', ignoring', ['app' => 'core']);
+ return true;
}
}
return false;
diff --git a/lib/private/TemplateLayout.php b/lib/private/TemplateLayout.php
index 2551f8417a5..9b425bc0568 100644
--- a/lib/private/TemplateLayout.php
+++ b/lib/private/TemplateLayout.php
@@ -160,16 +160,14 @@ class TemplateLayout extends \OC_Template {
$this->append( 'jsfiles', $web.'/'.$file . $this->getVersionHashSuffix() );
}
- // Add the css files and check if server is already installed to prevent
- // appdata initialisation before database configuration
- if(\OC::$server->getSystemConfig()->getValue('installed', false)) {
+ // Do not initialise scss appdata until we have a fully installed instance
+ // Do not load scss for update, errors, installation or login page
+ if(\OC::$server->getSystemConfig()->getValue('installed', false)
+ && !\OCP\Util::needUpgrade()
+ && \OC_User::isLoggedIn()) {
$cssFiles = self::findStylesheetFiles(\OC_Util::$styles);
} else {
- $cssFiles = array(
- [\OC::$SERVERROOT, \OC::$WEBROOT, 'core/css/global.css'],
- [\OC::$SERVERROOT, \OC::$WEBROOT, 'core/css/fonts.css'],
- [\OC::$SERVERROOT, \OC::$WEBROOT, 'core/css/installation.css']
- );
+ $cssFiles = self::findStylesheetFiles(\OC_Util::$styles, false);
}
$this->assign('cssfiles', array());
$this->assign('printcssfiles', []);
@@ -199,16 +197,20 @@ class TemplateLayout extends \OC_Template {
* @param array $styles
* @return array
*/
- static public function findStylesheetFiles($styles) {
+ static public function findStylesheetFiles($styles, $compileScss = true) {
// Read the selected theme from the config file
$theme = \OC_Util::getTheme();
- $SCSSCacher = new SCSSCacher(
- \OC::$server->getLogger(),
- \OC::$server->getAppDataDir('css'),
- \OC::$server->getURLGenerator(),
- \OC::$server->getSystemConfig()
- );
+ if($compileScss) {
+ $SCSSCacher = new SCSSCacher(
+ \OC::$server->getLogger(),
+ \OC::$server->getAppDataDir('css'),
+ \OC::$server->getURLGenerator(),
+ \OC::$server->getSystemConfig()
+ );
+ } else {
+ $SCSSCacher = null;
+ }
$locator = new \OC\Template\CSSResourceLocator(
\OC::$server->getLogger(),