mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-27 08:19:45 +01:00
using static methods for the hooks (you need to update addressbook or call Admin >> Register hooks!)
This commit is contained in:
parent
4ecce4f5ae
commit
684d6551f2
@ -1,41 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* Addressbook - admin, preferences and sidebox-menus
|
||||
* Addressbook - admin, preferences and sidebox-menus and other hooks
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @package addressbook
|
||||
* @author Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @copyright (c) 2006 by Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @copyright (c) 2006-8 by Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class containing admin, preferences and sidebox-menus (used as hooks)
|
||||
*
|
||||
* @package addressbook
|
||||
* @author Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @copyright (c) 2006 by Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* Class containing admin, preferences and sidebox-menus and other hooks
|
||||
*/
|
||||
class contacts_admin_prefs
|
||||
class addressbook_hooks
|
||||
{
|
||||
var $contact_repository = 'sql';
|
||||
|
||||
/**
|
||||
* constructor
|
||||
*/
|
||||
function contacts_admin_prefs()
|
||||
{
|
||||
if($GLOBALS['egw_info']['server']['contact_repository'] == 'ldap') $this->contact_repository = 'ldap';
|
||||
}
|
||||
|
||||
/**
|
||||
* hooks to build projectmanager's sidebox-menu plus the admin and preferences sections
|
||||
*
|
||||
* @param string/array $args hook args
|
||||
*/
|
||||
function all_hooks($args)
|
||||
static function all_hooks($args)
|
||||
{
|
||||
$appname = 'addressbook';
|
||||
$location = is_array($args) ? $args['location'] : $args;
|
||||
@ -71,7 +56,7 @@ class contacts_admin_prefs
|
||||
'Grant Access' => $GLOBALS['egw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname),
|
||||
'Edit Categories' => $GLOBALS['egw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app=' . $appname . '&cats_level=True&global_cats=True')
|
||||
);
|
||||
if ($this->contact_repository == 'ldap' || $GLOBALS['egw_info']['server']['deny_user_grants_access'])
|
||||
if ($GLOBALS['egw_info']['server']['contact_repository'] == 'ldap' || $GLOBALS['egw_info']['server']['deny_user_grants_access'])
|
||||
{
|
||||
unset($file['Grant Access']);
|
||||
}
|
||||
@ -121,7 +106,7 @@ class contacts_admin_prefs
|
||||
/**
|
||||
* populates $GLOBALS['settings'] for the preferences
|
||||
*/
|
||||
function settings()
|
||||
static function settings()
|
||||
{
|
||||
$GLOBALS['settings']['add_default'] = array(
|
||||
'type' => 'select',
|
||||
@ -179,7 +164,7 @@ class contacts_admin_prefs
|
||||
'admin' => false,
|
||||
);
|
||||
|
||||
if ($this->contact_repository == 'sql')
|
||||
if ($GLOBALS['egw_info']['server']['contact_repository'] != 'ldap')
|
||||
{
|
||||
$GLOBALS['settings']['private_addressbook'] = array(
|
||||
'type' => 'check',
|
||||
@ -272,7 +257,7 @@ class contacts_admin_prefs
|
||||
/**
|
||||
* add an Addressbook tab to Admin >> Edit user
|
||||
*/
|
||||
function edit_user()
|
||||
static function edit_user()
|
||||
{
|
||||
global $menuData;
|
||||
|
||||
@ -284,4 +269,43 @@ class contacts_admin_prefs
|
||||
' title="'.htmlspecialchars(lang('Edit extra account-data in the addressbook')).'"',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook called by link-class to include calendar in the appregistry of the linkage
|
||||
*
|
||||
* @param array/string $location location and other parameters (not used)
|
||||
* @return array with method-names
|
||||
*/
|
||||
static function search_link($location)
|
||||
{
|
||||
return array(
|
||||
'query' => 'addressbook.bocontacts.link_query',
|
||||
'title' => 'addressbook.bocontacts.link_title',
|
||||
'titles' => 'addressbook.bocontacts.link_titles',
|
||||
'view' => array(
|
||||
'menuaction' => 'addressbook.uicontacts.view'
|
||||
),
|
||||
'view_id' => 'contact_id',
|
||||
'add' => array(
|
||||
'menuaction' => 'addressbook.uicontacts.edit'
|
||||
),
|
||||
'add_app' => 'link_app',
|
||||
'add_id' => 'link_id',
|
||||
'add_popup' => '850x440',
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register contacts as calendar resources (items which can be sheduled by the calendar)
|
||||
*
|
||||
* @param array $args hook-params (not used)
|
||||
* @return array
|
||||
*/
|
||||
static function calendar_resources($args)
|
||||
{
|
||||
return array(
|
||||
'type' => 'c',// one char type-identifiy for this resources
|
||||
'info' => 'addressbook.bocontacts.calendar_info',// info method, returns array with id, type & name for a given id
|
||||
);
|
||||
}
|
||||
}
|
@ -10,7 +10,7 @@
|
||||
/* Basic information about this app */
|
||||
$setup_info['addressbook']['name'] = 'addressbook';
|
||||
$setup_info['addressbook']['title'] = 'Addressbook';
|
||||
$setup_info['addressbook']['version'] = '1.5';
|
||||
$setup_info['addressbook']['version'] = '1.5.001';
|
||||
$setup_info['addressbook']['app_order'] = 4;
|
||||
$setup_info['addressbook']['enable'] = 1;
|
||||
|
||||
@ -30,15 +30,15 @@ $setup_info['addressbook']['maintainer_email'] = 'egroupware-developers@lists.so
|
||||
$setup_info['addressbook']['tables'] = array(); // addressbook tables are in the API!
|
||||
|
||||
/* The hooks this app includes, needed for hooks registration */
|
||||
$setup_info['addressbook']['hooks']['admin'] = 'addressbook.contacts_admin_prefs.all_hooks';
|
||||
$setup_info['addressbook']['hooks']['preferences'] = 'addressbook.contacts_admin_prefs.all_hooks';
|
||||
$setup_info['addressbook']['hooks']['sidebox_menu'] = 'addressbook.contacts_admin_prefs.all_hooks';
|
||||
$setup_info['addressbook']['hooks']['settings'] = 'addressbook.contacts_admin_prefs.settings';
|
||||
$setup_info['addressbook']['hooks']['admin'] = 'addressbook_hooks::all_hooks';
|
||||
$setup_info['addressbook']['hooks']['preferences'] = 'addressbook_hooks::all_hooks';
|
||||
$setup_info['addressbook']['hooks']['sidebox_menu'] = 'addressbook_hooks::all_hooks';
|
||||
$setup_info['addressbook']['hooks']['settings'] = 'addressbook_hooks::settings';
|
||||
$setup_info['addressbook']['hooks'][] = 'home';
|
||||
$setup_info['addressbook']['hooks']['deleteaccount'] = 'addressbook.bocontacts.deleteaccount';
|
||||
$setup_info['addressbook']['hooks']['search_link'] = 'addressbook.bocontacts.search_link';
|
||||
$setup_info['addressbook']['hooks']['calendar_resources'] = 'addressbook.bocontacts.calendar_resources';
|
||||
$setup_info['addressbook']['hooks']['edit_user'] = 'addressbook.contacts_admin_prefs.edit_user';
|
||||
$setup_info['addressbook']['hooks']['search_link'] = 'addressbook_hooks::search_link';
|
||||
$setup_info['addressbook']['hooks']['calendar_resources'] = 'addressbook_hooks::calendar_resources';
|
||||
$setup_info['addressbook']['hooks']['edit_user'] = 'addressbook_hooks::edit_user';
|
||||
$setup_info['addressbook']['hooks'][] = 'config';
|
||||
|
||||
/* Dependencies for this app to work */
|
||||
|
Loading…
Reference in New Issue
Block a user