mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-27 00:58:55 +01:00
- added an optional timezone quick selection in top menu (it shows up
only if you select more then one timezone to display in it) - moved generation of beautified timezone array to egw_time - moved all preferences hooks to a new class preferences_hooks (updated version so setup updates hook data, or you need to call admin>>update hooks)
This commit is contained in:
parent
e3c468361d
commit
587bd2bc95
@ -23,10 +23,10 @@
|
||||
* e) footer
|
||||
* It replaces several methods in the common class and the diverse templates.
|
||||
*
|
||||
* Existing apps either set $GLOBALS['egw_info']['flags']['noheader'] and call $GLOBALS['egw']->common->egw_header() and
|
||||
* Existing apps either set $GLOBALS['egw_info']['flags']['noheader'] and call common::egw_header() and
|
||||
* (if $GLOBALS['egw_info']['flags']['nonavbar'] is true) parse_navbar() or it's done by the header.inc.php include.
|
||||
* The app's hook_sidebox then calls the public function display_sidebox().
|
||||
* And the app calls $GLOBALS['egw']->common->egw_footer().
|
||||
* And the app calls common::egw_footer().
|
||||
*
|
||||
* This are the authors (and their copyrights) of the original egw_header, egw_footer methods of the common class:
|
||||
* This file written by Dan Kuykendall <seek3r@phpgroupware.org>
|
||||
@ -247,7 +247,7 @@ abstract class egw_framework
|
||||
}
|
||||
else
|
||||
{
|
||||
$var['favicon_file'] = $GLOBALS['egw']->common->image('phpgwapi',$GLOBALS['egw_info']['server']['favicon_file']?$GLOBALS['egw_info']['server']['favicon_file']:'favicon.ico');
|
||||
$var['favicon_file'] = common::image('phpgwapi',$GLOBALS['egw_info']['server']['favicon_file']?$GLOBALS['egw_info']['server']['favicon_file']:'favicon.ico');
|
||||
}
|
||||
|
||||
return $this->_get_css()+array(
|
||||
@ -259,7 +259,7 @@ abstract class egw_framework
|
||||
'slider_effects' => $slider_effects,
|
||||
'simple_show_hide' => $simple_show_hide,
|
||||
'lang_code' => $lang_code,
|
||||
'charset' => $GLOBALS['egw']->translation->charset(),
|
||||
'charset' => translation::charset(),
|
||||
'website_title' => strip_tags($GLOBALS['egw_info']['server']['site_title']. ($app ? " [$app]" : '')),
|
||||
'body_tags' => self::_get_body_attribs(),
|
||||
'java_script' => self::_get_js(),
|
||||
@ -298,7 +298,7 @@ abstract class egw_framework
|
||||
if($GLOBALS['egw_info']['user']['lastpasswd_change'] == 0)
|
||||
{
|
||||
$api_messages = lang('You are required to change your password during your first login').'<br />'.
|
||||
lang('Click this image on the navbar: %1','<img src="'.$GLOBALS['egw']->common->image('preferences','navbar.gif').'">');
|
||||
lang('Click this image on the navbar: %1','<img src="'.common::image('preferences','navbar.gif').'">');
|
||||
}
|
||||
elseif($GLOBALS['egw_info']['user']['lastpasswd_change'] < time() - (86400*30))
|
||||
{
|
||||
@ -317,7 +317,7 @@ abstract class egw_framework
|
||||
}
|
||||
else
|
||||
{
|
||||
$var['logo_file'] = $GLOBALS['egw']->common->image('phpgwapi',$GLOBALS['egw_info']['server']['login_logo_file']?$GLOBALS['egw_info']['server']['login_logo_file']:'logo');
|
||||
$var['logo_file'] = common::image('phpgwapi',$GLOBALS['egw_info']['server']['login_logo_file']?$GLOBALS['egw_info']['server']['login_logo_file']:'logo');
|
||||
}
|
||||
$var['logo_url'] = $GLOBALS['egw_info']['server']['login_logo_url']?$GLOBALS['egw_info']['server']['login_logo_url']:'http://www.eGroupWare.org';
|
||||
|
||||
@ -337,12 +337,23 @@ abstract class egw_framework
|
||||
*/
|
||||
protected static function _user_time_info()
|
||||
{
|
||||
$now = time();
|
||||
$user_info = '<b>'.$GLOBALS['egw']->common->display_fullname() .'</b>'. ' - '
|
||||
. lang($GLOBALS['egw']->common->show_date($now,'l')) . ' '
|
||||
. $GLOBALS['egw']->common->show_date($now,$GLOBALS['egw_info']['user']['preferences']['common']['dateformat']);
|
||||
$now = new egw_time();
|
||||
$user_info = '<b>'.common::display_fullname() .'</b>'. ' - ' . lang($now->format('l')) . ' ' . $now->format(true);
|
||||
|
||||
return $user_info;
|
||||
$tz = explode(',',$GLOBALS['egw_info']['user']['preferences']['common']['tz']);
|
||||
$tz_selection = explode(',',$GLOBALS['egw_info']['user']['preferences']['common']['tz_selection']);
|
||||
if (count($tz_selection) > 1)
|
||||
{
|
||||
if (!in_array($tz,$tz_selection)) $tz_selection = array_merge((array)$tz,$tz_selection);
|
||||
$tz_selection = array_combine($tz_selection,$tz_selection);
|
||||
foreach($tz_selection as $name => &$label)
|
||||
{
|
||||
$label = str_replace(array('_','/'),array(' ',' / '),$label);
|
||||
}
|
||||
$user_info .= html::form(html::select('tz',$tz,$tz_selection,true,' onchange="this.form.submit();"'),array(),
|
||||
'/index.php','','tz_selection',' style="display: inline;"','GET');
|
||||
}
|
||||
return $user_info;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -354,7 +365,7 @@ abstract class egw_framework
|
||||
{
|
||||
if( $GLOBALS['egw_info']['user']['apps']['admin'] && $GLOBALS['egw_info']['user']['preferences']['common']['show_currentusers'])
|
||||
{
|
||||
$current_users = '<a href="' . $GLOBALS['egw']->link('/index.php','menuaction=admin.uicurrentsessions.list_sessions') . '">' .
|
||||
$current_users = '<a href="' . egw::link('/index.php','menuaction=admin.uicurrentsessions.list_sessions') . '">' .
|
||||
lang('Current users') . ': ' . $GLOBALS['egw']->session->session_count() . '</a>';
|
||||
return $current_users;
|
||||
}
|
||||
@ -373,7 +384,7 @@ abstract class egw_framework
|
||||
$options = array(lang('Add').' ...');
|
||||
foreach($apps as $app => $label)
|
||||
{
|
||||
$link = $GLOBALS['egw']->link('/index.php',egw_link::add($app,$GLOBALS['egw_info']['flags']['currentapp'],$GLOBALS['egw_info']['flags']['currentid'])+
|
||||
$link = egw::link('/index.php',egw_link::add($app,$GLOBALS['egw_info']['flags']['currentapp'],$GLOBALS['egw_info']['flags']['currentid'])+
|
||||
(is_array($GLOBALS['egw_info']['flags']['quick_add']) ? $GLOBALS['egw_info']['flags']['quick_add'] : array()));
|
||||
if (($popup = egw_link::is_popup($app,'add')))
|
||||
{
|
||||
@ -432,7 +443,7 @@ abstract class egw_framework
|
||||
$index = '/index.php?menuaction='.$data['index'];
|
||||
}
|
||||
}
|
||||
return $GLOBALS['egw']->link($index,$GLOBALS['egw_info']['flags']['params'][$app]);
|
||||
return egw::link($index,$GLOBALS['egw_info']['flags']['params'][$app]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -496,13 +507,13 @@ abstract class egw_framework
|
||||
$icon_app = isset($data['icon_app']) ? $data['icon_app'] : $app;
|
||||
if ($app != $GLOBALS['egw_info']['flags']['currentapp'])
|
||||
{
|
||||
$apps[$app]['icon'] = $GLOBALS['egw']->common->image($icon_app,Array($icon,'nonav'));
|
||||
$apps[$app]['icon_hover'] = $GLOBALS['egw']->common->image_on($icon_app,Array($icon,'nonav'),'-over');
|
||||
$apps[$app]['icon'] = common::image($icon_app,Array($icon,'nonav'));
|
||||
$apps[$app]['icon_hover'] = common::image_on($icon_app,Array($icon,'nonav'),'-over');
|
||||
}
|
||||
else
|
||||
{
|
||||
$apps[$app]['icon'] = $GLOBALS['egw']->common->image_on($icon_app,Array($icon,'nonav'),'-over');
|
||||
$apps[$app]['icon_hover'] = $GLOBALS['egw']->common->image($icon_app,Array($icon,'nonav'));
|
||||
$apps[$app]['icon'] = common::image_on($icon_app,Array($icon,'nonav'),'-over');
|
||||
$apps[$app]['icon_hover'] = common::image($icon_app,Array($icon,'nonav'));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -526,14 +537,14 @@ abstract class egw_framework
|
||||
// We handle this here becuase its special
|
||||
$apps['about']['title'] = lang('About %1',$app_title);
|
||||
|
||||
$apps['about']['url'] = $GLOBALS['egw']->link('/about.php','app='.$app);
|
||||
$apps['about']['icon'] = $GLOBALS['egw']->common->image('phpgwapi',Array('about','nonav'));
|
||||
$apps['about']['icon_hover'] = $GLOBALS['egw']->common->image_on('phpgwapi',Array('about','nonav'),'-over');
|
||||
$apps['about']['url'] = egw::link('/about.php','app='.$app);
|
||||
$apps['about']['icon'] = common::image('phpgwapi',Array('about','nonav'));
|
||||
$apps['about']['icon_hover'] = common::image_on('phpgwapi',Array('about','nonav'),'-over');
|
||||
|
||||
$apps['logout']['title'] = lang('Logout');
|
||||
$apps['logout']['url'] = $GLOBALS['egw']->link('/logout.php');
|
||||
$apps['logout']['icon'] = $GLOBALS['egw']->common->image('phpgwapi',Array('logout','nonav'));
|
||||
$apps['logout']['icon_hover'] = $GLOBALS['egw']->common->image_on('phpgwapi',Array('logout','nonav'),'-over');
|
||||
$apps['logout']['url'] = egw::link('/logout.php');
|
||||
$apps['logout']['icon'] = common::image('phpgwapi',Array('logout','nonav'));
|
||||
$apps['logout']['icon_hover'] = common::image_on('phpgwapi',Array('logout','nonav'),'-over');
|
||||
|
||||
return $apps;
|
||||
}
|
||||
@ -651,7 +662,7 @@ abstract class egw_framework
|
||||
{
|
||||
require_once(EGW_SERVER_ROOT.'/phpgwapi/inc/xajax.inc.php');
|
||||
|
||||
$xajax = new xajax($GLOBALS['egw']->link('/xajax.php'), 'xajax_', $GLOBALS['egw']->translation->charset());
|
||||
$xajax = new xajax(egw::link('/xajax.php'), 'xajax_', translation::charset());
|
||||
$xajax->waitCursorOff();
|
||||
$xajax->registerFunction("doXMLHTTP");
|
||||
|
||||
|
@ -311,19 +311,21 @@ class egw_time extends DateTime
|
||||
* Setter for user timezone, should be called after reading user preferences
|
||||
*
|
||||
* @param string $tz timezone, eg. 'Europe/Berlin' or 'UTC'
|
||||
* @param string $dateformat eg. 'Y-m-d' or 'd.m.Y'
|
||||
* @param string|int $timeformat integer 12, 24, or format string eg. 'H:i'
|
||||
* @param string $dateformat='' eg. 'Y-m-d' or 'd.m.Y'
|
||||
* @param string|int $timeformat='' integer 12, 24, or format string eg. 'H:i'
|
||||
* @throws egw_exception_wrong_userinput if invalid $tz parameter
|
||||
* @return DateTimeZone
|
||||
*/
|
||||
public static function setUserPrefs($tz,$dateformat,$timeformat)
|
||||
public static function setUserPrefs($tz,$dateformat='',$timeformat='')
|
||||
{
|
||||
//echo "<p>".__METHOD__."('$tz','$dateformat','$timeformat') ".function_backtrace()."</p>\n";
|
||||
if (!empty($dateformat)) self::$user_dateformat = $dateformat;
|
||||
|
||||
switch($timeformat)
|
||||
{
|
||||
case '24':
|
||||
case '':
|
||||
break;
|
||||
case '24':
|
||||
self::$user_timeformat = 'H:i';
|
||||
break;
|
||||
case '12':
|
||||
@ -377,6 +379,54 @@ class egw_time extends DateTime
|
||||
self::$user_timezone = clone(self::$server_timezone);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return "beautified" timezone list:
|
||||
* - no depricated timezones
|
||||
* - return UTC and oceans at the end
|
||||
* - if (user lang is a european language), move Europe to top
|
||||
*
|
||||
* @return array continent|ocean => array(tz-name => tz-label incl. current time)
|
||||
*/
|
||||
public static function getTimezones()
|
||||
{
|
||||
// prepare list of timezones from php, ignoring depricated ones and sort as follows
|
||||
$tzs = array(
|
||||
'Africa' => array(), // Contients
|
||||
'America' => array(),
|
||||
'Asia' => array(),
|
||||
'Australia' => array(),
|
||||
'Europe' => array(),
|
||||
'Atlantic' => array(), // Oceans
|
||||
'Pacific' => array(),
|
||||
'Indian' => array(),
|
||||
'Antarctica' => array(), // Poles
|
||||
'Arctic' => array(),
|
||||
'UTC' => array('UTC' => 'UTC'),
|
||||
);
|
||||
foreach(DateTimeZone::listIdentifiers() as $name)
|
||||
{
|
||||
list($continent,$rest) = explode('/',$name,2);
|
||||
if (!isset($tzs[$continent])) continue; // old depricated timezones
|
||||
$datetime = new egw_time('now',new DateTimeZone($name));
|
||||
$tzs[$continent][$name] = str_replace(array('_','/'),array(' ',' / '),$name).' '.$datetime->format();
|
||||
unset($datetime);
|
||||
}
|
||||
foreach($tzs as $continent => &$data)
|
||||
{
|
||||
natcasesort($data); // sort cities
|
||||
}
|
||||
unset($data);
|
||||
|
||||
// if user lang or installed langs contain a european language --> move Europe to top of tz list
|
||||
$langs = $GLOBALS['egw']->translation->get_installed_langs();
|
||||
if (array_intersect(array($GLOBALS['egw_info']['user']['preferences']['common']['lang'])+array_keys($langs),
|
||||
array('de','fr','it','nl','bg','ca','cs','da','el','es-es','et','eu','fi','hr','hu','lt','no','pl','pt','sk','sl','sv','tr','uk')))
|
||||
{
|
||||
$tzs = array_merge(array('Europe' => $tzs['Europe']),$tzs);
|
||||
}
|
||||
return $tzs;
|
||||
}
|
||||
}
|
||||
egw_time::init();
|
||||
|
||||
|
359
preferences/inc/class.preferences_hooks.inc.php
Normal file
359
preferences/inc/class.preferences_hooks.inc.php
Normal file
@ -0,0 +1,359 @@
|
||||
<?php
|
||||
/**
|
||||
* EGroupware - Preferences hooks
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package preferences
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* Static hooks for preferences class
|
||||
*/
|
||||
class preferences_hooks
|
||||
{
|
||||
/**
|
||||
* Hook return common preferences settings
|
||||
*
|
||||
* @param string|array $hook_data
|
||||
* @return array
|
||||
*/
|
||||
static public function settings($hook_data)
|
||||
{
|
||||
// Setup some values to fill the array of this app's settings below
|
||||
$templates = common::list_templates();
|
||||
foreach($templates as $var => $value)
|
||||
{
|
||||
$_templates[$var] = $templates[$var]['title'];
|
||||
}
|
||||
|
||||
$themes = common::list_themes();
|
||||
foreach($themes as $value)
|
||||
{
|
||||
$_themes[$value] = $value;
|
||||
}
|
||||
|
||||
$navbar_format = array(
|
||||
'icons' => lang('Icons only'),
|
||||
'icons_and_text' => lang('Icons and text'),
|
||||
'text' => lang('Text only')
|
||||
);
|
||||
|
||||
$link_list_format = array(
|
||||
'icons' => lang('Icons only'),
|
||||
'icons_and_text' => lang('Icons and text'),
|
||||
'text' => lang('Text only')
|
||||
);
|
||||
|
||||
$langs = translation::get_installed_langs();
|
||||
|
||||
$tzs = egw_time::getTimezones();
|
||||
|
||||
$date_formats = array(
|
||||
'd.m.Y' => 'd.m.Y',
|
||||
'Y-m-d' => 'Y-m-d',
|
||||
'm/d/Y' => 'm/d/Y',
|
||||
'm-d-Y' => 'm-d-Y',
|
||||
'm.d.Y' => 'm.d.Y',
|
||||
'Y/d/m' => 'Y/d/m',
|
||||
'Y-d-m' => 'Y-d-m',
|
||||
'Y.d.m' => 'Y.d.m',
|
||||
'Y/m/d' => 'Y/m/d',
|
||||
'Y.m.d' => 'Y.m.d',
|
||||
'd/m/Y' => 'd/m/Y',
|
||||
'd-m-Y' => 'd-m-Y',
|
||||
'd-M-Y' => 'd-M-Y'
|
||||
);
|
||||
|
||||
$time_formats = array(
|
||||
'12' => lang('12 hour'),
|
||||
'24' => lang('24 hour')
|
||||
);
|
||||
|
||||
$html_enter_mode = array(
|
||||
'p' => lang('p: Paragraph'),
|
||||
'div' => lang('div'),
|
||||
'br' => lang('br')
|
||||
);
|
||||
|
||||
$rich_text_editor_skins = array(
|
||||
'default' => lang ('Default theme'),
|
||||
'office2003' => lang ('Office 2003 theme'),
|
||||
'silver' => lang ('Silver theme')
|
||||
);
|
||||
|
||||
$user_apps = array();
|
||||
foreach($GLOBALS['egw_info']['user']['apps'] as $app => $data)
|
||||
{
|
||||
if($GLOBALS['egw_info']['apps'][$app]['status'] != 2 && $app)
|
||||
{
|
||||
$user_apps[$app] = $GLOBALS['egw_info']['apps'][$app]['title'] ? $GLOBALS['egw_info']['apps'][$app]['title'] : lang($app);
|
||||
}
|
||||
}
|
||||
|
||||
$account_sels = array(
|
||||
'selectbox' => lang('Selectbox'),
|
||||
'primary_group' => lang('Selectbox with primary group and search'),
|
||||
'popup' => lang('Popup with search'),
|
||||
'groupmembers' => lang('Selectbox with groupmembers'),
|
||||
'none' => lang('No user-selection at all'),
|
||||
);
|
||||
|
||||
$account_display = array(
|
||||
'firstname' => lang('Firstname'). ' '.lang('Lastname'),
|
||||
'lastname' => lang('Lastname').', '.lang('Firstname'),
|
||||
'username' => lang('username'),
|
||||
'firstall' => lang('Firstname').' '.lang('Lastname').' ['.lang('username').']',
|
||||
'lastall' => lang('Lastname').', '.lang('Firstname').' ['.lang('username').']',
|
||||
'allfirst' => '['.lang('username').'] '.lang('Firstname').' '.lang('Lastname'),
|
||||
'all' => '['.lang('username').'] '.lang('Lastname').','.lang('Firstname'),
|
||||
);
|
||||
|
||||
// Settings array for this app
|
||||
$settings = array(
|
||||
'maxmatchs' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'Max matches per page',
|
||||
'name' => 'maxmatchs',
|
||||
'help' => 'Any listing in eGW will show you this number of entries or lines per page.<br>To many slow down the page display, to less will cost you the overview.',
|
||||
'size' => 3,
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'template_set' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Interface/Template Selection',
|
||||
'name' => 'template_set',
|
||||
'values' => $_templates,
|
||||
'help' => 'A template defines the layout of eGroupWare and it contains icons for each application.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'theme' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Theme (colors/fonts) Selection',
|
||||
'name' => 'theme',
|
||||
'values' => $_themes,
|
||||
'help' => 'A theme defines the colors and fonts used by the template.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'navbar_format' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Show navigation bar as',
|
||||
'name' => 'navbar_format',
|
||||
'values' => $navbar_format,
|
||||
'help' => 'You can show the applications as icons only, icons with app-name or both.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'link_list_format' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Show links between eGroupWare aps as',
|
||||
'name' => 'link_list_format',
|
||||
'values' => $link_list_format,
|
||||
'help' => 'You can show the linked entries with icons only, icons with app-name or both.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'link_list_thumbnail' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Display thumbnails for linked images',
|
||||
'name' => 'link_list_thumbnail',
|
||||
'values' => array(
|
||||
'1' => lang('Yes'),
|
||||
'0' => lang('No'),
|
||||
),
|
||||
'help' => 'Images linked to an entry can be displayed as thumbnails. You can turn this off to speed up page display.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'tz' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Time zone',
|
||||
'name' => 'tz',
|
||||
'values' => $tzs,
|
||||
'help' => 'Please select your timezone.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'tz_selection' => array(
|
||||
'type' => 'multiselect',
|
||||
'label' => 'Permanent time zone selection',
|
||||
'name' => 'tz_selection',
|
||||
'values' => call_user_func_array('array_merge',$tzs), // only flat arrays supported
|
||||
'help' => 'Please select timezones, you want to be able to quickly switch between. Switch is NOT shown, if less then two are selected.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'dateformat' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Date format',
|
||||
'name' => 'dateformat',
|
||||
'values' => $date_formats,
|
||||
'help' => 'How should eGroupWare display dates for you.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'timeformat' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Time format',
|
||||
'name' => 'timeformat',
|
||||
'values' => $time_formats,
|
||||
'help' => 'Do you prefer a 24 hour time format, or a 12 hour one with am/pm attached.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'country' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Country',
|
||||
'name' => 'country',
|
||||
'values' => ExecMethod('phpgwapi.country.countries'),
|
||||
'help' => 'In which country are you. This is used to set certain defaults for you.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'lang' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Language',
|
||||
'name' => 'lang',
|
||||
'values' => $langs,
|
||||
'help' => 'Select the language of texts and messages within eGroupWare.<br>Some languages may not contain all messages, in that case you will see an english message.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'spellchecker_lang' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Spellchecker language',
|
||||
'name' => 'spellchecker_lang',
|
||||
'values' => $langs,
|
||||
'help' => 'Select the language of the spellchecker integrated into the rich text editor.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'rte_enter_mode' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Rich text editor enter mode',
|
||||
'name' => 'rte_enter_mode',
|
||||
'values' => $html_enter_mode,
|
||||
'help' => 'Select how the rich text editor will generate the enter (linebreak) tag.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'rte_skin' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Rich text editor theme',
|
||||
'name' => 'rte_skin',
|
||||
'values' => $rich_text_editor_skins,
|
||||
'help' => 'Select the theme (visualization) of the rich text editor.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_currentusers' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Show number of current users',
|
||||
'name' => 'show_currentusers',
|
||||
'help' => 'Should the number of active sessions be displayed for you all the time.',
|
||||
'xmlrpc' => False,
|
||||
'admin' => True
|
||||
),
|
||||
'default_app' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Default application',
|
||||
'name' => 'default_app',
|
||||
'values' => $user_apps,
|
||||
'help' => "The default application will be started when you enter eGroupWare or click on the homepage icon.<br>You can also have more than one application showing up on the homepage, if you don't choose a specific application here (has to be configured in the preferences of each application).",
|
||||
'xmlrpc' => False,
|
||||
'admin' => False
|
||||
),
|
||||
'currency' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'Currency',
|
||||
'name' => 'currency',
|
||||
'help' => 'Which currency symbol or name should be used in eGroupWare.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'account_selection' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'How do you like to select accounts',
|
||||
'name' => 'account_selection',
|
||||
'values' => $account_sels,
|
||||
'help' => lang('The selectbox shows all available users (can be very slow on big installs with many users). The popup can search users by name or group.').' '.
|
||||
lang('The two last options limit the visibility of other users. Therefore they should be forced and apply NOT to administrators.'),
|
||||
'run_lang' => false,
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'account_display' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'How do you like to display accounts',
|
||||
'name' => 'account_display',
|
||||
'values' => $account_display,
|
||||
'help' => 'Set this to your convenience. For security reasons, you might not want to show your Loginname in public.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_help' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Show helpmessages by default',
|
||||
'name' => 'show_help',
|
||||
'help' => 'Should this help messages shown up always, when you enter the preferences or only on request.',
|
||||
'xmlrpc' => False,
|
||||
'admin' => False
|
||||
),
|
||||
'enable_dragdrop' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Enable drag and drop functionality (experimental)',
|
||||
'name' => 'enable_dragdrop',
|
||||
'help' => 'Enables or disables drag and drop functions in all applications. If the browser does not support '.
|
||||
'drag and drop, it will be disabled automatically. This feature is experimental at the moment.',
|
||||
'xmlrpc' => False,
|
||||
'admin' => False
|
||||
),
|
||||
'csv_charset' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Charset for the CSV export',
|
||||
'name' => 'csv_charset',
|
||||
'values' => translation::get_installed_charsets()+array('utf-8' => 'utf-8 (Unicode)'),
|
||||
'help' => 'Which charset should be used for the CSV export. The system default is the charset of this eGroupWare installation.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
),
|
||||
);
|
||||
// disable thumbnails, if no size configured by admin
|
||||
if (!$GLOBALS['egw_info']['server']['link_list_thumbnail']) unset($settings['link_list_thumbnail']);
|
||||
|
||||
return $settings;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook to return preferences menu items
|
||||
*
|
||||
* @param string|array $hook_data
|
||||
*/
|
||||
public static function preferences($hook_data)
|
||||
{
|
||||
if (!$GLOBALS['egw']->acl->check('nopasswordchange',1))
|
||||
{
|
||||
$file['Change your Password'] = $GLOBALS['egw']->link('/index.php','menuaction=preferences.uipassword.change');
|
||||
}
|
||||
$file['common preferences'] = $GLOBALS['egw']->link('/index.php','menuaction=preferences.uisettings.index&appname=preferences');
|
||||
|
||||
display_section('preferences',$file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook called when a user gets deleted, to delete his preferences
|
||||
*
|
||||
* @param string|array $hook_data
|
||||
*/
|
||||
public static function deleteaccount($hook_data)
|
||||
{
|
||||
if((int)$GLOBALS['hook_values']['account_id'] > 0)
|
||||
{
|
||||
$GLOBALS['egw']->preferences->delete_user($GLOBALS['hook_values']['account_id']);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Mark Peters <skeeter@phpgroupware.org> *
|
||||
* -------------------------------------------- *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
// Delete all prefs of a user
|
||||
if((int)$GLOBALS['hook_values']['account_id'] > 0)
|
||||
{
|
||||
$GLOBALS['egw']->preferences->delete_user($GLOBALS['hook_values']['account_id']);
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Joseph Engo <jengo@phpgroupware.org> *
|
||||
* -------------------------------------------- *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
if (!$GLOBALS['egw']->acl->check('nopasswordchange',1))
|
||||
{
|
||||
$file['Change your Password'] = $GLOBALS['egw']->link('/index.php','menuaction=preferences.uipassword.change');
|
||||
}
|
||||
$file['common preferences'] = $GLOBALS['egw']->link('/index.php','menuaction=preferences.uisettings.index&appname=preferences');
|
||||
|
||||
display_section('preferences',$file);
|
||||
?>
|
@ -1,365 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* EGroupware - Preferences
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package preferences
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/* Setup some values to fill the array of this app's settings below */
|
||||
$templates = $GLOBALS['egw']->common->list_templates();
|
||||
foreach($templates as $var => $value)
|
||||
{
|
||||
$_templates[$var] = $templates[$var]['title'];
|
||||
}
|
||||
|
||||
$themes = $GLOBALS['egw']->common->list_themes();
|
||||
foreach($themes as $value)
|
||||
{
|
||||
$_themes[$value] = $value;
|
||||
}
|
||||
|
||||
$navbar_format = array(
|
||||
'icons' => lang('Icons only'),
|
||||
'icons_and_text' => lang('Icons and text'),
|
||||
'text' => lang('Text only')
|
||||
);
|
||||
|
||||
$link_list_format = array(
|
||||
'icons' => lang('Icons only'),
|
||||
'icons_and_text' => lang('Icons and text'),
|
||||
'text' => lang('Text only')
|
||||
);
|
||||
|
||||
$format = $GLOBALS['egw_info']['user']['preferences']['common']['dateformat'];
|
||||
$format = ($format ? $format : 'Y/m/d') . ', ';
|
||||
if($GLOBALS['egw_info']['user']['preferences']['common']['timeformat'] == '12')
|
||||
{
|
||||
$format .= 'h:i a';
|
||||
}
|
||||
else
|
||||
{
|
||||
$format .= 'H:i';
|
||||
}
|
||||
/*
|
||||
for($i = -23.5; $i < 24.0; $i += 0.5)
|
||||
{
|
||||
$t = time() + round($i * 3600);
|
||||
$tz_offset[(string)$i] = sprintf('%3.1lf',$i) . ' ' . lang('hours').': ' . date($format,$t);
|
||||
}
|
||||
*/
|
||||
// prepare list of timezones from php, ignoring depricated ones and sort as follows
|
||||
$tzs = array(
|
||||
'Africa' => array(), // Contients
|
||||
'America' => array(),
|
||||
'Asia' => array(),
|
||||
'Australia' => array(),
|
||||
'Europe' => array(),
|
||||
'Atlantic' => array(), // Oceans
|
||||
'Pacific' => array(),
|
||||
'Indian' => array(),
|
||||
'Antarctica' => array(), // Poles
|
||||
'Arctic' => array(),
|
||||
'UTC' => array('UTC' => 'UTC'),
|
||||
);
|
||||
foreach(DateTimeZone::listIdentifiers() as $name)
|
||||
{
|
||||
list($continent,$rest) = explode('/',$name,2);
|
||||
if (!isset($tzs[$continent])) continue; // old depricated timezones
|
||||
$datetime = new DateTime('now',new DateTimeZone($name));
|
||||
$tzs[$continent][$name] = str_replace(array('_','/'),array(' ',' / '),$name).' '.$datetime->format($format);
|
||||
unset($datetime);
|
||||
}
|
||||
foreach($tzs as $continent => &$data)
|
||||
{
|
||||
natcasesort($data); // sort cities
|
||||
}
|
||||
unset($data);
|
||||
|
||||
// if user lang or installed langs contain a european language --> move Europe to top of tz list
|
||||
$langs = $GLOBALS['egw']->translation->get_installed_langs();
|
||||
if (array_intersect(array($GLOBALS['egw_info']['user']['preferences']['common']['lang'])+array_keys($langs),
|
||||
array('de','fr','it','nl','bg','ca','cs','da','el','es-es','et','eu','fi','hr','hu','lt','no','pl','pt','sk','sl','sv','tr','uk')))
|
||||
{
|
||||
$tzs = array_merge(array('Europe' => $tzs['Europe']),$tzs);
|
||||
}
|
||||
|
||||
$date_formats = array(
|
||||
'd.m.Y' => 'd.m.Y',
|
||||
'Y-m-d' => 'Y-m-d',
|
||||
'm/d/Y' => 'm/d/Y',
|
||||
'm-d-Y' => 'm-d-Y',
|
||||
'm.d.Y' => 'm.d.Y',
|
||||
'Y/d/m' => 'Y/d/m',
|
||||
'Y-d-m' => 'Y-d-m',
|
||||
'Y.d.m' => 'Y.d.m',
|
||||
'Y/m/d' => 'Y/m/d',
|
||||
'Y.m.d' => 'Y.m.d',
|
||||
'd/m/Y' => 'd/m/Y',
|
||||
'd-m-Y' => 'd-m-Y',
|
||||
'd-M-Y' => 'd-M-Y'
|
||||
);
|
||||
|
||||
$time_formats = array(
|
||||
'12' => lang('12 hour'),
|
||||
'24' => lang('24 hour')
|
||||
);
|
||||
|
||||
$html_enter_mode = array(
|
||||
'p' => lang('p: Paragraph'),
|
||||
'div' => lang('div'),
|
||||
'br' => lang('br')
|
||||
);
|
||||
|
||||
$rich_text_editor_skins = array(
|
||||
'default' => lang ('Default theme'),
|
||||
'office2003' => lang ('Office 2003 theme'),
|
||||
'silver' => lang ('Silver theme')
|
||||
);
|
||||
|
||||
$user_apps = array();
|
||||
foreach($GLOBALS['egw_info']['user']['apps'] as $app => $data)
|
||||
{
|
||||
if($GLOBALS['egw_info']['apps'][$app]['status'] != 2 && $app)
|
||||
{
|
||||
$user_apps[$app] = $GLOBALS['egw_info']['apps'][$app]['title'] ? $GLOBALS['egw_info']['apps'][$app]['title'] : lang($app);
|
||||
}
|
||||
}
|
||||
|
||||
$account_sels = array(
|
||||
'selectbox' => lang('Selectbox'),
|
||||
'primary_group' => lang('Selectbox with primary group and search'),
|
||||
'popup' => lang('Popup with search'),
|
||||
'groupmembers' => lang('Selectbox with groupmembers'),
|
||||
'none' => lang('No user-selection at all'),
|
||||
);
|
||||
|
||||
$account_display = array(
|
||||
'firstname' => lang('Firstname'). ' '.lang('Lastname'),
|
||||
'lastname' => lang('Lastname').', '.lang('Firstname'),
|
||||
'username' => lang('username'),
|
||||
'firstall' => lang('Firstname').' '.lang('Lastname').' ['.lang('username').']',
|
||||
'lastall' => lang('Lastname').', '.lang('Firstname').' ['.lang('username').']',
|
||||
'allfirst' => '['.lang('username').'] '.lang('Firstname'). ' '.lang('Lastname'),
|
||||
'all' => '['.lang('username').'] '.lang('Lastname').',
|
||||
'.lang('Firstname'),
|
||||
);
|
||||
|
||||
/* Settings array for this app */
|
||||
$GLOBALS['settings'] = array(
|
||||
'maxmatchs' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'Max matches per page',
|
||||
'name' => 'maxmatchs',
|
||||
'help' => 'Any listing in eGW will show you this number of entries or lines per page.<br>To many slow down the page display, to less will cost you the overview.',
|
||||
'size' => 3,
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'template_set' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Interface/Template Selection',
|
||||
'name' => 'template_set',
|
||||
'values' => $_templates,
|
||||
'help' => 'A template defines the layout of eGroupWare and it contains icons for each application.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'theme' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Theme (colors/fonts) Selection',
|
||||
'name' => 'theme',
|
||||
'values' => $_themes,
|
||||
'help' => 'A theme defines the colors and fonts used by the template.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'navbar_format' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Show navigation bar as',
|
||||
'name' => 'navbar_format',
|
||||
'values' => $navbar_format,
|
||||
'help' => 'You can show the applications as icons only, icons with app-name or both.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'link_list_format' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Show links between eGroupWare aps as',
|
||||
'name' => 'link_list_format',
|
||||
'values' => $link_list_format,
|
||||
'help' => 'You can show the linked entries with icons only, icons with app-name or both.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'link_list_thumbnail' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Display thumbnails for linked images',
|
||||
'name' => 'link_list_thumbnail',
|
||||
'values' => array(
|
||||
'1' => lang('Yes'),
|
||||
'0' => lang('No'),
|
||||
),
|
||||
'help' => 'Images linked to an entry can be displayed as thumbnails. You can turn this off to speed up page display.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
/*
|
||||
'tz_offset' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Time zone offset',
|
||||
'name' => 'tz_offset',
|
||||
'values' => $tz_offset,
|
||||
'help' => 'How many hours are you in front or after the timezone of the server.<br>If you are in the same time zone as the server select 0 hours, else select your locale date and time.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
*/
|
||||
'tz' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Time zone',
|
||||
'name' => 'tz',
|
||||
'values' => $tzs,
|
||||
'help' => 'Please select your timezone.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'dateformat' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Date format',
|
||||
'name' => 'dateformat',
|
||||
'values' => $date_formats,
|
||||
'help' => 'How should eGroupWare display dates for you.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'timeformat' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Time format',
|
||||
'name' => 'timeformat',
|
||||
'values' => $time_formats,
|
||||
'help' => 'Do you prefer a 24 hour time format, or a 12 hour one with am/pm attached.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'country' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Country',
|
||||
'name' => 'country',
|
||||
'values' => ExecMethod('phpgwapi.country.countries'),
|
||||
'help' => 'In which country are you. This is used to set certain defaults for you.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'lang' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Language',
|
||||
'name' => 'lang',
|
||||
'values' => $langs,
|
||||
'help' => 'Select the language of texts and messages within eGroupWare.<br>Some languages may not contain all messages, in that case you will see an english message.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'spellchecker_lang' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Spellchecker language',
|
||||
'name' => 'spellchecker_lang',
|
||||
'values' => $langs,
|
||||
'help' => 'Select the language of the spellchecker integrated into the rich text editor.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'rte_enter_mode' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Rich text editor enter mode',
|
||||
'name' => 'rte_enter_mode',
|
||||
'values' => $html_enter_mode,
|
||||
'help' => 'Select how the rich text editor will generate the enter (linebreak) tag.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'rte_skin' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Rich text editor theme',
|
||||
'name' => 'rte_skin',
|
||||
'values' => $rich_text_editor_skins,
|
||||
'help' => 'Select the theme (visualization) of the rich text editor.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_currentusers' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Show number of current users',
|
||||
'name' => 'show_currentusers',
|
||||
'help' => 'Should the number of active sessions be displayed for you all the time.',
|
||||
'xmlrpc' => False,
|
||||
'admin' => True
|
||||
),
|
||||
'default_app' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Default application',
|
||||
'name' => 'default_app',
|
||||
'values' => $user_apps,
|
||||
'help' => "The default application will be started when you enter eGroupWare or click on the homepage icon.<br>You can also have more than one application showing up on the homepage, if you don't choose a specific application here (has to be configured in the preferences of each application).",
|
||||
'xmlrpc' => False,
|
||||
'admin' => False
|
||||
),
|
||||
'currency' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'Currency',
|
||||
'name' => 'currency',
|
||||
'help' => 'Which currency symbol or name should be used in eGroupWare.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'account_selection' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'How do you like to select accounts',
|
||||
'name' => 'account_selection',
|
||||
'values' => $account_sels,
|
||||
'help' => lang('The selectbox shows all available users (can be very slow on big installs with many users). The popup can search users by name or group.').' '.
|
||||
lang('The two last options limit the visibility of other users. Therefore they should be forced and apply NOT to administrators.'),
|
||||
'run_lang' => false,
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'account_display' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'How do you like to display accounts',
|
||||
'name' => 'account_display',
|
||||
'values' => $account_display,
|
||||
'help' => 'Set this to your convenience. For security reasons, you might not want to show your Loginname in public.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False
|
||||
),
|
||||
'show_help' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Show helpmessages by default',
|
||||
'name' => 'show_help',
|
||||
'help' => 'Should this help messages shown up always, when you enter the preferences or only on request.',
|
||||
'xmlrpc' => False,
|
||||
'admin' => False
|
||||
),
|
||||
'enable_dragdrop' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Enable drag and drop functionality (experimental)',
|
||||
'name' => 'enable_dragdrop',
|
||||
'help' => 'Enables or disables drag and drop functions in all applications. If the browser does not support '.
|
||||
'drag and drop, it will be disabled automatically. This feature is experimental at the moment.',
|
||||
'xmlrpc' => False,
|
||||
'admin' => False
|
||||
),
|
||||
'csv_charset' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Charset for the CSV export',
|
||||
'name' => 'csv_charset',
|
||||
'values' => $GLOBALS['egw']->translation->get_installed_charsets()+array('utf-8' => 'utf-8 (Unicode)'),
|
||||
'help' => 'Which charset should be used for the CSV export. The system default is the charset of this eGroupWare installation.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
),
|
||||
);
|
||||
// disable thumbnails, if no size configured by admin
|
||||
if (!$GLOBALS['egw_info']['server']['link_list_thumbnail']) unset($GLOBALS['settings']['link_list_thumbnail']);
|
@ -11,17 +11,16 @@
|
||||
|
||||
$setup_info['preferences']['name'] = 'preferences';
|
||||
$setup_info['preferences']['title'] = 'Preferences';
|
||||
$setup_info['preferences']['version'] = '1.6';
|
||||
$setup_info['preferences']['version'] = '1.7';
|
||||
$setup_info['preferences']['app_order'] = 1;
|
||||
$setup_info['preferences']['tables'] = '';
|
||||
$setup_info['preferences']['enable'] = 2;
|
||||
|
||||
/* The hooks this app includes, needed for hooks registration */
|
||||
$setup_info['preferences']['hooks'][] = 'deleteaccount';
|
||||
$setup_info['preferences']['hooks'][] = 'config';
|
||||
$setup_info['preferences']['hooks'][] = 'preferences';
|
||||
$setup_info['preferences']['hooks'][] = 'settings';
|
||||
$setup_info['preferences']['hooks']['edit_user'] = 'preferences.uisettings.edit_user';
|
||||
$setup_info['preferences']['hooks']['deleteaccount'] = 'preferences_hooks::deleteaccount';
|
||||
$setup_info['preferences']['hooks']['preferences'] = 'preferences_hooks::preferences';
|
||||
$setup_info['preferences']['hooks']['settings'] = 'preferences_hooks::settings';
|
||||
$setup_info['preferences']['hooks']['edit_user'] = 'preferences.uisettings.edit_user';
|
||||
|
||||
/* Dependencies for this app to work */
|
||||
$setup_info['preferences']['depends'][] = array(
|
||||
|
Loading…
Reference in New Issue
Block a user