Index: trunk/core/kernel/db/dbitem.php =================================================================== diff -u -N -r8428 -r8481 --- trunk/core/kernel/db/dbitem.php (.../dbitem.php) (revision 8428) +++ trunk/core/kernel/db/dbitem.php (.../dbitem.php) (revision 8481) @@ -24,6 +24,14 @@ */ var $DirtyFieldValues = Array(); + /** + * Holds item values after loading (not affected by submit) + * + * @var Array + * @access private + */ + var $OriginalFieldValues = Array (); + var $FieldErrors; var $ErrorMsgs = Array(); @@ -69,6 +77,11 @@ return $this->DirtyFieldValues[$field_name]; } + function GetOriginalField($field_name) + { + return $this->OriginalFieldValues[$field_name]; + } + /** * Set's default values for all fields * @@ -288,9 +301,9 @@ if($field_values) { $this->FieldValues = array_merge_recursive2($this->FieldValues, $field_values); + $this->OriginalFieldValues = $this->FieldValues; } - else - { + else { return $this->Clear(); } @@ -944,6 +957,7 @@ $this->setID($new_id); $this->Loaded = false; $this->FieldValues = Array(); + $this->OriginalFieldValues = Array (); $this->SetDefaultValues(); $this->FieldErrors = Array(); return $this->Loaded;