- // Force synchronization of plat/al and Google Apps passwords.
- if ($action == 'forcesync' && $account->sync_password) {
- $res = XDB::query("SELECT password FROM auth_user_md5 WHERE user_id = {?}", $user);
- $account->set_password($res->fetchOneCell());
- $page->trigSuccess('Le mot de passe a été synchronisé.');
+ // Apply requested actions.
+ if (Post::has('suspend') && $account->active() && !$account->pending_update_suspension) {
+ S::assert_xsrf_token();
+ $account->suspend();
+ $page->trigSuccess('Le compte est en cours de suspension.');
+ } else if (Post::has('unsuspend') && $account->suspended() && !$account->pending_update_suspension) {
+ S::assert_xsrf_token();
+ $account->do_unsuspend();
+ $page->trigSuccess('Le compte est en cours de réactivation.');
+ } else if (Post::has('forcesync') && $account->active() && $account->sync_password) {
+ $account->set_password($user->password());
+ $page->trigSuccess('Le mot de passe est en cours de synchronisation.');
+ } else if (Post::has('sync') && $account->active()) {
+ $account->set_password($user->password());
+ $account->set_password_sync(true);
+ } else if (Post::has('nosync') && $account->active()) {
+ $account->set_password_sync(false);