/** * Builds the change-array based on the old- and new values * * @param interface_versionable|class_root $objSourceModel * @param bool $bitUseInitValues * * @return array */ private function createChangeArray($objSourceModel, $bitUseInitValues = false) { $arrOldValues = $this->getOldValuesForSystemid($objSourceModel->getSystemid()); if ($bitUseInitValues) { $arrOldValues = $this->getInitValuesForSystemid($objSourceModel->getSystemid()); } //this are now the new ones $arrNewValues = $this->readVersionableProperties($objSourceModel); if ($arrOldValues == null) { $arrOldValues = array(); } if ($arrNewValues == null) { $arrNewValues = array(); } $arrReturn = array(); foreach ($arrNewValues as $strPropertyName => $objValue) { $arrReturn[] = array("property" => $strPropertyName, "oldvalue" => isset($arrOldValues[$strPropertyName]) ? $arrOldValues[$strPropertyName] : "", "newvalue" => isset($arrNewValues[$strPropertyName]) ? $arrNewValues[$strPropertyName] : ""); } return $arrReturn; }