Merge pull request #1033 from nextcloud/fix_theming_autoloader_magic
Fix theming autoloader magic
This commit is contained in:
commit
42ef33661f
2 changed files with 12 additions and 7 deletions
|
@ -29,21 +29,20 @@ use OCP\IConfig;
|
|||
use OCP\IL10N;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\Settings\ISettings;
|
||||
use \OC_Defaults;
|
||||
|
||||
class Admin implements ISettings {
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
/** @var IL10N */
|
||||
private $l;
|
||||
/** @var ThemingDefaults|OC_Defaults */
|
||||
/** @var ThemingDefaults */
|
||||
private $themingDefaults;
|
||||
/** @var IURLGenerator */
|
||||
private $urlGenerator;
|
||||
|
||||
public function __construct(IConfig $config,
|
||||
IL10N $l,
|
||||
OC_Defaults $themingDefaults,
|
||||
ThemingDefaults $themingDefaults,
|
||||
IURLGenerator $urlGenerator) {
|
||||
$this->config = $config;
|
||||
$this->l = $l;
|
||||
|
|
|
@ -643,10 +643,16 @@ class Server extends ServerContainer implements IServerContainer {
|
|||
return $factory->getManager();
|
||||
});
|
||||
$this->registerService('ThemingDefaults', function(Server $c) {
|
||||
try {
|
||||
$classExists = class_exists('OCA\Theming\ThemingDefaults');
|
||||
} catch (\OCP\AutoloadNotAllowedException $e) {
|
||||
// App disabled or in maintenance mode
|
||||
/*
|
||||
* Dark magic for autoloader.
|
||||
* If we do a class_exists it will try to load the class which will
|
||||
* make composer cache the result. Resulting in errors when enabling
|
||||
* the theming app.
|
||||
*/
|
||||
$prefixes = \OC::$composerAutoloader->getPrefixesPsr4();
|
||||
if (isset($prefixes['OCA\\Theming\\'])) {
|
||||
$classExists = true;
|
||||
} else {
|
||||
$classExists = false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue