/** * @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::serializeInfo() * * Overwritten to use the array representation of the diff. * * @since 0.4 * @param array $info * @return string */ public function serializeInfo(array $info) { if (isset($info['diff']) && $info['diff'] instanceof DiffOp) { /** @var DiffOp $op */ $op = $info['diff']; $info['diff'] = $op->toArray(array($this, 'arrayalizeObjects')); } return parent::serializeInfo($info); }
public function testDoesNotSerializeObjects() { $info = array('array' => array('object' => new ChangeRow())); $change = new ChangeRow(); $this->setExpectedException('MWException'); $change->serializeInfo($info); }