Jens Ohlig has uploaded a new change for review. https://gerrit.wikimedia.org/r/94909
Change subject: (bug 54324) sequence in Lua should start with 1 ...................................................................... (bug 54324) sequence in Lua should start with 1 Change-Id: Ieeaca61a027e7461bb91477243c9bce76e221f97 --- M client/includes/WikibaseLibrary.php 1 file changed, 22 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/09/94909/1 diff --git a/client/includes/WikibaseLibrary.php b/client/includes/WikibaseLibrary.php index 91be67b..a2203b4 100644 --- a/client/includes/WikibaseLibrary.php +++ b/client/includes/WikibaseLibrary.php @@ -45,7 +45,26 @@ 'getGlobalSiteId' => array( $this, 'getGlobalSiteId' ) ); $this->getEngine()->registerInterface( dirname( __FILE__ ) . '/../resources/' . 'mw.wikibase.lua', $lib, array() ); - } + } + + /** + * Recursively renumber a serialized array in place, so it is indexed at 1, not 0. + * Just like Lua wants it. + * + * @since 0.5 + * + * @param array &$entityArr + */ + public function renumber( &$entityArr ) { + foreach( $entityArr as $key => &$value ) { + if ( is_array( $value ) ) { + if ( array_key_exists( 0, $value ) ) { + $value = array_combine( range( 1, count( $value ) ), array_values( $value ) ); + } + $this->renumber( $value ); + } + } + } /** * Get entity from prefixed ID (e.g. "Q23") and return it as serialized array. @@ -104,7 +123,8 @@ try { $entityArr = $serializer->getSerialized( $entityObject ); - return array( $entityArr ); + $this->renumber( $entityArr ); // Renumber the array + return array( $entityArr ); } catch ( \Exception $e ) { throw $this->getEngine()->newException( 'wikibase-error-serialize-error' ); } -- To view, visit https://gerrit.wikimedia.org/r/94909 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ieeaca61a027e7461bb91477243c9bce76e221f97 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Jens Ohlig <jens.oh...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits