diff --git a/phpgwapi/inc/class.accounts_shared.inc.php b/phpgwapi/inc/class.accounts_shared.inc.php new file mode 100644 index 0000000000..9385d3fe88 --- /dev/null +++ b/phpgwapi/inc/class.accounts_shared.inc.php @@ -0,0 +1,81 @@ + * + * shared functions for other account repository managers * + * Copyright (C) 2000, 2001 Joseph Engo * + * -------------------------------------------------------------------------* + * This library is part of the phpGroupWare API * + * http://www.phpgroupware.org/api * + * ------------------------------------------------------------------------ * + * This library is free software; you can redistribute it and/or modify it * + * under the terms of the GNU Lesser General Public License as published by * + * the Free Software Foundation; either version 2.1 of the License, * + * or any later version. * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * + * See the GNU Lesser General Public License for more details. * + * You should have received a copy of the GNU Lesser General Public License * + * along with this library; if not, write to the Free Software Foundation, * + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * + \**************************************************************************/ + + /* $Id$ */ + + class accounts extends accounts_ + { + /**************************************************************************\ + * Standard constructor for setting $this->account_id * + * This constructor sets the account id, if string is sent, converts to id * + * I might move this to the accounts_shared if it stays around * + \**************************************************************************/ + function accounts($account_id = False) + { + global $phpgw, $phpgw_info; + $this->db = $phpgw->db; + if ($account_id == ""){ $account_id = $phpgw_info["user"]["account_id"]; } + elseif (gettype($account_id) == "string") { $account_id = $this->name2id($account_id); } + $this->account_id = $account_id; + } + + function read() + { + if (count($this->data) == 0){ $this->read_repository(); } + reset($this->data); + return $this->data; + } + + function memberships($account_id = False) + { + global $phpgw_info, $phpgw; + if ($account_id == ""){ $account_id = $phpgw_info["user"]["account_id"]; } + elseif (gettype($account_id) == "string") { $account_id = $this->name2id($account_id); } + + $security_equals = Array(); + $security_equals = $phpgw->acl->get_location_list_for_id("phpgw_group", 1, intval($account_id)); + if (!$security_equals) { return False; } + for ($idx=0; $idxname2id($security_equals[$idx]); + $this->memberships[] = Array("account_id" => $security_equals[$idx], "account_name" => "$name"); + } + return $this->memberships; + } + + function members ($account_id = False) + { + global $phpgw_info, $phpgw; + if ($account_id == ""){ $account_id = $phpgw_info["user"]["account_id"]; } + elseif (gettype($account_id) == "string") { $account_id = $this->name2id($account_id); } + + $security_equals = Array(); + $security_equals = $phpgw->acl->get_ids_for_location(intval($account_id), 1, "phpgw_group"); + if (!$security_equals) { return False; } + for ($idx=0; $idxname2id($security_equals[$idx]); + $this->members[] = Array("account_id" => $security_equals[$idx], "account_name" => "$name"); + } + return $this->members; + } + } +?> \ No newline at end of file