/** * Creates and returns a new SWLChangeSet instance from a database result * obtained by doing a select on swl_sets. * * @since 0.1 * * @param array $changeSetArray * * @return SWLChangeSet */ public static function newFromArray(array $changeSetArray) { $changeSet = new SWLChangeSet(SMWDIWikiPage::newFromTitle(Title::newFromID($changeSetArray['page_id'])), null, null, null, $changeSetArray['id'], new SWLEdit($changeSetArray['page_id'], $changeSetArray['user_name'], $changeSetArray['time'], $changeSetArray['editid'])); foreach ($changeSetArray['changes'] as $propName => $changes) { $property = SMWDIProperty::doUnserialize($propName, '__pro'); foreach ($changes as $change) { $changeSet->addChange($property, SWLPropertyChange::newFromSerialization($property, array_key_exists('old', $change) ? $change['old'] : null, array_key_exists('new', $change) ? $change['new'] : null)); } } return $changeSet; }