Remove group restrictions when those are not allowed anymore
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
639391717d
commit
f5310c0c26
|
@ -220,6 +220,21 @@ class AppManager implements IAppManager {
|
||||||
$this->clearAppsCache();
|
$this->clearAppsCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether a list of types contains a protected app type
|
||||||
|
*
|
||||||
|
* @param string[] $types
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasProtectedAppType($types) {
|
||||||
|
if (empty($types)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$protectedTypes = array_intersect($this->protectedAppTypes, $types);
|
||||||
|
return !empty($protectedTypes);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enable an app only for specific groups
|
* Enable an app only for specific groups
|
||||||
*
|
*
|
||||||
|
|
|
@ -273,9 +273,17 @@ class OC_App {
|
||||||
$appTypes = implode(',', $appData['types']);
|
$appTypes = implode(',', $appData['types']);
|
||||||
} else {
|
} else {
|
||||||
$appTypes = '';
|
$appTypes = '';
|
||||||
|
$appData['types'] = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
\OC::$server->getAppConfig()->setValue($app, 'types', $appTypes);
|
\OC::$server->getAppConfig()->setValue($app, 'types', $appTypes);
|
||||||
|
|
||||||
|
if (\OC::$server->getAppManager()->hasProtectedAppType($appData['types'])) {
|
||||||
|
$enabled = \OC::$server->getAppConfig()->getValue($app, 'enabled', 'yes');
|
||||||
|
if ($enabled !== 'yes' && $enabled !== 'no') {
|
||||||
|
\OC::$server->getAppConfig()->setValue($app, 'enabled', 'yes');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -61,6 +61,15 @@ interface IAppManager {
|
||||||
*/
|
*/
|
||||||
public function enableApp($appId);
|
public function enableApp($appId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether a list of types contains a protected app type
|
||||||
|
*
|
||||||
|
* @param string[] $types
|
||||||
|
* @return bool
|
||||||
|
* @since 12.0.0
|
||||||
|
*/
|
||||||
|
public function hasProtectedAppType($types);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enable an app only for specific groups
|
* Enable an app only for specific groups
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue