diff --git a/pages/schema.php b/pages/schema.php
index cc4672232..f73633820 100644
--- a/pages/schema.php
+++ b/pages/schema.php
@@ -837,7 +837,7 @@ function DisplayClassDetails($oPage, $sClass, $sContext)
$aOrigins[$sOrigin] = true;
$sAllowedValues = "";
$sMoreInfo = "";
- $sDefaultNullValue = "";
+ $sDefaultNullValue = '""';
$aCols = array();
foreach($oAttDef->GetSQLColumns() as $sCol => $sFieldDesc)
{
@@ -850,12 +850,12 @@ function DisplayClassDetails($oPage, $sClass, $sContext)
if($oAttDef->IsNullAllowed())
{
$aMoreInfo[] = Dict::S('UI:Schema:NullAllowed');
- $sDefaultNullValue = ($oAttDef->GetNullValue() !== null ? $oAttDef->GetNullValue() : "" );
- if(!is_string($sDefaultNullValue))
+ $sDefaultNullValue = (!is_null($oAttDef->GetNullValue()) ? $oAttDef->GetNullValue() : null );
+ if(!is_null($sDefaultNullValue) && !is_string($sDefaultNullValue))
{
$sDefaultNullValue = json_encode($sDefaultNullValue);
}
- $sDefaultNullValue = (!empty($sDefaultNullValue) ? Dict::Format('UI:Schema:DefaultNullValue', $sDefaultNullValue) : "" );
+ $sDefaultNullValue = (!is_null($sDefaultNullValue) ? json_encode(Dict::Format('UI:Schema:DefaultNullValue', $sDefaultNullValue)) : '""' );
}
else
{
@@ -874,7 +874,7 @@ function DisplayClassDetails($oPage, $sClass, $sContext)
}
$sAttrCode = $oAttDef->GetCode();
$sIsEnumValues = 'false';
- $sAllowedValuesEscpd = '';
+ $sAllowedValuesEscpd = '""';
if ($oAttDef instanceof AttributeEnum)
{
// Display localized values for the enum (which depend on the localization provided by the class)
@@ -890,7 +890,7 @@ function DisplayClassDetails($oPage, $sClass, $sContext)
elseif (is_object($oAllowedValuesDef = $oAttDef->GetValuesDef()))
{
$sAllowedValues = trim( $oAllowedValuesDef->GetValuesDescription(), "Filter : ");
- $sAllowedValuesEscpd = str_replace("'","\'",$sAllowedValues);
+ $sAllowedValuesEscpd = json_encode($sAllowedValues);
$sFilterURL = urlencode($sAllowedValues);
$sAllowedValues = "⚵" . Dict::S('UI:Schema:Attribute/Filter') . "";
@@ -899,9 +899,9 @@ function DisplayClassDetails($oPage, $sClass, $sContext)
{
$sAllowedValues = '';
}
- $sAttrValueEscpd = str_replace("'","\'",$sValue);
- $sAttrTypeDescEscpd = str_replace("'", "\'",$sTypeDesc);
- $sAttrOriginEscpd = str_replace("'", "\'", $sOrigin);
+ $sAttrValueEscpd = json_encode($sValue);
+ $sAttrTypeDescEscpd = json_encode($sTypeDesc);
+ $sAttrOriginEscpd = json_encode($sOrigin);
$aDetails[] = array('code' => "". $oAttDef->GetLabel() ." (" . $oAttDef->GetCode() .")",
'type' => "". $sTypeDict ." (" . $sType .")",
@@ -912,20 +912,20 @@ function DisplayClassDetails($oPage, $sClass, $sContext)
//tooltip construction
$oPage->add_ready_script(
<<