From: <ral...@us...> - 2010-07-30 15:30:54
|
Author: ralfbecker Date: Fri Jul 30 17:30:46 2010 New Revision: 31583 URL: http://www.egroupware.org/viewvc/egroupware?rev=31583&view=rev Log: allow to optional specify a database object (to access addressbooks in other databases) Modified: trunk/addressbook/inc/class.addressbook_bo.inc.php trunk/addressbook/inc/class.addressbook_so.inc.php trunk/addressbook/inc/class.addressbook_sql.inc.php Modified: trunk/addressbook/inc/class.addressbook_bo.inc.php URL: http://www.egroupware.org/viewvc/egroupware/trunk/addressbook/inc/class.addressbook_bo.inc.php?rev=31583&r1=31582&r2=31583&view=diff ============================================================================== --- trunk/addressbook/inc/class.addressbook_bo.inc.php (original) +++ trunk/addressbook/inc/class.addressbook_bo.inc.php Fri Jul 30 17:30:46 2010 @@ -7,7 +7,7 @@ * @author Ralf Becker <RalfBecker-AT-outdoor-training.de> * @author Joerg Lehrke <jl...@no...> * @package addressbook - * @copyright (c) 2005-8 by Ralf Becker <RalfBecker-AT-outdoor-training.de> + * @copyright (c) 2005-10 by Ralf Becker <RalfBecker-AT-outdoor-training.de> * @copyright (c) 2005/6 by Cornelius Weiss <eg...@vo...> * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @version $Id$ @@ -144,9 +144,15 @@ */ protected $delete_history = ''; - function __construct($contact_app='addressbook') - { - parent::__construct($contact_app); + /** + * Constructor + * + * @param string $contact_app='addressbook' used for acl->get_grants() + * @param egw_db $db=null + */ + function __construct($contact_app='addressbook',egw_db $db=null) + { + parent::__construct($contact_app,$db); if ($this->log) { $this->logfile = $GLOBALS['egw_info']['server']['temp_dir'].'/log-addressbook_bo'; @@ -1207,6 +1213,7 @@ if($options['start'] || $options['num_rows']) { $limit = array($options['start'], $options['num_rows']); } + $filter = (array)$options['filter']; if ($GLOBALS['egw_info']['user']['preferences']['addressbook']['hide_accounts']) $filter['account_id'] = null; if (($contacts = parent::search($criteria,false,'org_name,n_family,n_given,cat_id','','%',false,'OR', $limit, $filter))) { Modified: trunk/addressbook/inc/class.addressbook_so.inc.php URL: http://www.egroupware.org/viewvc/egroupware/trunk/addressbook/inc/class.addressbook_so.inc.php?rev=31583&r1=31582&r2=31583&view=diff ============================================================================== --- trunk/addressbook/inc/class.addressbook_so.inc.php (original) +++ trunk/addressbook/inc/class.addressbook_so.inc.php Fri Jul 30 17:30:46 2010 @@ -6,7 +6,7 @@ * @author Cornelius Weiss <egw-AT-von-und-zu-weiss.de> * @author Ralf Becker <RalfBecker-AT-outdoor-training.de> * @package addressbook - * @copyright (c) 2005-8 by Ralf Becker <RalfBecker-AT-outdoor-training.de> + * @copyright (c) 2005-10 by Ralf Becker <RalfBecker-AT-outdoor-training.de> * @copyright (c) 2005/6 by Cornelius Weiss <eg...@vo...> * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @version $Id$ @@ -205,9 +205,15 @@ var $sodistrib_list; var $backend; - function __construct($contact_app='addressbook') - { - $this->db = $GLOBALS['egw']->db; + /** + * Constructor + * + * @param string $contact_app='addressbook' used for acl->get_grants() + * @param egw_db $db=null + */ + function __construct($contact_app='addressbook',egw_db $db=null) + { + $this->db = is_null($db) ? $GLOBALS['egw']->db : $db; $this->user = $GLOBALS['egw_info']['user']['account_id']; $this->memberships = $GLOBALS['egw']->accounts->memberships($this->user,true); @@ -244,7 +250,7 @@ { $this->contact_repository = 'sql-ldap'; } - $this->somain = new addressbook_sql(); + $this->somain = new addressbook_sql($db); if ($this->user) // not set eg. in setup { @@ -303,7 +309,7 @@ } else { - $this->soextra = new addressbook_sql(); + $this->soextra = new addressbook_sql($db); } $this->customfields = config::get_customfields('addressbook'); Modified: trunk/addressbook/inc/class.addressbook_sql.inc.php URL: http://www.egroupware.org/viewvc/egroupware/trunk/addressbook/inc/class.addressbook_sql.inc.php?rev=31583&r1=31582&r2=31583&view=diff ============================================================================== --- trunk/addressbook/inc/class.addressbook_sql.inc.php (original) +++ trunk/addressbook/inc/class.addressbook_sql.inc.php Fri Jul 30 17:30:46 2010 @@ -5,7 +5,7 @@ * @link http://www.egroupware.org * @author Ralf Becker <RalfBecker-AT-outdoor-training.de> * @package addressbook - * @copyright (c) 2006-8 by Ralf Becker <RalfBecker-AT-outdoor-training.de> + * @copyright (c) 2006-10 by Ralf Becker <RalfBecker-AT-outdoor-training.de> * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @version $Id$ */ @@ -54,9 +54,15 @@ */ var $ab2list_table = 'egw_addressbook2list'; - function __construct() - { - parent::__construct('phpgwapi','egw_addressbook','egw_addressbook_extra','contact_'); + /** + * Constructor + * + * @param egw_db $db=null + */ + function __construct(egw_db $db=null) + { + parent::__construct('phpgwapi','egw_addressbook','egw_addressbook_extra','contact_', + $extra_key='_name',$extra_value='_value',$extra_id='_id',$db); // Get custom fields from addressbook instead of phpgwapi $this->customfields = config::get_customfields('addressbook'); |