// however suits our needs.
if ($perms == 'disabled' && $old_fields['perms'] != 'disabled') {
kill_sessions();
+
+ // Also serve a reminder to the admin: disabling an account
+ // does not deactivate email forwarding.
+ $page->trigWarning("N'oubliez pas, le cas échéant, de désactiver les redirections et le compte GoogleApps de l'utilisateur.");
}
// Updates the user profile with the new values.
user_reindex($user->id());
$new_fields = XDB::query($watch_query, $user->id())->fetchOneAssoc();
+ // Redacts the password in the notification, to avoid transmitting
+ // sensitive information by email.
+ $new_fields['password'] = ($old_fields['password'] != $new_fields['password'] ? 'new' : 'old');
+ $old_fields['password'] = 'old';
+
+ // Notifies the admins of the profile update.
$mailer = new PlMailer("admin/useredit.mail.tpl");
$mailer->assign("admin", S::user()->login());
$mailer->assign("user", $user->login());
$account->set_password($pass_encrypted);
}
}
-
- // If the update did disable the user account, disables
- // the Google Apps account as well.
- if ($new_fields['perms'] == 'disabled' && $new_fields['perms'] != $old_fields['perms']) {
- require_once 'googleapps.inc.php';
- $account = new GoogleAppsAccount($user);
- $account->suspend();
- }
}
$page->assign('bans', $bans);
}
- function getHruid($line, $key)
+ function getHruid($line, $partial_result, $key)
{
- var_dump($line);
- if (!isset($line['nom']) || !isset($line['prenom']) || !isset($line['promo'])) {
+ if (!isset($partial_result['nom']) ||
+ !isset($partial_result['prenom']) ||
+ !isset($partial_result['promo'])) {
return null;
}
- return make_forlife($line['prenom'], $line['nom'], $line['promo']);
+ return make_forlife($partial_result['prenom'], $partial_result['nom'], $partial_result['promo']);
}
function getMatricule($line, $key)
$fields = array('hruid', 'nom', 'nom_ini', 'prenom', 'naissance_ini',
'prenom_ini', 'promo', 'promo_sortie', 'flags',
'matricule', 'matricule_ax', 'perms');
- $importer->forceValue('hruid', array($this, 'getHruid'));
$importer->forceValue('promo', $promo);
$importer->forceValue('promo_sortie', $promo + 3);
+ // The hruid generation callback is set last, so that it is called once 'promo'
+ // has already been computed for that line.
+ $importer->forceValue('hruid', array($this, 'getHruid'));
break;
case 'ax':
$fields = array('matricule', 'matricule_ax');