<?php
/***************************************************************************
- * Copyright (C) 2003-2010 Polytechnique.org *
+ * Copyright (C) 2003-2011 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
class User extends PlUser
{
- const PERM_GROUPS = 'groups';
- const PERM_MAIL = 'mail';
+ const PERM_API_USER_READONLY = 'api_user_readonly';
const PERM_DIRECTORY_AX = 'directory_ax';
const PERM_DIRECTORY_PRIVATE = 'directory_private';
const PERM_EDIT_DIRECTORY = 'edit_directory';
const PERM_FORUMS = 'forums';
+ const PERM_GROUPS = 'groups';
const PERM_LISTS = 'lists';
+ const PERM_MAIL = 'mail';
const PERM_PAYMENT = 'payment';
private $_profile_fetched = false;
$joins .= XDB::format("LEFT JOIN group_members AS gpm ON (gpm.uid = a.uid AND gpm.asso_id = {?})\n", $globals->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);
}
}
+ 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,