diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php index 2c7c17bced2cce967a4ac8d69c528bcbecef9438..2c20ce36caa63e314a1840e0e39ecf19adfbed10 100644 --- a/apps/settings/lib/Controller/UsersController.php +++ b/apps/settings/lib/Controller/UsersController.php @@ -214,12 +214,7 @@ class UsersController extends Controller { ]; /* QUOTAS PRESETS */ - $quotaPreset = $this->config->getAppValue('files', 'quota_preset', '1 GB, 5 GB, 10 GB'); - $quotaPreset = explode(',', $quotaPreset); - foreach ($quotaPreset as &$preset) { - $preset = trim($preset); - } - $quotaPreset = array_diff($quotaPreset, array('default', 'none')); + $quotaPreset = $this->parseQuotaPreset($this->config->getAppValue('files', 'quota_preset', '1 GB, 5 GB, 10 GB')); $defaultQuota = $this->config->getAppValue('files', 'default_quota', 'none'); \OC::$server->getEventDispatcher()->dispatch('OC\Settings\Users::loadAdditionalScripts'); @@ -247,6 +242,19 @@ class UsersController extends Controller { return new TemplateResponse('settings', 'settings-vue', ['serverData' => $serverData]); } + /** + * Parse the app value for quota_present + * + * @param string $quotaPreset + * @return array + */ + protected function parseQuotaPreset(string $quotaPreset): array { + // 1 GB, 5 GB, 10 GB => [1 GB, 5 GB, 10 GB] + $presets = array_filter(array_map('trim', explode(',', $quotaPreset))); + // Drop default and none, Make array indexes numerically + return array_values(array_diff($presets, ['default', 'none'])); + } + /** * check if the admin can change the users password *