mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 23:00:56 +01:00
* Addressbook/CardDAV: show and allow to sync for default and forced preferences all ABs of the admin user
also do NOT name the groups own AB "personal"
This commit is contained in:
parent
d70562e0be
commit
839863bde1
@ -1323,12 +1323,17 @@ class addressbook_groupdav extends Api\CalDAV\Handler
|
|||||||
'O' => lang('Sync all selected into one'),
|
'O' => lang('Sync all selected into one'),
|
||||||
'D' => lang('Distribution lists as groups')
|
'D' => lang('Distribution lists as groups')
|
||||||
);
|
);
|
||||||
if (!isset($hook_data['setup']) && in_array($hook_data['type'], array('user', 'group')))
|
if (!isset($hook_data['setup']))
|
||||||
{
|
{
|
||||||
$user = $hook_data['account_id'];
|
$user = in_array($hook_data['type'], array('user', 'group')) ? $hook_data['account_id'] :
|
||||||
|
// for default or forced prefs show current users addressbooks
|
||||||
|
$GLOBALS['egw_info']['user']['account_id'];
|
||||||
$addressbook_bo = new Api\Contacts();
|
$addressbook_bo = new Api\Contacts();
|
||||||
$addressbooks += $addressbook_bo->get_addressbooks(Acl::READ, null, $user);
|
$addressbooks += $addressbook_bo->get_addressbooks(Acl::READ, null, $user);
|
||||||
if ($user > 0) unset($addressbooks[$user]); // allways synced
|
if ($user > 0 || !in_array($hook_data['type'], array('user', 'group')))
|
||||||
|
{
|
||||||
|
unset($addressbooks[$user]); // personal AB is always synced, and don't show if for default and forced prefs
|
||||||
|
}
|
||||||
unset($addressbooks[$user.'p']);// ignore (optional) private addressbook for now
|
unset($addressbooks[$user.'p']);// ignore (optional) private addressbook for now
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1338,7 +1343,7 @@ class addressbook_groupdav extends Api\CalDAV\Handler
|
|||||||
$addressbooks['N'] = lang('None');
|
$addressbooks['N'] = lang('None');
|
||||||
}
|
}
|
||||||
|
|
||||||
// rewriting owner=0 to 'U', as 0 get's always selected by prefs
|
// rewriting owner=0 to 'U', as 0 gets always selected by prefs
|
||||||
// not removing it for default or forced prefs based on current users pref
|
// not removing it for default or forced prefs based on current users pref
|
||||||
if (!isset($addressbooks[0]) && (in_array($hook_data['type'], array('user', 'group')) ||
|
if (!isset($addressbooks[0]) && (in_array($hook_data['type'], array('user', 'group')) ||
|
||||||
$GLOBALS['egw_info']['user']['preferences']['addressbook']['hide_accounts'] === '1'))
|
$GLOBALS['egw_info']['user']['preferences']['addressbook']['hide_accounts'] === '1'))
|
||||||
|
@ -381,7 +381,10 @@ class Contacts extends Contacts\Storage
|
|||||||
|
|
||||||
$addressbooks = $to_sort = array();
|
$addressbooks = $to_sort = array();
|
||||||
if ($extra_label) $addressbooks[''] = $extra_label;
|
if ($extra_label) $addressbooks[''] = $extra_label;
|
||||||
$addressbooks[$user] = lang('Personal');
|
if ($user > 0)
|
||||||
|
{
|
||||||
|
$addressbooks[$user] = lang('Personal');
|
||||||
|
}
|
||||||
// add all group addressbooks the user has the necessary rights too
|
// add all group addressbooks the user has the necessary rights too
|
||||||
foreach($grants as $uid => $rights)
|
foreach($grants as $uid => $rights)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user