If the Federation app is disabled it is not possible to synchronize the
users from a different server.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This is because php-sodium will solve the missing PASSWORD_ARGON2I
constant problem only on >= php 7.4, previously argon2 wasn't part of
the standard extension and was disabled on Centos/RHEL.
So installing php-sodium on php 7.2 for example wouldn't hide the
message. Tested on Fedora with php 7.4, Centos 7 with php 7.2,
Centos 8 with php 7.2 and openSUSE with php 7.4.
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
The controller can receive an optional subset of the properties of the
user settings; values not given are set to "null" by default. However,
those null values overwrote the previously existing values, so in
practice any value not given was deleted from the user settings. Now
only non null values overwrite the previous values.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
"AccountManager::updateUser()" wipes previous user data with whichever
user data is given (except for some adjustments, like resetting the
verified status when needed). As the controller overrode the properties
those properties would lose some of their attributes even if they are
not affected by the changes made by the controller. Now the controller
only modifies the attributes set ("value" and "scope") to prevent that.
Note that with this change the controller no longer removes the
"verified" status, but this is not a problem because, as mentioned,
"AccountManager::updateUser()" resets them when needed (for example,
when the value of the website property changes).
This change is a previous step to fix overwritting properties with null
values, and it will prevent the controller from making unexpected
changes if more attributes are added in the future.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The fields for phone number, address, website and twitter are now
editable regardless whether federated sharing and the lookup server
are enabled or not.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Use new scope values in settings page.
Adjust all consumers to use the new constants.
Map old scope values to new ones in account property getter.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
The requests dispatched from the personal settings page don't always
send all the possible params but just a subset. Hence requests currently
fail on master e.g. when you update your email. This makes the arguments
optional again.
Regression of da9462b482
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
The personal info section of the personal settings is querying the
storage quota information. For this it requires the FS to be setup which
is not always guaranteed.
This fixes an issue where refreshing the settings page would cause it to
fail after Redis caches are full. It is likely that when Redis cache is
populated, some code path is initializing the FS, so it works so far.
But when the cache is populated, that code path is skipped so the FS is
not guaranteed to be setup...
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Found by Psalm:
```
/home/runner/work/server/server/apps/settings/lib/Controller/UsersController.php:324:8:error - RedundantCondition: Type true for $isEncryptionModuleLoaded is never falsy
```
Signed-off-by: Morris Jobke <hey@morrisjobke.de>