|
|
|
@ -6,6 +6,7 @@ |
|
|
|
|
* @author Christoph Wurst <christoph@winzerhof-wurst.at> |
|
|
|
|
* @author Joas Schilling <coding@schilljs.com> |
|
|
|
|
* @author Lukas Reschke <lukas@statuscode.ch> |
|
|
|
|
* @author Kate Döen <kate.doeen@nextcloud.com> |
|
|
|
|
* |
|
|
|
|
* @license GNU AGPL version 3 or any later version |
|
|
|
|
* |
|
|
|
@ -34,34 +35,48 @@ use OCP\IUser; |
|
|
|
|
interface IManager { |
|
|
|
|
/** |
|
|
|
|
* @since 9.1.0 |
|
|
|
|
* @depreacted 29.0.0 Use {@see self::SETTINGS_ADMIN} instead |
|
|
|
|
*/ |
|
|
|
|
public const KEY_ADMIN_SETTINGS = 'admin'; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @since 9.1.0 |
|
|
|
|
* @depreacted 29.0.0 Use {@see self::SETTINGS_ADMIN} instead |
|
|
|
|
*/ |
|
|
|
|
public const KEY_ADMIN_SECTION = 'admin-section'; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @since 13.0.0 |
|
|
|
|
* @depreacted 29.0.0 Use {@see self::SETTINGS_PERSONAL} instead |
|
|
|
|
*/ |
|
|
|
|
public const KEY_PERSONAL_SETTINGS = 'personal'; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @since 13.0.0 |
|
|
|
|
* @depreacted 29.0.0 Use {@see self::SETTINGS_PERSONAL} instead |
|
|
|
|
*/ |
|
|
|
|
public const KEY_PERSONAL_SECTION = 'personal-section'; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param string $type 'admin-section' or 'personal-section' |
|
|
|
|
* @param string $section Class must implement OCP\Settings\ISection |
|
|
|
|
* @since 29.0.0 |
|
|
|
|
*/ |
|
|
|
|
public const SETTINGS_ADMIN = 'admin'; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @since 29.0.0 |
|
|
|
|
*/ |
|
|
|
|
public const SETTINGS_PERSONAL = 'personal'; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @psalm-param self::SETTINGS_* $type |
|
|
|
|
* @param class-string<IIconSection> $section |
|
|
|
|
* @since 14.0.0 |
|
|
|
|
*/ |
|
|
|
|
public function registerSection(string $type, string $section); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param string $type 'admin' or 'personal' |
|
|
|
|
* @param string $setting Class must implement OCP\Settings\ISettings |
|
|
|
|
* @psalm-param self::SETTINGS_* $type |
|
|
|
|
* @param class-string<ISettings> $setting |
|
|
|
|
* @since 14.0.0 |
|
|
|
|
*/ |
|
|
|
|
public function registerSetting(string $type, string $setting); |
|
|
|
@ -69,7 +84,7 @@ interface IManager { |
|
|
|
|
/** |
|
|
|
|
* returns a list of the admin sections |
|
|
|
|
* |
|
|
|
|
* @return array<int, array<int, IIconSection>> array from IConSection[] where key is the priority |
|
|
|
|
* @return array<int, list<IIconSection>> list of sections with priority as key |
|
|
|
|
* @since 9.1.0 |
|
|
|
|
*/ |
|
|
|
|
public function getAdminSections(): array; |
|
|
|
@ -77,7 +92,7 @@ interface IManager { |
|
|
|
|
/** |
|
|
|
|
* returns a list of the personal sections |
|
|
|
|
* |
|
|
|
|
* @return array array of ISection[] where key is the priority |
|
|
|
|
* @return array<int, list<IIconSection>> list of sections with priority as key |
|
|
|
|
* @since 13.0.0 |
|
|
|
|
*/ |
|
|
|
|
public function getPersonalSections(): array; |
|
|
|
@ -87,10 +102,10 @@ interface IManager { |
|
|
|
|
* |
|
|
|
|
* @param string $section the section id for which to load the settings |
|
|
|
|
* @param bool $subAdminOnly only return settings sub admins are supposed to see (since 17.0.0) |
|
|
|
|
* @return array<int, array<int, ISettings>> array of ISettings[] where key is the priority |
|
|
|
|
* @return array<int, list<ISettings>> list of settings with priority as key |
|
|
|
|
* @since 9.1.0 |
|
|
|
|
*/ |
|
|
|
|
public function getAdminSettings($section, bool $subAdminOnly = false): array; |
|
|
|
|
public function getAdminSettings(string $section, bool $subAdminOnly = false): array; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Returns a list of admin settings that the given user can use for the give section |
|
|
|
@ -103,7 +118,7 @@ interface IManager { |
|
|
|
|
/** |
|
|
|
|
* Returns a list of admin settings that the given user can use. |
|
|
|
|
* |
|
|
|
|
* @return array<int, list<ISettings>> The array of admin settings there admin delegation is allowed. |
|
|
|
|
* @return list<ISettings> The array of admin settings there admin delegation is allowed. |
|
|
|
|
* @since 23.0.0 |
|
|
|
|
*/ |
|
|
|
|
public function getAllAllowedAdminSettings(IUser $user): array; |
|
|
|
@ -112,13 +127,14 @@ interface IManager { |
|
|
|
|
* returns a list of the personal settings |
|
|
|
|
* |
|
|
|
|
* @param string $section the section id for which to load the settings |
|
|
|
|
* @return array array of ISettings[] where key is the priority |
|
|
|
|
* @return array<int, list<ISettings>> list of settings with priority as key |
|
|
|
|
* @since 13.0.0 |
|
|
|
|
*/ |
|
|
|
|
public function getPersonalSettings($section): array; |
|
|
|
|
public function getPersonalSettings(string $section): array; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get a specific section by type and id |
|
|
|
|
* @psalm-param self::SETTINGS_* $type |
|
|
|
|
* @since 25.0.0 |
|
|
|
|
*/ |
|
|
|
|
public function getSection(string $type, string $sectionId): ?IIconSection; |
|
|
|
|