$uids = array_map(array('XDB', 'escape'), $uids);
- return XDB::iterator('SELECT a.uid, a.hruid, a.registration_date, h.uid IS NOT NULL AS homonym,
+ return XDB::iterator('SELECT a.uid, a.hruid, a.registration_date, h.uid IS NOT NULL AS homonym, a.firstname, a.lastname,
IF(ef.email IS NULL, NULL, CONCAT(ef.email, \'@\', mf.name)) AS forlife,
IF(ef.email IS NULL, NULL, CONCAT(ef.email, \'@\', df.name)) AS forlife_alternate,
IF(eb.email IS NULL, NULL, CONCAT(eb.email, \'@\', mb.name)) AS bestalias,
return $this->profile()->fullName($with_promo);
}
+ public function shortName($with_promo = false)
+ {
+ if (!$this->hasProfile()) {
+ return $this->full_name;
+ }
+ return $this->profile()->shortName($with_promo);
+ }
+
public function directoryName()
{
if (!$this->hasProfile()) {
return $this->profile()->directory_name;
}
+ static public function compareDirectoryName($a, $b)
+ {
+ return strcasecmp(replace_accent($a->directoryName()), replace_accent($b->directoryName()));
+ }
+
/** Return the main profile attached with this account if any.
*/
public function profile($forceFetch = false, $fields = 0x0000, $visibility = null)
$this->forlifeEmail(), $newuser->id());
// Reftech new user so its forlifeEmail will be correct.
- $newuser = getSilentWithUID($newuser->id());
+ $newuser = self::getSilentWithUID($newuser->id());
}
// Change email used in mailing lists.
if ($this->forlifeEmail() != $newuser->forlifeEmail()) {
+ // The super user is the user who has the right to do the modification.
+ $super_user = S::user();
// group mailing lists
$group_domains = XDB::fetchColumn('SELECT g.mail_domain
FROM groups AS g
WHERE g.mail_domain != \'\' AND gm.uid = {?}',
$this->id());
foreach ($group_domains as $mail_domain) {
- $mmlist = new MMList($this, $mail_domain);
+ $mmlist = new MMList($super_user, $mail_domain);
$mmlist->replace_email_in_all($this->forlifeEmail(), $newuser->forlifeEmail());
}
// main domain lists
- $mmlist = new MMList($this);
+ $mmlist = new MMList($super_user);
$mmlist->replace_email_in_all($this->forlifeEmail(), $newuser->forlifeEmail());
}
}