Aude has uploaded a new change for review.
https://gerrit.wikimedia.org/r/49482
Change subject: Make ItemChange more robust to handle diffOp objects or
arrayized diffOps
......................................................................
Make ItemChange more robust to handle diffOp objects or arrayized diffOps
Change-Id: Ie9643b5fcb4fd2c54cdd5f9515c3845fa8f7b82a
---
M lib/includes/changes/ItemChange.php
1 file changed, 15 insertions(+), 2 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/82/49482/1
diff --git a/lib/includes/changes/ItemChange.php
b/lib/includes/changes/ItemChange.php
index 157b870..6216dc3 100644
--- a/lib/includes/changes/ItemChange.php
+++ b/lib/includes/changes/ItemChange.php
@@ -1,6 +1,7 @@
<?php
namespace Wikibase;
+use \Diff\DiffOpFactory;
/**
* This program is free software; you can redistribute it and/or modify
@@ -37,10 +38,22 @@
public function getSiteLinkDiff() {
$diff = $this->getDiff();
- if ( !$diff instanceof ItemDiff ) {
+ if ( is_array( $diff ) ) {
+ // @todo: put in a nicer place
+ $diffOpFactory = new DiffOpFactory();
+ $diffOps = array();
+
+ foreach( $diff['operations'] as $key => $opArray ) {
+ $diffOps[$key] = $diffOpFactory->newFromArray(
$opArray );
+ }
+
+ $itemDiff = new ItemDiff( $diffOps );
+ } else if ( $diff instanceof ItemDiff ) {
+ $itemDiff = $diff;
+ } else {
throw new \MWException( 'Cannot get sitelink diff for '
. get_class( $diff ) . '.' );
}
- return $this->getDiff()->getSiteLinkDiff();
+ return $itemDiff->getSiteLinkDiff();
}
}
--
To view, visit https://gerrit.wikimedia.org/r/49482
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie9643b5fcb4fd2c54cdd5f9515c3845fa8f7b82a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Aude <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits