diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index baae549c050..719bc347069 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -105,6 +105,7 @@ class ExtraFields 'phone'=>'ExtrafieldPhone', 'mail'=>'ExtrafieldMail', 'url'=>'ExtrafieldUrl', + 'ip'=>'ExtrafieldIP', 'password' => 'ExtrafieldPassword', 'select' => 'ExtrafieldSelect', 'sellist' => 'ExtrafieldSelectList', @@ -243,7 +244,7 @@ class ExtraFields } elseif ($type == 'phone') { $typedb = 'varchar'; $lengthdb = '20'; - } elseif ($type == 'mail') { + } elseif ($type == 'mail' || $type == 'ip') { $typedb = 'varchar'; $lengthdb = '128'; } elseif ($type == 'url') { @@ -572,7 +573,7 @@ class ExtraFields } elseif ($type == 'phone') { $typedb = 'varchar'; $lengthdb = '20'; - } elseif ($type == 'mail') { + } elseif ($type == 'mail' || $type == 'ip') { $typedb = 'varchar'; $lengthdb = '128'; } elseif ($type == 'url') { @@ -1034,7 +1035,7 @@ class ExtraFields $out = ''; } elseif (preg_match('/varchar/', $type)) { $out = ''; - } elseif (in_array($type, array('mail', 'phone', 'url'))) { + } elseif (in_array($type, array('mail', 'ip', 'phone', 'url'))) { $out = ''; } elseif ($type == 'text') { if (!preg_match('/search_/', $keyprefix)) { // If keyprefix is search_ or search_options_, we must just use a simple text field @@ -1594,6 +1595,8 @@ class ExtraFields $value = ''; } elseif ($type == 'mail') { $value = dol_print_email($value, 0, 0, 0, 64, 1, 1); + } elseif ($type == 'ip') { + $value = dol_print_ip($value, 0); } elseif ($type == 'url') { $value = dol_print_url($value, '_blank', 32, 1); } elseif ($type == 'phone') {