/** * @param ChangeRow $change * * @return array */ private function getValues(ChangeRow $change) { $fields = $change->getFields(); return array('change_type' => $fields['type'], 'change_time' => isset($fields['time']) ? $fields['time'] : wfTimestampNow(), 'change_object_id' => isset($fields['object_id']) ? $fields['object_id'] : '', 'change_revision_id' => isset($fields['revision_id']) ? $fields['revision_id'] : '0', 'change_user_id' => isset($fields['user_id']) ? $fields['user_id'] : '0', 'change_info' => $change->serializeInfo($fields['info'])); }
/** * @see ChangeRow::unserializeInfo() * * Overwritten to use the array representation of the diff. * * @since 0.4 * @param string $str * @return array the info array */ public function unserializeInfo($str) { static $factory = null; if ($factory == null) { $factory = new EntityTypeAwareDiffOpFactory(array($this, 'objectifyArrays')); } $info = parent::unserializeInfo($str); if (isset($info['diff']) && is_array($info['diff'])) { $info['diff'] = $factory->newFromArray($info['diff']); } return $info; }
public function testAlwaysHasIdField() { $change = new ChangeRow(); $this->assertTrue($change->hasField('id')); }