summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2007-05-13 11:03:09 +0200
committerAndreas Gohr <andi@splitbrain.org>2007-05-13 11:03:09 +0200
commit76ae5803f4b2f129b8a3445f4cbd2ead6b663391 (patch)
tree179cd289769275f0ff6780235df8481b63616f62
parent57d757d195f73c836bb15fc1cd1d01fa0dcc75b1 (diff)
downloadrpg-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.php7
-rw-r--r--lib/plugins/config/settings/config.metadata.php9
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');