/**
  * 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');
 }
Beispiel #3
0
 /**
  * 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();
 }
Beispiel #4
0
 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);
 }
Beispiel #5
0
 /**
  * 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;
 }
Beispiel #6
0
	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));
	}
Beispiel #7
0
 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']);
 }
Beispiel #8
0
	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);
	}
Beispiel #9
0
 /**
  * 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'));
 }