From: Ben Klang Date: Mon, 22 Feb 2010 02:43:13 +0000 (-0500) Subject: Framework: Add IPv6 address Form type X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=fd19c746f501902fa3990f0e240a197630afadac;p=horde.git Framework: Add IPv6 address Form type --- diff --git a/framework/Form/Form/Type.php b/framework/Form/Form/Type.php index 2253b82f5..e1b61cfe9 100644 --- a/framework/Form/Form/Type.php +++ b/framework/Form/Form/Type.php @@ -511,6 +511,36 @@ class Horde_Form_Type_ipaddress extends Horde_Form_Type_text { } +class Horde_Form_Type_ip6address extends Horde_Form_Type_text { + + function isValid(&$var, &$vars, $value, &$message) + { + $valid = true; + + if (strlen(trim($value)) > 0) { + $valid = @inet_pton($value); + + if ($valid === false) { + $message = _("Please enter a valid IP address."); + } + } elseif ($var->isRequired()) { + $valid = false; + $message = _("This field is required."); + } + + return true; + } + + /** + * Return info about field type. + */ + function about() + { + return array('name' => _("IPv6 address")); + } + +} + class Horde_Form_Type_longtext extends Horde_Form_Type_text { var $_rows; diff --git a/framework/Ui/lib/Horde/Ui/VarRenderer/Html.php b/framework/Ui/lib/Horde/Ui/VarRenderer/Html.php index 7cf2cb498..869fbbd33 100644 --- a/framework/Ui/lib/Horde/Ui/VarRenderer/Html.php +++ b/framework/Ui/lib/Horde/Ui/VarRenderer/Html.php @@ -140,6 +140,18 @@ class Horde_Ui_VarRenderer_Html extends Horde_Ui_VarRenderer ); } + protected function _renderVarInput_ip6address($form, &$var, &$vars) + { + $varname = @htmlspecialchars($var->getVarName(), ENT_QUOTES, $this->_charset); + return sprintf('', + $varname, + $varname, + @htmlspecialchars($var->getValue($vars), ENT_QUOTES, $this->_charset), + $var->isDisabled() ? ' disabled="disabled" ' : '', + $this->_getActionScripts($form, $var) + ); + } + protected function _renderVarInput_file($form, &$var, &$vars) { $varname = @htmlspecialchars($var->getVarName(), ENT_QUOTES, $this->_charset);