From 4fdcb43d9c2492525fd6ada75f50b1dae484f784 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 9 Jul 2022 12:56:38 +0200 Subject: [PATCH] NEW Add extrafield type "IP" to store IP addresses --- htdocs/core/class/extrafields.class.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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') {