Пример #1
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.");
     }
     $this->appConfig->setValue($appId, 'enabled', 'no');
 }
Пример #2
0
 /**
  * Disable an app for every user
  *
  * @param string $appId
  * @throws \Exception if app can't be disabled
  */
 public function disableApp($appId)
 {
     if ($this->isAlwaysEnabled($appId)) {
         throw new \Exception("{$appId} can't be disabled.");
     }
     unset($this->installedAppsCache[$appId]);
     $this->appConfig->setValue($appId, 'enabled', 'no');
     $this->clearAppsCache();
 }
Пример #3
0
 /**
  * Disable an app for every user
  *
  * @param string $appId
  * @throws \Exception if app can't be disabled
  */
 public function disableApp($appId)
 {
     if ($this->isAlwaysEnabled($appId)) {
         throw new \Exception("{$appId} can't be disabled.");
     }
     unset($this->installedAppsCache[$appId]);
     $this->appConfig->setValue($appId, 'enabled', 'no');
     $this->dispatcher->dispatch(ManagerEvent::EVENT_APP_DISABLE, new ManagerEvent(ManagerEvent::EVENT_APP_DISABLE, $appId));
     $this->clearAppsCache();
 }
Пример #4
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));
	}
Пример #5
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']);
 }
Пример #6
0
 /**
  * Disable an app for every user
  *
  * @param string $appId
  */
 public function disableApp($appId)
 {
     $this->appConfig->setValue($appId, 'enabled', 'no');
 }