diff options
author | Andreas Gohr <andi@splitbrain.org> | 2007-05-13 11:03:09 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2007-05-13 11:03:09 +0200 |
commit | 76ae5803f4b2f129b8a3445f4cbd2ead6b663391 (patch) | |
tree | 179cd289769275f0ff6780235df8481b63616f62 | |
parent | 57d757d195f73c836bb15fc1cd1d01fa0dcc75b1 (diff) | |
download | rpg-76ae5803f4b2f129b8a3445f4cbd2ead6b663391.tar.gz rpg-76ae5803f4b2f129b8a3445f4cbd2ead6b663391.tar.bz2 |
Fix for non removable proxy settings in config manager FS#1123
darcs-hash:20070513090309-7ad00-d620a992ce3a014ebc956d20d6b3ee97e2b9fefc.gz
-rw-r--r-- | lib/plugins/config/settings/config.class.php | 7 | ||||
-rw-r--r-- | lib/plugins/config/settings/config.metadata.php | 9 |
2 files changed, 12 insertions, 4 deletions
diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 203e9dd8f..9b07ca9c8 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -500,6 +500,13 @@ if (!class_exists('setting_numeric')) { } } +if (!class_exists('setting_numericopt')) { + class setting_numericopt extends setting_numeric { + // just allow an empty config + var $_pattern = '/^(|[-]?[0-9]+(?:[-+*][0-9]+)*)$/'; + } +} + if (!class_exists('setting_onoff')) { class setting_onoff extends setting_numeric { diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index 65e74dd7d..dd7a6c874 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -16,6 +16,7 @@ * '' - default class ('setting'), textarea, minimal input validation, setting output in quotes * 'string' - single line text input, minimal input validation, setting output in quotes * 'numeric' - text input, accepts numbers and arithmetic operators, setting output without quotes + * 'numericopt' - like above, but accepts empty values * 'onoff' - checkbox input, setting output 0|1 * 'multichoice' - select input (single choice), setting output with quotes, required _choices parameter * 'email' - text input, input must conform to email address format, setting output in quotes @@ -170,14 +171,14 @@ $meta['rss_show_summary'] = array('onoff'); $meta['broken_iua'] = array('onoff'); $meta['_network'] = array('fieldset'); -$meta['proxy____host'] = array('string','_pattern' => '#^[a-z0-9\-\.+]+?#i'); -$meta['proxy____port'] = array('numeric'); +$meta['proxy____host'] = array('string','_pattern' => '#^(|[a-z0-9\-\.+]+)$#i'); +$meta['proxy____port'] = array('numericopt'); $meta['proxy____user'] = array('string'); $meta['proxy____pass'] = array('password'); $meta['proxy____ssl'] = array('onoff'); $meta['safemodehack'] = array('onoff'); -$meta['ftp____host'] = array('string','_pattern' => '#^[a-z0-9\-\.+]+?#i'); -$meta['ftp____port'] = array('numeric'); +$meta['ftp____host'] = array('string','_pattern' => '#^(|[a-z0-9\-\.+]+)$#i'); +$meta['ftp____port'] = array('numericopt'); $meta['ftp____user'] = array('string'); $meta['ftp____pass'] = array('password'); $meta['ftp____root'] = array('string'); |