- Improvements to the history log for large text fields

SVN:trunk[91]
This commit is contained in:
Denis Flaven
2009-08-17 18:24:26 +00:00
parent b5c7cbf509
commit 3544b38ab9

View File

@@ -201,7 +201,29 @@ class CMDBChangeOpSetAttribute extends CMDBChangeOp
$sAttName = $oAttDef->GetLabel();
$sNewValue = $this->Get('newvalue');
$sOldValue = $this->Get('oldvalue');
$sResult = "$sAttName set to $sNewValue (previous value: $sOldValue)";
if ( (($oAttDef->GetType() == 'String') || ($oAttDef->GetType() == 'Text')) &&
(strlen($sNewValue) > strlen($sOldValue)) )
{
// Check if some text was not appended to the field
if (substr($sNewValue,0, strlen($sOldValue)) == $sOldValue) // Text added at the end
{
$sDelta = substr($sNewValue, strlen($sOldValue));
$sResult = "$sDelta appended to $sAttName";
}
else if (substr($sNewValue, -strlen($sOldValue)) == $sOldValue) // Text added at the beginning
{
$sDelta = substr($sNewValue, 0, strlen($sNewValue) - strlen($sOldValue));
$sResult = "$sDelta appended to $sAttName";
}
else
{
$sResult = "$sAttName set to $sNewValue (previous value: $sOldValue)";
}
}
else
{
$sResult = "$sAttName set to $sNewValue (previous value: $sOldValue)";
}
}
return $sResult;
}