X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fuser.php;h=7db7df4be954e9cb00c4cdc28674d20912201aea;hb=c8763ca3355d508abb501b0e1d73e013daff07e6;hp=77bacbfac2a6605c8cb4d16a5b87936e6b34e0a6;hpb=94590511073104fbf5b565cf988e76182021ef47;p=platal.git diff --git a/classes/user.php b/classes/user.php index 77bacbf..7db7df4 100644 --- a/classes/user.php +++ b/classes/user.php @@ -170,7 +170,7 @@ class User extends PlUser $uids = array_map(array('XDB', 'escape'), $uids); - return XDB::iterator('SELECT a.uid, a.hruid, a.registration_date, + return XDB::iterator('SELECT a.uid, a.hruid, a.registration_date, ah.alias AS homonym, CONCAT(af.alias, \'@' . $globals->mail->domain . '\') AS forlife, CONCAT(af.alias, \'@' . $globals->mail->domain2 . '\') AS forlife_alternate, CONCAT(ab.alias, \'@' . $globals->mail->domain . '\') AS bestalias, @@ -187,6 +187,7 @@ class User extends PlUser INNER JOIN account_types AS at ON (at.type = a.type) LEFT JOIN aliases AS af ON (af.uid = a.uid AND af.type = \'a_vie\') LEFT JOIN aliases AS ab ON (ab.uid = a.uid AND FIND_IN_SET(\'bestalias\', ab.flags)) + LEFT JOIN aliases AS ah ON (ah.uid = a.uid AND ah.type = \'homonyme\') LEFT JOIN emails AS e ON (e.uid = a.uid AND e.flags = \'active\') LEFT JOIN email_options AS eo ON (eo.uid = a.uid) ' . $joins . ' @@ -277,14 +278,6 @@ class User extends PlUser return $this->profile()->promo(); } - public function yearpromo() - { - if (!$this->hasProfile()) { - return 0; - } - return $this->profile()->yearpromo(); - } - public function firstName() { if (!$this->hasProfile()) { @@ -479,7 +472,7 @@ class User extends PlUser // Contacts private $contacts = null; - public function isContact(PlUser &$user) + private function fetchContacts() { if (is_null($this->contacts)) { $this->contacts = XDB::fetchAllAssoc('contact', 'SELECT * @@ -487,6 +480,23 @@ class User extends PlUser WHERE uid = {?}', $this->id()); } + } + + public function iterContacts() + { + $this->fetchContacts(); + return self::iterOverUIDs(array_keys($this->contacts)); + } + + public function getContacts() + { + $this->fetchContacts(); + return self::getBulkUsersWithUIDs(array_keys($this->contacts)); + } + + public function isContact(PlUser &$user) + { + $this->fetchContacts(); return isset($this->contacts[$user->id()]); }