/** * Check whether sharing is enabled * @return bool */ private function isSharingEnabled() { // FIXME: This check is done here since the route is globally defined and not inside the files_sharing app // Check whether the sharing application is enabled if (!$this->api->isAppEnabled($this->appName)) { return false; } // Check whether public sharing is enabled if ($this->appConfig->getValue('core', 'shareapi_allow_links', 'yes') !== 'yes') { return false; } return true; }
/** * Disable an app for every user * * @param string $appId * @throws \Exception if app can't be disabled */ public function disableApp($appId) { if ($appId === 'files') { throw new \Exception("files can't be disabled."); } $this->appConfig->setValue($appId, 'enabled', 'no'); }
/** * Disable an app for every user * * @param string $appId * @throws \Exception if app can't be disabled */ public function disableApp($appId) { if ($appId === 'files') { throw new \Exception("files can't be disabled."); } unset($this->installedAppsCache[$appId]); $this->appConfig->setValue($appId, 'enabled', 'no'); $this->clearAppsCache(); }
protected function execute(InputInterface $input, OutputInterface $output) { $app = $input->getArgument('app'); $noSensitiveValues = !$input->getOption('private'); switch ($app) { case 'system': $configs = ['system' => $this->getSystemConfigs($noSensitiveValues)]; break; case 'all': $apps = $this->appConfig->getApps(); $configs = ['system' => $this->getSystemConfigs($noSensitiveValues), 'apps' => []]; foreach ($apps as $appName) { $configs['apps'][$appName] = $this->appConfig->getValues($appName, false); } break; default: $configs = ['apps' => [$app => $this->appConfig->getValues($app, false)]]; } $this->writeArrayInOutputFormat($input, $output, $configs); }
/** * Returns a list of apps that need upgrade * * @param array $version ownCloud version as array of version components * @return array list of app info from apps that need an upgrade * * @internal */ public function getAppsNeedingUpgrade($ocVersion) { $appsToUpgrade = []; $apps = $this->getInstalledApps(); foreach ($apps as $appId) { $appInfo = $this->getAppInfo($appId); $appDbVersion = $this->appConfig->getValue($appId, 'installed_version'); if ($appDbVersion && isset($appInfo['version']) && version_compare($appInfo['version'], $appDbVersion, '>') && \OC_App::isAppCompatible($ocVersion, $appInfo)) { $appsToUpgrade[] = $appInfo; } } return $appsToUpgrade; }
public function testGetAppsForUser() { $user = new User('user1', null); $this->groupManager->expects($this->any()) ->method('getUserGroupIds') ->with($user) ->will($this->returnValue(array('foo', 'bar'))); $this->appConfig->setValue('test1', 'enabled', 'yes'); $this->appConfig->setValue('test2', 'enabled', 'no'); $this->appConfig->setValue('test3', 'enabled', '["foo"]'); $this->appConfig->setValue('test4', 'enabled', '["asd"]'); $this->assertEquals(['test1', 'test3'], $this->manager->getEnabledAppsForUser($user)); }
public function testGetIncompatibleApps() { $this->manager = $this->getMockBuilder('\\OC\\App\\AppManager')->setConstructorArgs([$this->userSession, $this->appConfig, $this->groupManager, $this->cacheFactory, $this->eventDispatcher])->setMethods(['getAppInfo'])->getMock(); $appInfos = ['dav' => ['id' => 'dav'], 'files' => ['id' => 'files'], 'federatedfilesharing' => ['id' => 'federatedfilesharing'], 'test1' => ['id' => 'test1', 'version' => '1.0.1', 'requiremax' => '8.0.0'], 'test2' => ['id' => 'test2', 'version' => '1.0.0', 'requiremin' => '8.2.0'], 'test3' => ['id' => 'test3', 'version' => '1.2.4', 'requiremin' => '9.0.0'], 'testnoversion' => ['id' => 'testnoversion', 'requiremin' => '8.2.0']]; $this->manager->expects($this->any())->method('getAppInfo')->will($this->returnCallback(function ($appId) use($appInfos) { return $appInfos[$appId]; })); $this->appConfig->setValue('test1', 'enabled', 'yes'); $this->appConfig->setValue('test2', 'enabled', 'yes'); $this->appConfig->setValue('test3', 'enabled', 'yes'); $apps = $this->manager->getIncompatibleApps('8.2.0'); $this->assertCount(2, $apps); $this->assertEquals('test1', $apps[0]['id']); $this->assertEquals('test3', $apps[1]['id']); }
protected function execute(InputInterface $input, OutputInterface $output) { $app = $input->getArgument('app'); $noSensitiveValues = !$input->getOption('private'); if ($noSensitiveValues && !$input->hasParameterOption('--output')) { // If you post this publicly we prefer the json format $input->setOption('output', 'json_pretty'); } switch ($app) { case 'system': $configs = [ 'system' => $this->getSystemConfigs($noSensitiveValues), ]; break; case 'all': $apps = $this->appConfig->getApps(); $configs = [ 'system' => $this->getSystemConfigs($noSensitiveValues), 'apps' => [], ]; foreach ($apps as $appName) { $configs['apps'][$appName] = $this->appConfig->getValues($appName, false); } break; default: $configs = [ 'apps' => [ $app => $this->appConfig->getValues($app, false), ], ]; } $this->writeArrayInOutputFormat($input, $output, $configs); }
/** * Disable an app for every user * * @param string $appId */ public function disableApp($appId) { $this->appConfig->setValue($appId, 'enabled', 'no'); }
public function testIsSharingEnabledWithSharingDisabled() { $this->api->expects($this->once())->method('isAppEnabled')->with('files_sharing')->will($this->returnValue(true)); $this->appConfig->expects($this->once())->method('getValue')->with('core', 'shareapi_allow_links', 'yes')->will($this->returnValue('no')); $this->assertFalse(\Test_Helper::invokePrivate($this->sharingCheckMiddleware, 'isSharingEnabled')); }