X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fuser.php;h=1f4d8739b78ca36e60675bb79be3031a26195d58;hb=ce0d7be772306674fadaf020511871aba1683816;hp=4d4a28aedba438315a95f9cc546af6b4cfab32d8;hpb=20b087ff2e4bb918f601a9bcc2c67d1fbc5b2231;p=platal.git diff --git a/classes/user.php b/classes/user.php index 4d4a28a..1f4d873 100644 --- a/classes/user.php +++ b/classes/user.php @@ -1,6 +1,6 @@ asso('id')); $fields[] = 'gpm.perms AS group_perms'; $fields[] = 'gpm.comm AS group_comm'; + $fields[] = 'gpm.position AS group_position'; } if (count($fields) > 0) { $fields = ', ' . implode(', ', $fields); @@ -327,11 +329,11 @@ class User extends PlUser /** Return the main profile attached with this account if any. */ - public function profile($forceFetch = false) + public function profile($forceFetch = false, $fields = 0x0000, $visibility = null) { if (!$this->_profile_fetched || $forceFetch) { $this->_profile_fetched = true; - $this->_profile = Profile::get($this); + $this->_profile = Profile::get($this, $fields, $visibility); } return $this->_profile; } @@ -632,6 +634,23 @@ class User extends PlUser } } + public function groupCount() + { + return XDB::fetchOneCell('SELECT COUNT(DISTINCT(asso_id)) + FROM group_members + WHERE uid = {?}', + $this->id()); + } + + public function inGroup($asso_id) + { + $res = XDB::fetchOneCell('SELECT COUNT(*) + FROM group_members + WHERE uid = {?} AND asso_id = {?}', + $this->id(), $asso_id); + return ($res > 0); + } + /** * Clears a user. * *always deletes in: account_lost_passwords, register_marketing, @@ -690,7 +709,7 @@ class User extends PlUser 'forum_innd', 'forum_profiles', 'forum_subs', 'group_announces_read', 'group_members', 'group_member_sub_requests', 'reminder', 'requests', - 'requests_hidden'); + 'requests_hidden', 'aliases'); foreach ($tables as $t) { XDB::execute('DELETE FROM ' . $t . ' WHERE uid = {?}', @@ -728,7 +747,7 @@ class User extends PlUser } } - $mmlist = new MMList($this); + $mmlist = new MMList(S::user()); $mmlist->kill($this->hruid, $clearAll); } @@ -813,7 +832,7 @@ class User extends PlUser XDB::execute('UPDATE log_last_sessions SET id = {?} WHERE uid = {?}', - $newuser->id()); + $lastSession, $newuser->id()); XDB::execute('DELETE FROM accounts WHERE uid = {?}', $this->id());