+ */
+class PhoneField extends StringField
+{
+ public function GetDisplayValue()
+ {
+ $sLabel = Str::pure2html($this->currentValue);
+ if (strlen($sLabel) > 128)
+ {
+ // Truncate the length to 128 characters, by removing the middle
+ $sLabel = substr($sLabel, 0, 100).'.....'.substr($sLabel, -20);
+ }
+
+ $sUrlDecorationClass = utils::GetConfig()->Get('phone_number_decoration_class');
+
+ return "currentValue\"> $sLabel ";
+ }
+}
diff --git a/sources/renderer/bootstrap/bsformrenderer.class.inc.php b/sources/renderer/bootstrap/bsformrenderer.class.inc.php
index 45a436e07..100c40ec9 100644
--- a/sources/renderer/bootstrap/bsformrenderer.class.inc.php
+++ b/sources/renderer/bootstrap/bsformrenderer.class.inc.php
@@ -46,6 +46,7 @@ class BsFormRenderer extends FormRenderer
$this->AddSupportedField('StringField', 'BsSimpleFieldRenderer');
$this->AddSupportedField('UrlField', 'BsSimpleFieldRenderer');
$this->AddSupportedField('EmailField', 'BsSimpleFieldRenderer');
+ $this->AddSupportedField('PhoneField', 'BsSimpleFieldRenderer');
$this->AddSupportedField('TextAreaField', 'BsSimpleFieldRenderer');
$this->AddSupportedField('CaseLogField', 'BsSimpleFieldRenderer');
$this->AddSupportedField('SelectField', 'BsSimpleFieldRenderer');
diff --git a/sources/renderer/bootstrap/fieldrenderer/bsfileuploadfieldrenderer.class.inc.php b/sources/renderer/bootstrap/fieldrenderer/bsfileuploadfieldrenderer.class.inc.php
index 8929a7132..9a7da3e49 100644
--- a/sources/renderer/bootstrap/fieldrenderer/bsfileuploadfieldrenderer.class.inc.php
+++ b/sources/renderer/bootstrap/fieldrenderer/bsfileuploadfieldrenderer.class.inc.php
@@ -1,6 +1,6 @@
AddCssClass('form_field');
$oOutput->AddCssClass('form_field_' . $this->oField->GetDisplayMode());
$sObjectClass = get_class($this->oField->GetObject());
diff --git a/sources/renderer/bootstrap/fieldrenderer/bslinkedsetfieldrenderer.class.inc.php b/sources/renderer/bootstrap/fieldrenderer/bslinkedsetfieldrenderer.class.inc.php
index 67e9ddbd2..ede59c8d5 100644
--- a/sources/renderer/bootstrap/fieldrenderer/bslinkedsetfieldrenderer.class.inc.php
+++ b/sources/renderer/bootstrap/fieldrenderer/bslinkedsetfieldrenderer.class.inc.php
@@ -1,6 +1,6 @@
AddCssClass('form_field');
$oOutput->AddCssClass('form_field_' . $this->oField->GetDisplayMode());
$sFieldMandatoryClass = ($this->oField->GetMandatory()) ? 'form_mandatory' : '';
diff --git a/sources/renderer/bootstrap/fieldrenderer/bsselectobjectfieldrenderer.class.inc.php b/sources/renderer/bootstrap/fieldrenderer/bsselectobjectfieldrenderer.class.inc.php
index 52be11a86..aa250d08f 100644
--- a/sources/renderer/bootstrap/fieldrenderer/bsselectobjectfieldrenderer.class.inc.php
+++ b/sources/renderer/bootstrap/fieldrenderer/bsselectobjectfieldrenderer.class.inc.php
@@ -1,6 +1,6 @@
AddCssClass('form_field');
$oOutput->AddCssClass('form_field_' . $this->oField->GetDisplayMode());
$sFieldValueClass = $this->oField->GetSearch()->GetClass();
diff --git a/sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php b/sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php
index 91a694d40..5990f1853 100644
--- a/sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php
+++ b/sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php
@@ -1,6 +1,6 @@
AddCssClass('form_field');
$oOutput->AddCssClass('form_field_' . $this->oField->GetDisplayMode());
$sFieldClass = get_class($this->oField);
@@ -61,6 +62,7 @@ class BsSimpleFieldRenderer extends FieldRenderer
case 'Combodo\\iTop\\Form\\Field\\StringField':
case 'Combodo\\iTop\\Form\\Field\\UrlField':
case 'Combodo\\iTop\\Form\\Field\\EmailField':
+ case 'Combodo\\iTop\\Form\\Field\\PhoneField':
case 'Combodo\\iTop\\Form\\Field\\SelectField':
case 'Combodo\\iTop\\Form\\Field\\MultipleSelectField':
// Opening container
@@ -101,6 +103,7 @@ EOF
case 'Combodo\\iTop\\Form\\Field\\StringField':
case 'Combodo\\iTop\\Form\\Field\\UrlField':
case 'Combodo\\iTop\\Form\\Field\\EmailField':
+ case 'Combodo\\iTop\\Form\\Field\\PhoneField':
$oOutput->AddHtml(' ');
break;
@@ -220,6 +223,7 @@ EOF
case 'Combodo\\iTop\\Form\\Field\\StringField':
case 'Combodo\\iTop\\Form\\Field\\UrlField':
case 'Combodo\\iTop\\Form\\Field\\EmailField':
+ case 'Combodo\\iTop\\Form\\Field\\PhoneField':
case 'Combodo\\iTop\\Form\\Field\\TextAreaField':
case 'Combodo\\iTop\\Form\\Field\\CaseLogField':
case 'Combodo\\iTop\\Form\\Field\\SelectField':
@@ -291,6 +295,7 @@ EOF
case 'Combodo\\iTop\\Form\\Field\\StringField':
case 'Combodo\\iTop\\Form\\Field\\UrlField':
case 'Combodo\\iTop\\Form\\Field\\EmailField':
+ case 'Combodo\\iTop\\Form\\Field\\PhoneField':
case 'Combodo\\iTop\\Form\\Field\\DateTimeField':
case 'Combodo\\iTop\\Form\\Field\\DurationField':
// Opening container
@@ -308,7 +313,7 @@ EOF
$oOutput->AddHtml('');
// Value
- $bEncodeHtmlEntities = ( in_array($sFieldClass, array('Combodo\\iTop\\Form\\Field\\UrlField', 'Combodo\\iTop\\Form\\Field\\EmailField')) ) ? false : true;
+ $bEncodeHtmlEntities = ( in_array($sFieldClass, array('Combodo\\iTop\\Form\\Field\\UrlField', 'Combodo\\iTop\\Form\\Field\\EmailField', 'Combodo\\iTop\\Form\\Field\\PhoneField')) ) ? false : true;
$oOutput->AddHtml('');
@@ -475,6 +480,7 @@ EOF
case 'Combodo\\iTop\\Form\\Field\\StringField':
case 'Combodo\\iTop\\Form\\Field\\UrlField':
case 'Combodo\\iTop\\Form\\Field\\EmailField':
+ case 'Combodo\\iTop\\Form\\Field\\PhoneField':
case 'Combodo\\iTop\\Form\\Field\\SelectField':
case 'Combodo\\iTop\\Form\\Field\\MultipleSelectField':
case 'Combodo\\iTop\\Form\\Field\\HiddenField':
diff --git a/sources/renderer/bootstrap/fieldrenderer/bssubformfieldrenderer.class.inc.php b/sources/renderer/bootstrap/fieldrenderer/bssubformfieldrenderer.class.inc.php
index 346f7652e..c0f8d5f83 100644
--- a/sources/renderer/bootstrap/fieldrenderer/bssubformfieldrenderer.class.inc.php
+++ b/sources/renderer/bootstrap/fieldrenderer/bssubformfieldrenderer.class.inc.php
@@ -1,5 +1,5 @@