Merge pull request #13843 from owncloud/fix-files-disabled
Fix disabled files app
This commit is contained in:
commit
23c6a0cf99
|
@ -28,8 +28,12 @@ class Disable extends Command {
|
||||||
protected function execute(InputInterface $input, OutputInterface $output) {
|
protected function execute(InputInterface $input, OutputInterface $output) {
|
||||||
$appId = $input->getArgument('app-id');
|
$appId = $input->getArgument('app-id');
|
||||||
if (\OC_App::isEnabled($appId)) {
|
if (\OC_App::isEnabled($appId)) {
|
||||||
\OC_App::disable($appId);
|
try {
|
||||||
$output->writeln($appId . ' disabled');
|
\OC_App::disable($appId);
|
||||||
|
$output->writeln($appId . ' disabled');
|
||||||
|
} catch(\Exception $e) {
|
||||||
|
$output->writeln($e->getMessage());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$output->writeln('No such app enabled: ' . $appId);
|
$output->writeln('No such app enabled: ' . $appId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -321,6 +321,9 @@ class OC_App {
|
||||||
* @param string $app app
|
* @param string $app app
|
||||||
*/
|
*/
|
||||||
public static function disable($app) {
|
public static function disable($app) {
|
||||||
|
if($app === 'files') {
|
||||||
|
throw new \Exception("files can't be disabled.");
|
||||||
|
}
|
||||||
self::$enabledAppsCache = array(); // flush
|
self::$enabledAppsCache = array(); // flush
|
||||||
// check if app is a shipped app or not. if not delete
|
// check if app is a shipped app or not. if not delete
|
||||||
\OC_Hook::emit('OC_App', 'pre_disable', array('app' => $app));
|
\OC_Hook::emit('OC_App', 'pre_disable', array('app' => $app));
|
||||||
|
|
|
@ -131,8 +131,12 @@ class AppManager implements IAppManager {
|
||||||
* Disable an app for every user
|
* Disable an app for every user
|
||||||
*
|
*
|
||||||
* @param string $appId
|
* @param string $appId
|
||||||
|
* @throws \Exception if app can't be disabled
|
||||||
*/
|
*/
|
||||||
public function disableApp($appId) {
|
public function disableApp($appId) {
|
||||||
|
if($appId === 'files') {
|
||||||
|
throw new \Exception("files can't be disabled.");
|
||||||
|
}
|
||||||
$this->appConfig->setValue($appId, 'enabled', 'no');
|
$this->appConfig->setValue($appId, 'enabled', 'no');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ use OC\Hooks\Emitter;
|
||||||
use OC\Repair\AssetCache;
|
use OC\Repair\AssetCache;
|
||||||
use OC\Repair\CleanTags;
|
use OC\Repair\CleanTags;
|
||||||
use OC\Repair\Collation;
|
use OC\Repair\Collation;
|
||||||
|
use OC\Repair\EnableFilesApp;
|
||||||
use OC\Repair\FillETags;
|
use OC\Repair\FillETags;
|
||||||
use OC\Repair\InnoDB;
|
use OC\Repair\InnoDB;
|
||||||
use OC\Repair\RepairConfig;
|
use OC\Repair\RepairConfig;
|
||||||
|
@ -84,6 +85,7 @@ class Repair extends BasicEmitter {
|
||||||
new AssetCache(),
|
new AssetCache(),
|
||||||
new FillETags(\OC_DB::getConnection()),
|
new FillETags(\OC_DB::getConnection()),
|
||||||
new CleanTags(\OC_DB::getConnection()),
|
new CleanTags(\OC_DB::getConnection()),
|
||||||
|
new EnableFilesApp(\OC::$server->getConfig()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Copyright (c) 2015 Morris Jobke <hey@morrisjobke.de>
|
||||||
|
* This file is licensed under the Affero General Public License version 3 or
|
||||||
|
* later.
|
||||||
|
* See the COPYING-README file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace OC\Repair;
|
||||||
|
|
||||||
|
use OC\Hooks\BasicEmitter;
|
||||||
|
use OC\RepairStep;
|
||||||
|
use OCP\IConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class EnableFilesApp - enables files app if disabled
|
||||||
|
*
|
||||||
|
* TODO: remove this with ownCloud 8.1 - this isn't possible anymore with 8.0
|
||||||
|
*
|
||||||
|
* @package OC\Repair
|
||||||
|
*/
|
||||||
|
class EnableFilesApp extends BasicEmitter implements RepairStep {
|
||||||
|
|
||||||
|
/** @var IConfig */
|
||||||
|
protected $config;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param IConfig $config
|
||||||
|
*/
|
||||||
|
public function __construct(IConfig $config) {
|
||||||
|
$this->config = $config;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getName() {
|
||||||
|
return 'Re-enable file app';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables the files app if it is disabled
|
||||||
|
*/
|
||||||
|
public function run() {
|
||||||
|
if ($this->config->getAppValue('files', 'enabled', 'no') !== 'yes') {
|
||||||
|
$this->config->setAppValue('files', 'enabled', 'yes');
|
||||||
|
$this->emit('\OC\Repair', 'info', ['Files app was disabled - re-enabled']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue