mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-25 17:33:49 +01:00
Rework common preferences
- Better grouping - Added preferences for rich text editor - Font - Font size Take effect on new, blank editors. Existing data is untouched.
This commit is contained in:
parent
6a2b8882de
commit
3ee18797b0
@ -18,6 +18,38 @@ class egw_ckeditor_config
|
||||
private static $enterMode = null;
|
||||
private static $skin = null;
|
||||
|
||||
// Defaults, defined in phpgwapi/js/ckeditor3/_source/plugins/font/plugin.js
|
||||
public static $font_options = array(
|
||||
'arial, helvetica, sans-serif' => 'Arial',
|
||||
'Comic Sans MS, cursive' => 'Comic Sans MS',
|
||||
'Courier New, Courier, monospace' => 'Courier New',
|
||||
'Georgia, serif' => 'Georgia',
|
||||
'Lucida Sans Unicode, Lucida Grande, sans-serif' => 'Lucida Sans Unicode',
|
||||
'Tahoma, Geneva, sans-serif' => 'Tahoma',
|
||||
'times new roman, times, serif' => 'Times New Roman',
|
||||
'Trebuchet MS, Helvetica, sans-serif' => 'Trebuchet MS',
|
||||
'Verdana, Geneva, sans-serif' => 'Verdana'
|
||||
);
|
||||
public static $font_size_options = array(
|
||||
'8px' => '8',
|
||||
'9px' => '9',
|
||||
'10px' => '10',
|
||||
'11px' => '11',
|
||||
'12px' => '12',
|
||||
'14px' => '14',
|
||||
'16px' => '16',
|
||||
'18px' => '18',
|
||||
'20px' => '20',
|
||||
'22px' => '22',
|
||||
'24px' => '24',
|
||||
'26px' => '26',
|
||||
'28px' => '28',
|
||||
'36px' => '36',
|
||||
'48px' => '48',
|
||||
'72px' => '72'
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* Read language and country settings for the ckeditor and store them in static
|
||||
* variables
|
||||
|
@ -295,7 +295,7 @@ class html
|
||||
if($enhanced) {
|
||||
egw_framework::validate_file('/phpgwapi/js/jquery/chosen/chosen.jquery.js');
|
||||
egw_framework::includeCSS('/phpgwapi/js/jquery/chosen/chosen.css',null,false);
|
||||
$out .= "<script>\$j(function() {\$j('select[name=\"$name\"]').chosen();});</script>\n";
|
||||
$out .= "<script>\$j(function() {if(\$j().chosen) \$j('select[name=\"$name\"]').chosen();});</script>\n";
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
@ -333,7 +333,7 @@ class html
|
||||
}
|
||||
$base_name = substr($name,0,-2);
|
||||
|
||||
if($enhanced) return self::select($name, $key, $arr,$no_lang,$options,$multiple,$enhanced);
|
||||
if($enhanced) return self::select($name, $key, $arr,$no_lang,$options." style=\"$style\" ",$multiple,$enhanced);
|
||||
|
||||
if (!is_array($key))
|
||||
{
|
||||
@ -544,6 +544,10 @@ class html
|
||||
$pxheight = (strpos('px', $_height) === false) ?
|
||||
(empty($_height) ? 400 : $_height) : str_replace('px', '', $_height);
|
||||
|
||||
// User preferences
|
||||
$font = $GLOBALS['egw_info']['user']['preferences']['common']['rte_font'];
|
||||
+ $font_size = $GLOBALS['egw_info']['user']['preferences']['common']['rte_font_size'];
|
||||
|
||||
// we need to enable double encoding here, as ckEditor has to undo one level of encoding
|
||||
// otherwise < and > chars eg. from html markup entered in regular (not source) input, will turn into html!
|
||||
return self::textarea($_name,$_content,'id="'.htmlspecialchars($_name).'"',true). // true = double encoding
|
||||
@ -558,7 +562,8 @@ class html
|
||||
{
|
||||
ev.editor.resize("100%", '.str_replace('px', '', $pxheight).');
|
||||
}
|
||||
);
|
||||
);'.
|
||||
(trim($_content) == '' ? 'CKEDITOR.instances["'.$_name.'"].setData("<span style=\"font-family:'.$font.';font-size:'.$font_size.';\">​</span>");' : '').'
|
||||
</script>
|
||||
';
|
||||
}
|
||||
|
@ -108,6 +108,10 @@ class preferences_hooks
|
||||
}
|
||||
// Settings array for this app
|
||||
$settings = array(
|
||||
array(
|
||||
'type' => 'section',
|
||||
'title' => 'Look & feel'
|
||||
),
|
||||
'maxmatchs' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'Max matches per page',
|
||||
@ -184,6 +188,89 @@ class preferences_hooks
|
||||
'admin' => False,
|
||||
'default' => 'EGW_SELECTMODE_DEFAULT',
|
||||
),
|
||||
'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,
|
||||
'default'=> 'primary_group'
|
||||
),
|
||||
'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,
|
||||
'default'=> 'lastname',
|
||||
),
|
||||
'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,
|
||||
'forced' => true,
|
||||
),
|
||||
'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,
|
||||
'default'=> True,
|
||||
),
|
||||
'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,
|
||||
'forced' => true,
|
||||
),
|
||||
'enable_ie_dropdownmenuhack' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Enable selectbox dropdown resizing for IE (experimental)',
|
||||
'name' => 'enable_ie_dropdownmenuhack',
|
||||
'help' => 'Enables or disables selectbox dropdown resizing for IE in all applications. If the browser is not an IE, the option will not apply. This feature is experimental at the moment.',
|
||||
'xmlrpc' => False,
|
||||
'admin' => False,
|
||||
'forced' => false,
|
||||
),
|
||||
array(
|
||||
'type' => 'section',
|
||||
'title' => 'Formatting & general settings'
|
||||
),
|
||||
'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,
|
||||
'default'=> $lang,
|
||||
),
|
||||
'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,
|
||||
'default'=> strtoupper($country),
|
||||
),
|
||||
'tz' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Time zone',
|
||||
@ -224,25 +311,63 @@ class preferences_hooks
|
||||
'admin' => False,
|
||||
'default'=> 24,
|
||||
),
|
||||
'country' => array(
|
||||
'number_format' => 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.',
|
||||
'label' => 'Number format',
|
||||
'name' => 'number_format',
|
||||
'values' => array(
|
||||
'.' => '1234.56',
|
||||
',' => '1234,56',
|
||||
'.,' => '1,234.56',
|
||||
',.' => '1.234,56',
|
||||
'. ' => '1 234.56',
|
||||
', ' => '1 234,56',
|
||||
),
|
||||
'help' => 'Thousands separator is only used for displaying and not for editing numbers.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
'default'=> strtoupper($country),
|
||||
'admin' => false,
|
||||
'default'=> '.',
|
||||
),
|
||||
'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.',
|
||||
'currency' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'Currency',
|
||||
'name' => 'currency',
|
||||
'help' => 'Which currency symbol or name should be used in eGroupWare.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
'default'=> $lang,
|
||||
'default'=> $lang == 'en' ? '$' : 'EUR',
|
||||
),
|
||||
'csv_charset' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Charset for the CSV export/import',
|
||||
'name' => 'csv_charset',
|
||||
'values' => translation::get_installed_charsets(),
|
||||
'help' => 'Which charset should be used for the CSV export. The system default is the charset of this eGroupWare installation.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> 'iso-8859-1',
|
||||
),
|
||||
array(
|
||||
'type' => 'section',
|
||||
'title' => 'Text editor settings'
|
||||
),
|
||||
'rte_font' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Default font',
|
||||
'name' => 'rte_font',
|
||||
'values' => egw_ckeditor_config::$font_options,
|
||||
'help' => 'Automatically start with this font',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false
|
||||
),
|
||||
'rte_font_size' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Default font size',
|
||||
'name' => 'rte_font_size',
|
||||
'values' => egw_ckeditor_config::$font_size_options,
|
||||
'help' => 'Automatically start with this font size',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false
|
||||
),
|
||||
'spellchecker_lang' => array(
|
||||
'type' => 'select',
|
||||
@ -274,14 +399,14 @@ class preferences_hooks
|
||||
'admin' => False,
|
||||
'forced' => 'office2003',
|
||||
),
|
||||
'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,
|
||||
'forced' => true,
|
||||
'rte_features' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Features of the editor',
|
||||
'name' => 'rte_features',
|
||||
'values' => array('simple'=>'simple','extended'=>'regular','advanced'=>'everything'),
|
||||
'help' => '',
|
||||
'admin' => false,
|
||||
'default'=> 'simple'
|
||||
),
|
||||
'default_app' => array(
|
||||
'type' => 'select',
|
||||
@ -293,93 +418,6 @@ class preferences_hooks
|
||||
'admin' => False,
|
||||
'default'=> '',
|
||||
),
|
||||
'currency' => array(
|
||||
'type' => 'input',
|
||||
'label' => 'Currency',
|
||||
'name' => 'currency',
|
||||
'help' => 'Which currency symbol or name should be used in eGroupWare.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
'default'=> $lang == 'en' ? '$' : 'EUR',
|
||||
),
|
||||
'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,
|
||||
'default'=> 'primary_group'
|
||||
),
|
||||
'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,
|
||||
'default'=> 'lastname',
|
||||
),
|
||||
'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,
|
||||
'default'=> True,
|
||||
),
|
||||
'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,
|
||||
'forced' => true,
|
||||
),
|
||||
'enable_ie_dropdownmenuhack' => array(
|
||||
'type' => 'check',
|
||||
'label' => 'Enable selectbox dropdown resizing for IE (experimental)',
|
||||
'name' => 'enable_ie_dropdownmenuhack',
|
||||
'help' => 'Enables or disables selectbox dropdown resizing for IE in all applications. If the browser is not an IE '.
|
||||
', the option will not apply. This feature is experimental at the moment.',
|
||||
'xmlrpc' => False,
|
||||
'admin' => False,
|
||||
'forced' => false,
|
||||
),
|
||||
'csv_charset' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Charset for the CSV export/import',
|
||||
'name' => 'csv_charset',
|
||||
'values' => translation::get_installed_charsets(),
|
||||
'help' => 'Which charset should be used for the CSV export. The system default is the charset of this eGroupWare installation.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> 'iso-8859-1',
|
||||
),
|
||||
'number_format' => array(
|
||||
'type' => 'select',
|
||||
'label' => 'Number format',
|
||||
'name' => 'number_format',
|
||||
'values' => array(
|
||||
'.' => '1234.56',
|
||||
',' => '1234,56',
|
||||
'.,' => '1,234.56',
|
||||
',.' => '1.234,56',
|
||||
'. ' => '1 234.56',
|
||||
', ' => '1 234,56',
|
||||
),
|
||||
'help' => 'Thousands separator is only used for displaying and not for editing numbers.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> '.',
|
||||
),
|
||||
);
|
||||
// disable thumbnails, if no size configured by admin
|
||||
if (!$GLOBALS['egw_info']['server']['link_list_thumbnail']) unset($settings['link_list_thumbnail']);
|
||||
|
Loading…
Reference in New Issue
Block a user