WikidataBuilder has uploaded a new change for review. https://gerrit.wikimedia.org/r/154025
Change subject: New Wikidata Build - 14/08/2014 10:00 ...................................................................... New Wikidata Build - 14/08/2014 10:00 Change-Id: I6187a9a745d62c8a1d94f57f380bf5a91182f7ad --- M composer.lock M extensions/ValueView/README.md M extensions/ValueView/ValueView.php M extensions/ValueView/lib/jquery.ui/jquery.ui.ooMenu.js M extensions/ValueView/lib/jquery.ui/jquery.ui.suggester.js M extensions/ValueView/src/ExpertExtender/ExpertExtender.LanguageSelector.js M extensions/ValueView/tests/lib/jquery.ui/jquery.ui.suggester.tests.js M extensions/Wikibase/client/WikibaseClient.hooks.php M extensions/Wikibase/client/i18n/es.json M extensions/Wikibase/client/i18n/pt.json M extensions/Wikibase/client/i18n/qqq.json M extensions/Wikibase/client/i18n/zh-hant.json M extensions/Wikibase/client/includes/ChangeHandler.php M extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/LanguageAwareRenderer.php M extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/Runner.php M extensions/Wikibase/client/includes/WikibaseClient.php M extensions/Wikibase/client/includes/hooks/InfoActionHookHandler.php M extensions/Wikibase/client/includes/hooks/LanguageLinkBadgeDisplay.php M extensions/Wikibase/client/includes/hooks/MovePageNotice.php M extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php M extensions/Wikibase/client/maintenance/populateInterwiki.php M extensions/Wikibase/client/tests/phpunit/MockClientStore.php M extensions/Wikibase/client/tests/phpunit/includes/ChangeHandlerTest.php M extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/LanguageAwareRendererTest.php M extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RendererFactoryTest.php M extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php M extensions/Wikibase/client/tests/phpunit/includes/OtherProjectsSitesProviderTest.php M extensions/Wikibase/client/tests/phpunit/includes/SiteLinkCommentCreatorTest.php M extensions/Wikibase/client/tests/phpunit/includes/hooks/LanguageLinkBadgeDisplayTest.php M extensions/Wikibase/lib/WikibaseLib.php M extensions/Wikibase/lib/config/WikibaseLib.default.php M extensions/Wikibase/lib/includes/DataValueFactory.php M extensions/Wikibase/lib/includes/Localizer/DispatchingExceptionLocalizer.php M extensions/Wikibase/lib/includes/Localizer/MessageExceptionLocalizer.php M extensions/Wikibase/lib/includes/Localizer/ParseExceptionLocalizer.php M extensions/Wikibase/lib/includes/Reporting/ReportingExceptionHandler.php M extensions/Wikibase/lib/includes/WikibaseDataTypeBuilders.php M extensions/Wikibase/lib/includes/changes/EntityChange.php M extensions/Wikibase/lib/includes/formatters/EntityIdHtmlLinkFormatter.php M extensions/Wikibase/lib/includes/formatters/EntityIdLabelFormatter.php M extensions/Wikibase/lib/includes/serializers/LegacyInternalEntitySerializer.php M extensions/Wikibase/lib/includes/serializers/SnakSerializer.php M extensions/Wikibase/lib/includes/store/CachingEntityRevisionLookup.php M extensions/Wikibase/lib/includes/store/EntityStore.php M extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php M extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php M extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php M extensions/Wikibase/lib/tests/phpunit/EntityRetrievingDataTypeLookupTest.php M extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php M extensions/Wikibase/lib/tests/phpunit/NoBadDependencyUsageTest.php M extensions/Wikibase/lib/tests/phpunit/WikibaseDataTypeBuildersTest.php M extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php M extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php M extensions/Wikibase/lib/tests/phpunit/entity/EntityFactoryTest.php M extensions/Wikibase/lib/tests/phpunit/formatters/EntityIdLabelFormatterTest.php M extensions/Wikibase/lib/tests/phpunit/parsers/MonthNameUnlocalizerTest.php M extensions/Wikibase/lib/tests/phpunit/serializers/DataModelSerializationRoundtripTest.php M extensions/Wikibase/lib/tests/phpunit/serializers/DispatchingEntitySerializerTest.php M extensions/Wikibase/lib/tests/phpunit/serializers/LegacyInternalEntitySerializerTest.php M extensions/Wikibase/lib/tests/phpunit/store/CachingEntityRevisionLookupTest.php M extensions/Wikibase/lib/tests/phpunit/store/ItemUsageIndexTest.php M extensions/Wikibase/lib/tests/phpunit/store/SiteLinkTableTest.php A extensions/Wikibase/repo/i18n/av.json M extensions/Wikibase/repo/i18n/gu.json M extensions/Wikibase/repo/i18n/pl.json M extensions/Wikibase/repo/i18n/pt.json M extensions/Wikibase/repo/i18n/sr-el.json M extensions/Wikibase/repo/i18n/zh-hant.json M extensions/Wikibase/repo/includes/WikibaseRepo.php M extensions/Wikibase/repo/includes/content/ItemContent.php M extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php M extensions/Wikibase/repo/tests/phpunit/includes/content/EntityContentTest.php M extensions/Wikibase/repo/tests/phpunit/includes/content/EntityHandlerTest.php M extensions/Wikibase/repo/tests/phpunit/includes/content/ItemContentTest.php M extensions/Wikibase/repo/tests/phpunit/includes/content/ItemHandlerTest.php M extensions/Wikibase/repo/tests/phpunit/includes/store/WikiPageEntityRevisionLookupTest.php M vendor/autoload.php M vendor/composer/autoload_real.php M vendor/composer/installed.json 79 files changed, 306 insertions(+), 231 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata refs/changes/25/154025/1 diff --git a/composer.lock b/composer.lock index 9c4df62..71e493b 100644 --- a/composer.lock +++ b/composer.lock @@ -632,16 +632,16 @@ }, { "name": "data-values/value-view", - "version": "0.6.8", + "version": "0.6.9", "source": { "type": "git", "url": "https://github.com/wmde/ValueView.git", - "reference": "44ca1b31a172130224ffc707657558690ec03d45" + "reference": "3711c81bd2376c9b214b18f5f4e805d147978b5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wmde/ValueView/zipball/44ca1b31a172130224ffc707657558690ec03d45", - "reference": "44ca1b31a172130224ffc707657558690ec03d45", + "url": "https://api.github.com/repos/wmde/ValueView/zipball/3711c81bd2376c9b214b18f5f4e805d147978b5a", + "reference": "3711c81bd2376c9b214b18f5f4e805d147978b5a", "shasum": "" }, "require": { @@ -670,7 +670,7 @@ ], "description": "Provides JS widgets to edit values defined by the DataValues library", "homepage": "https://www.mediawiki.org/wiki/Extension:ValueView", - "time": "2014-07-29 11:56:20" + "time": "2014-08-13 16:55:28" }, { "name": "diff/diff", @@ -1152,12 +1152,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "1ef9bb9162e78d17bc994587cffb61b08f8e7c81" + "reference": "37398dd52b9f76a6fc5855633065a084d7502380" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/1ef9bb9162e78d17bc994587cffb61b08f8e7c81", - "reference": "1ef9bb9162e78d17bc994587cffb61b08f8e7c81", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/37398dd52b9f76a6fc5855633065a084d7502380", + "reference": "37398dd52b9f76a6fc5855633065a084d7502380", "shasum": "" }, "require": { @@ -1226,7 +1226,7 @@ "wikibaserepo", "wikidata" ], - "time": "2014-08-10 21:47:44" + "time": "2014-08-14 00:23:11" } ], "packages-dev": [ diff --git a/extensions/ValueView/README.md b/extensions/ValueView/README.md index c63db9b..7a38f4d 100644 --- a/extensions/ValueView/README.md +++ b/extensions/ValueView/README.md @@ -12,9 +12,9 @@ Experts are widgets that deal with editing data values. An expert provides the functionality to edit a specific data value type or data values suitable for a certain data type. <code>jQuery.valueview.Expert</code> is the base constructor for such experts. -### jQuery.valueview.ExpertFactory +### jQuery.valueview.ExpertStore -Experts are managed by <code>jQuery.valueview.ExpertFactory</code> instance which provides its experts to <code>jQuery.valueview</code>. +Experts are managed by <code>jQuery.valueview.ExpertStore</code> instance which provides its experts to <code>jQuery.valueview</code>. ### jQuery.valueview.ViewState @@ -22,17 +22,20 @@ ## Usage -When using <code>jQuery.valueview</code> for handling a data value of some sort, a <code>jQuery.valueview.ExpertFactory</code> with knowledge about an expert dedicated to the used data value type is required and can be set up as follows: +The following assumes you also have ```data-values/data-types```, ```data-values/data-values``` and ```data-values/javascript``` installed. + +When using <code>jQuery.valueview</code> for handling a data value of some sort, a <code>jQuery.valueview.ExpertStore</code> with knowledge about an expert dedicated to the used data value type is required and can be set up as follows: ```javascript var dv = dataValues; var vv = jQuery.valueview; -var experts = new vv.ExpertFactory(); +var dt = dataTypes; +var experts = new vv.ExpertStore(); var stringValue = new dv.StringValue( 'foo' ); // Consider this a data value using the "string" data value type internally: -var urlDataType = dataTypes.getDataType( 'url' ); +var urlDataType = new dt.DataType( 'url', dv.StringValue.TYPE ); experts.registerDataValueExpert( vv.experts.StringValue, dv.StringValue.TYPE ); @@ -40,28 +43,21 @@ experts.getExpert( stringValue.getType() ) === experts.getExpert( urlDataType.getDataValueType(), urlDataType.getId() ) ); // true because "url" data type's data value type is "string"; The string expert will be used as fallback. - -experts.registerDataTypeExpert( vv.experts.UrlType, urlDataType.getId() ); - -console.log( - experts.getExpert( stringValue.getType() ) === experts.getExpert( urlDataType.getDataValueType(), urlDataType.getId() ) -); -// false because we now have a dedicated expert registered for the "url" data type. ``` -The <code>jQuery.valueview.ExpertFactory</code> can now be injected into a new <code>jQuery.valueview</code> which will then be able to edit string data values. +The <code>jQuery.valueview.ExpertStore</code> can now be injected into a new <code>jQuery.valueview</code> which will then be able to edit string data values. ```javascript var $subject = $( '<div/>' ).appendTo( $( 'body' ).empty() ); // In addition to the expert factory, value parser and value formatter factories need to be provided. The feature the same mechanisms than the expert factory. For this example, we just initialize them with the string parser/formatter as default parser/formatter. -var parsers = new valueParsers.ValueParserFactory( valueParsers.StringParser ); -var formatters = new valueParsers.ValueFormatterFactory( valueFormatters.StringFormatter ); +var parsers = new valueParsers.ValueParserStore( valueParsers.StringParser ); +var formatters = new valueFormatters.ValueFormatterStore( valueFormatters.StringFormatter ); $subject.valueview( { - expertProvider: experts, - valueParserProvider: parsers, - valueFormatterProvider: formatters, + expertStore: experts, + parserStore: parsers, + formatterStore: formatters, value: new dv.StringValue( 'text' ) } ); @@ -79,7 +75,7 @@ ## Running as MediaWiki extension -<code>mediaWiki.ext.valueView</code> may be used to initialize ValueView as MediaWiki extension. Loading <code>mediaWiki.ext.valueView</code> will initialize and fill a <code>jQuery.valueview.ExpertFactory</code> which is issued to <code>jQuery.valueview</code> as default expert provider. Consequently, no custom experts for basic data values and data types need to be registered and <code>jQuery.valueview</code> may be used without passing a custom <code>jQuery.ExpertFactory</code>. +<code>mediaWiki.ext.valueView</code> may be used to initialize ValueView as MediaWiki extension. Loading <code>mediaWiki.ext.valueView</code> will initialize and fill a <code>jQuery.valueview.ExpertStore</code> which is issued to <code>jQuery.valueview</code> as default expert provider. Consequently, no custom experts for basic data values and data types need to be registered and <code>jQuery.valueview</code> may be used without passing a custom <code>jQuery.ExpertStore</code>. ## Architecture @@ -109,6 +105,11 @@ ## Release notes +### 0.6.9 (2014-08-13) +* $.ui.suggester updates "lang" and "dir" attribute of its menu whenever repositioning the menu. +* $.ui.suggester issues "error" event in case of an error. +* LanguageSelector allows typing the language code instead of the name. + ### 0.6.8 (2014-07-29) * Only attempt to close a suggester if it's open @@ -121,8 +122,8 @@ * Suggesters z-index is now dynamically calculated with it's position on screen ### 0.6.5 (2014-07-17) -* Fixed the Qunit tests -* Don't underline ooMenu/ sugester items +* Fixed the QUnit tests +* Don't underline ooMenu/ suggester items * Various small bug fixes ### 0.6.4 (2014-07-02) diff --git a/extensions/ValueView/ValueView.php b/extensions/ValueView/ValueView.php index 6caa08d..1f960f4 100644 --- a/extensions/ValueView/ValueView.php +++ b/extensions/ValueView/ValueView.php @@ -5,7 +5,7 @@ return 1; } -define( 'VALUEVIEW_VERSION', '0.6.8-alpha' ); +define( 'VALUEVIEW_VERSION', '0.6.9' ); /** * @deprecated diff --git a/extensions/ValueView/lib/jquery.ui/jquery.ui.ooMenu.js b/extensions/ValueView/lib/jquery.ui/jquery.ui.ooMenu.js index 2222035..8eadab8 100644 --- a/extensions/ValueView/lib/jquery.ui/jquery.ui.ooMenu.js +++ b/extensions/ValueView/lib/jquery.ui/jquery.ui.ooMenu.js @@ -116,6 +116,7 @@ */ _refresh: function() { this.element.empty(); + this.element.scrollTop( 0 ); for( var i = 0; i < this.options.items.length; i++ ) { this._appendItem( this.options.items[i] ); } diff --git a/extensions/ValueView/lib/jquery.ui/jquery.ui.suggester.js b/extensions/ValueView/lib/jquery.ui/jquery.ui.suggester.js index 6e3e034..c72b30b 100644 --- a/extensions/ValueView/lib/jquery.ui/jquery.ui.suggester.js +++ b/extensions/ValueView/lib/jquery.ui/jquery.ui.suggester.js @@ -74,6 +74,13 @@ * Triggered when the suggester's value has changed. * - {jQuery.Event} * + * @event error + * Triggered whenever an error occurred while gathering suggestions. This may happen only + * when using a function as source. The {string} parameter is forwarded from the rejected + * promise returned by the source function. + * - {jQuery.Event} + * - {string} + * * @dependency jQuery.ui.ooMenu * @dependency jQuery.ui.position */ @@ -419,7 +426,7 @@ } ) .fail( function( message ) { self.element.addClass( 'ui-suggester-error' ); - // TODO: Display error message. + self._trigger( 'error', null, [message] ); } ) .always( function() { if( --self._pending === 0 ) { @@ -506,8 +513,7 @@ * Resolved parameters: * - {string[]} suggestions * - {string} requestTerm - * Rejected parameters: - * - {string} + * Promise may not be rejected. */ _getSuggestionsFromArray: function( term, source ) { var deferred = $.Deferred(); @@ -563,13 +569,13 @@ * Aligns the menu to the input element. */ repositionMenu: function() { - var isRtl = this.element.attr( 'dir' ) === 'rtl' - || ( this.element.attr( 'dir' ) === undefined - && document.documentElement.dir === 'rtl' ); + var dir = this.element.attr( 'dir' ) + || $( document.documentElement ).css( 'direction' ) + || 'auto'; var position = $.extend( {}, this.options.position ); - if( isRtl ) { + if( dir === 'rtl' ) { position = flipPosition( position ); } @@ -578,6 +584,11 @@ }, position ) ); this.options.menu.element.zIndex( this.element.zIndex() + 1 ); + if( this.element.attr( 'lang' ) ) { + this.options.menu.element.attr( 'lang', this.element.attr( 'lang' ) ); + } + this.options.menu.element.attr( 'dir', dir ); + this.options.menu.scale(); } diff --git a/extensions/ValueView/src/ExpertExtender/ExpertExtender.LanguageSelector.js b/extensions/ValueView/src/ExpertExtender/ExpertExtender.LanguageSelector.js index d1a6799..09f7d1b 100644 --- a/extensions/ValueView/src/ExpertExtender/ExpertExtender.LanguageSelector.js +++ b/extensions/ValueView/src/ExpertExtender/ExpertExtender.LanguageSelector.js @@ -97,8 +97,9 @@ * @return {string|null} The current value */ getValue: function() { - return this._inverseLanguagesMap ? this._inverseLanguagesMap[ this.$selector.val() ] : this.$selector.val(); - }, + var key = this.$selector.val(); + return ( this._inverseLanguagesMap && this._inverseLanguagesMap[key] ) || key; + } } ); function getLanguagesMaps( getMsg ) { diff --git a/extensions/ValueView/tests/lib/jquery.ui/jquery.ui.suggester.tests.js b/extensions/ValueView/tests/lib/jquery.ui/jquery.ui.suggester.tests.js index 173b562..cce021d 100644 --- a/extensions/ValueView/tests/lib/jquery.ui/jquery.ui.suggester.tests.js +++ b/extensions/ValueView/tests/lib/jquery.ui/jquery.ui.suggester.tests.js @@ -166,4 +166,43 @@ } ); } ); + QUnit.test( 'Error', 2, function( assert ) { + var $suggester = newTestSuggester( { + source: function( term ) { + var deferred = new $.Deferred(); + return deferred.reject( 'error string' ).promise(); + } + } ), + suggester = $suggester.data( 'suggester' ); + + $suggester.on( 'suggestererror', function( event, errorString ) { + assert.equal( + errorString, + 'error string', + 'Validated expected error string.' + ); + } ); + + $suggester.val( 'a' ); + + QUnit.stop(); + + suggester.search() + .done( function( suggestions ) { + assert.ok( + false, + 'Searching was successful although it should have failed.' + ); + } ) + .fail( function() { + assert.ok( + true, + 'Searching failed as expected.' + ); + } ) + .always( function() { + QUnit.start(); + } ); + } ); + }( jQuery, QUnit ) ); diff --git a/extensions/Wikibase/client/WikibaseClient.hooks.php b/extensions/Wikibase/client/WikibaseClient.hooks.php index 42ed48c..fa7101d 100644 --- a/extensions/Wikibase/client/WikibaseClient.hooks.php +++ b/extensions/Wikibase/client/WikibaseClient.hooks.php @@ -32,10 +32,8 @@ use Wikibase\Client\Hooks\BeforePageDisplayHandler; use Wikibase\Client\Hooks\InfoActionHookHandler; use Wikibase\Client\Hooks\LanguageLinkBadgeDisplay; -use Wikibase\Client\Hooks\OtherProjectsSidebarGenerator; use Wikibase\Client\Hooks\SpecialWatchlistQueryHandler; use Wikibase\Client\MovePageNotice; -use Wikibase\Client\OtherProjectsSitesProvider; use Wikibase\Client\WikibaseClient; /** diff --git a/extensions/Wikibase/client/i18n/es.json b/extensions/Wikibase/client/i18n/es.json index 3158c81..2ab745b 100644 --- a/extensions/Wikibase/client/i18n/es.json +++ b/extensions/Wikibase/client/i18n/es.json @@ -70,5 +70,6 @@ "wikibase-pageinfo-entity-id-none": "Ninguno", "wikibase-property-render-error": "Error al procesar propiedad $1: $2", "wikibase-otherprojects": "Otros proyectos", - "wikibase-otherprojects-beta-message": "Barra lateral de otros proyectos" + "wikibase-otherprojects-beta-message": "Barra lateral de otros proyectos", + "wikibase-otherprojects-beta-description": "Añade a la barra lateral la sección «{{int:wikibase-otherprojects}}» que enlaza los proyectos de Wikimedia cuyos datos se alojan en {{WBREPONAME}}." } diff --git a/extensions/Wikibase/client/i18n/pt.json b/extensions/Wikibase/client/i18n/pt.json index a9dbaf0..e5e63c0 100644 --- a/extensions/Wikibase/client/i18n/pt.json +++ b/extensions/Wikibase/client/i18n/pt.json @@ -54,7 +54,7 @@ "wikibase-rc-show-wikidata-pref": "Mostrar as edições {{WBREPONAME}} nas mudanças recentes", "wikibase-rc-wikibase-edit-letter": "D", "wikibase-rc-wikibase-edit-title": "Edição {{WBREPONAME}}", - "wikibase-watchlist-show-changes-pref": "Mostra as edições {{WBREPONAME}} na sua lista de vigiados", + "wikibase-watchlist-show-changes-pref": "Mostrar as edições no {{WBREPONAME}} na sua lista de páginas vigiadas", "wikibase-error-invalid-entity-id": "O identificador introduzido não é reconhecido pelo sistema. Utilize um identificador válido.", "special-unconnectedpages": "Páginas não ligadas a itens", "wikibase-unconnectedpages-legend": "Opções de páginas não ligadas", diff --git a/extensions/Wikibase/client/i18n/qqq.json b/extensions/Wikibase/client/i18n/qqq.json index f4f6848..9608f2b 100644 --- a/extensions/Wikibase/client/i18n/qqq.json +++ b/extensions/Wikibase/client/i18n/qqq.json @@ -10,7 +10,8 @@ "Nemo bis", "Raymond", "Shirayuki", - "Vadgt" + "Vadgt", + "Liuxinyu970226" ] }, "wikibase-client-desc": "{{desc|name=Wikibase Client|url=http://www.mediawiki.org/wiki/Extension:Wikibase_Client}}\nSee also [[d:Wikidata:Glossary#Wikidata|Wikidata]].", @@ -29,7 +30,7 @@ "wikibase-comment-sitelink-change": "Autocomment message for client (e.g. Wikipedia) when a particular site link gets changed on the repository.\n\nParameters:\n* $1 - the wikilink for the old link\n* $2 - the new wikilink\nFormat of wikilink is [[:de:Berlin|de:Berlin]].", "wikibase-comment-sitelink-remove": "Autocomment message for client (e.g. Wikipedia) when a particular site link gets removed on the repository. $1 is the wikilink for the link removed, in format [[:de:Berlin|de:Berlin]].", "wikibase-comment-multi": "Summary shown in [[Special:RecentChanges]] and on [[Special:WatchList]] for an entry that represents multiple changes on the Wikibase repository.\n\nParameters:\n* $1 - the number of changes; is always at least 2.", - "wikibase-dataitem": "Toolbox link text for link to connected Wikibase data item", + "wikibase-dataitem": "Toolbox link text for link to connected Wikibase data item\n{{Identical|Item}}", "wikibase-editlinks": "[[Image:InterlanguageLinks-Sidebar-Monobook.png|right]]\n\tThis is a link to the page on Wikidata where interlanguage links of the current page can be edited. See the image on the right for how it looks.\n{{Identical|Edit link}}", "wikibase-editlinkstitle": "This is the '''tooltip''' text on a link in the sidebar that opens a wizard to edit interlanguage links.\n\nThe link text is {{msg-mw|Wikibase-editlinks}}.", "wikibase-linkitem-addlinks": "Link in the sidebar asking to add language links and link the current page with pages on other sites. Only visible in case the current page has no langlinks.\n{{Identical|Add link}}", diff --git a/extensions/Wikibase/client/i18n/zh-hant.json b/extensions/Wikibase/client/i18n/zh-hant.json index bfa3080..b573ee0 100644 --- a/extensions/Wikibase/client/i18n/zh-hant.json +++ b/extensions/Wikibase/client/i18n/zh-hant.json @@ -11,7 +11,8 @@ "Tntchn", "Yfdyh000", "乌拉跨氪", - "LNDDYL" + "LNDDYL", + "Cwlin0416" ] }, "wikibase-client-desc": "Wikibase擴展客戶端", @@ -29,7 +30,7 @@ "wikibase-comment-sitelink-change": "語言連結從$1更改為$2", "wikibase-comment-sitelink-remove": "刪除語言連結:$1", "wikibase-comment-multi": "$1次{{PLURAL:$1|更改|更改}}", - "wikibase-dataitem": "數據項", + "wikibase-dataitem": "{{WBREPONAME}} 項目", "wikibase-editlinks": "編輯連結", "wikibase-editlinkstitle": "編輯跨語言連結", "wikibase-linkitem-addlinks": "添加連結", diff --git a/extensions/Wikibase/client/includes/ChangeHandler.php b/extensions/Wikibase/client/includes/ChangeHandler.php index 8dd11ec..9601647 100644 --- a/extensions/Wikibase/client/includes/ChangeHandler.php +++ b/extensions/Wikibase/client/includes/ChangeHandler.php @@ -8,7 +8,6 @@ use Title; use Wikibase\Client\WikibaseClient; use Wikibase\Lib\Changes\EntityChangeFactory; -use Wikibase\Lib\Store\EntityLookup; use Wikibase\Lib\Store\EntityRevisionLookup; /** diff --git a/extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/LanguageAwareRenderer.php b/extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/LanguageAwareRenderer.php index 11a7f8a..76ce090 100644 --- a/extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/LanguageAwareRenderer.php +++ b/extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/LanguageAwareRenderer.php @@ -5,16 +5,9 @@ use InvalidArgumentException; use Language; use Status; -use Wikibase\Client\WikibaseClient; -use Wikibase\DataModel\Claim\Claims; -use Wikibase\DataModel\Entity\Entity; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\DataModel\Entity\EntityIdParsingException; -use Wikibase\DataModel\Entity\PropertyId; use Wikibase\Lib\PropertyLabelNotResolvedException; use Wikibase\Lib\SnakFormatter; -use Wikibase\Lib\Store\EntityLookup; -use Wikibase\PropertyLabelResolver; /** * Renderer of the {{#property}} parser function. diff --git a/extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/Runner.php b/extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/Runner.php index f95b8cb..f62122c 100644 --- a/extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/Runner.php +++ b/extensions/Wikibase/client/includes/DataAccess/PropertyParserFunction/Runner.php @@ -4,7 +4,6 @@ use Parser; use Wikibase\Client\WikibaseClient; -use Wikibase\DataModel\Entity\EntityId; use Wikibase\DataModel\SiteLink; use Wikibase\Lib\Store\SiteLinkLookup; diff --git a/extensions/Wikibase/client/includes/WikibaseClient.php b/extensions/Wikibase/client/includes/WikibaseClient.php index e39f341..cc338c5 100644 --- a/extensions/Wikibase/client/includes/WikibaseClient.php +++ b/extensions/Wikibase/client/includes/WikibaseClient.php @@ -15,37 +15,37 @@ use SiteStore; use ValueFormatters\FormatterOptions; use Wikibase\Client\Hooks\OtherProjectsSidebarGenerator; -use Wikibase\ClientStore; use Wikibase\Client\Hooks\ParserFunctionRegistrant; +use Wikibase\ClientStore; use Wikibase\DataAccess\PropertyParserFunction\RendererFactory; use Wikibase\DataAccess\PropertyParserFunction\Runner; use Wikibase\DataAccess\PropertyParserFunction\SnaksFinder; use Wikibase\DataModel\Entity\BasicEntityIdParser; use Wikibase\DataModel\Entity\DispatchingEntityIdParser; use Wikibase\DataModel\Entity\EntityIdParser; -use Wikibase\InternalSerialization\DeserializerFactory; -use Wikibase\Lib\Changes\EntityChangeFactory; -use Wikibase\Lib\Serializers\ForbiddenSerializer; -use Wikibase\Lib\Store\EntityLookup; use Wikibase\DataModel\Entity\Item; -use Wikibase\DirectSqlStore; use Wikibase\DataModel\Entity\Property; +use Wikibase\DirectSqlStore; use Wikibase\EntityFactory; +use Wikibase\InternalSerialization\DeserializerFactory; use Wikibase\LangLinkHandler; use Wikibase\LanguageFallbackChainFactory; +use Wikibase\Lib\Changes\EntityChangeFactory; use Wikibase\Lib\EntityIdLabelFormatter; use Wikibase\Lib\EntityRetrievingDataTypeLookup; use Wikibase\Lib\OutputFormatSnakFormatterFactory; use Wikibase\Lib\OutputFormatValueFormatterFactory; use Wikibase\Lib\PropertyDataTypeLookup; use Wikibase\Lib\PropertyInfoDataTypeLookup; +use Wikibase\Lib\Serializers\ForbiddenSerializer; use Wikibase\Lib\SnakFormatter; +use Wikibase\Lib\Store\EntityContentDataCodec; +use Wikibase\Lib\Store\EntityLookup; use Wikibase\Lib\WikibaseDataTypeBuilders; use Wikibase\Lib\WikibaseSnakFormatterBuilders; use Wikibase\Lib\WikibaseValueFormatterBuilders; use Wikibase\NamespaceChecker; use Wikibase\RepoLinker; -use Wikibase\Lib\Store\EntityContentDataCodec; use Wikibase\Settings; use Wikibase\SettingsArray; use Wikibase\StringNormalizer; @@ -629,11 +629,29 @@ } /** + * @return Deserializer + */ + public function getInternalClaimDeserializer() { + return $this->getInternalDeserializerFactory()->newClaimDeserializer(); + } + + /** * @return DeserializerFactory */ protected function getInternalDeserializerFactory() { return new DeserializerFactory( - new DataValueDeserializer( $GLOBALS['evilDataValueMap'] ), + new DataValueDeserializer( array( + 'boolean' => 'DataValues\BooleanValue', + 'number' => 'DataValues\NumberValue', + 'string' => 'DataValues\StringValue', + 'unknown' => 'DataValues\UnknownValue', + 'globecoordinate' => 'DataValues\GlobeCoordinateValue', + 'monolingualtext' => 'DataValues\MonolingualTextValue', + 'multilingualtext' => 'DataValues\MultilingualTextValue', + 'quantity' => 'DataValues\QuantityValue', + 'time' => 'DataValues\TimeValue', + 'wikibase-entityid' => 'Wikibase\DataModel\Entity\EntityIdValue', + ) ), $this->getEntityIdParser() ); } diff --git a/extensions/Wikibase/client/includes/hooks/InfoActionHookHandler.php b/extensions/Wikibase/client/includes/hooks/InfoActionHookHandler.php index 34fbcef..2f0f7a1 100644 --- a/extensions/Wikibase/client/includes/hooks/InfoActionHookHandler.php +++ b/extensions/Wikibase/client/includes/hooks/InfoActionHookHandler.php @@ -6,9 +6,9 @@ use Title; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\SiteLink; +use Wikibase\Lib\Store\SiteLinkLookup; use Wikibase\NamespaceChecker; use Wikibase\RepoLinker; -use Wikibase\Lib\Store\SiteLinkLookup; /** * @since 0.5 diff --git a/extensions/Wikibase/client/includes/hooks/LanguageLinkBadgeDisplay.php b/extensions/Wikibase/client/includes/hooks/LanguageLinkBadgeDisplay.php index de54a0f..db2c8ad 100644 --- a/extensions/Wikibase/client/includes/hooks/LanguageLinkBadgeDisplay.php +++ b/extensions/Wikibase/client/includes/hooks/LanguageLinkBadgeDisplay.php @@ -2,13 +2,13 @@ namespace Wikibase\Client\Hooks; -use Title; use Language; -use SiteList; use Sanitizer; -use Wikibase\Lib\Store\EntityLookup; -use Wikibase\DataModel\Entity\ItemId; +use SiteList; +use Title; use Wikibase\Client\ClientSiteLinkLookup; +use Wikibase\DataModel\Entity\ItemId; +use Wikibase\Lib\Store\EntityLookup; /** * Provides access to the badges of the current page's sitelinks diff --git a/extensions/Wikibase/client/includes/hooks/MovePageNotice.php b/extensions/Wikibase/client/includes/hooks/MovePageNotice.php index 411b666..7c63a0e 100644 --- a/extensions/Wikibase/client/includes/hooks/MovePageNotice.php +++ b/extensions/Wikibase/client/includes/hooks/MovePageNotice.php @@ -5,8 +5,8 @@ use Html; use Title; use Wikibase\DataModel\SiteLink; -use Wikibase\RepoLinker; use Wikibase\Lib\Store\SiteLinkLookup; +use Wikibase\RepoLinker; /** * Adds a notice about the Wikibase Item belonging to the current page diff --git a/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php b/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php index dd047b7..c3365f1 100644 --- a/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php +++ b/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php @@ -6,12 +6,12 @@ use ObjectCache; use Site; use Wikibase\Client\WikibaseClient; -use Wikibase\Lib\Store\EntityLookup; -use Wikibase\Lib\Store\EntityContentDataCodec; use Wikibase\Lib\Store\CachingEntityRevisionLookup; +use Wikibase\Lib\Store\EntityContentDataCodec; +use Wikibase\Lib\Store\EntityLookup; use Wikibase\Lib\Store\EntityRevisionLookup; -use Wikibase\Lib\Store\RevisionBasedEntityLookup; use Wikibase\Lib\Store\RedirectResolvingEntityLookup; +use Wikibase\Lib\Store\RevisionBasedEntityLookup; use Wikibase\Lib\Store\SiteLinkLookup; use Wikibase\Lib\Store\SiteLinkTable; use Wikibase\Lib\Store\WikiPageEntityRevisionLookup; diff --git a/extensions/Wikibase/client/maintenance/populateInterwiki.php b/extensions/Wikibase/client/maintenance/populateInterwiki.php index 2ac2e5a..1f618cf 100644 --- a/extensions/Wikibase/client/maintenance/populateInterwiki.php +++ b/extensions/Wikibase/client/maintenance/populateInterwiki.php @@ -65,9 +65,8 @@ ); // todo: is valid - if ( !empty ( $this->source ) ) { + if ( !empty( $this->source ) ) { try { - // make sure this has the '?' $baseUrl = rtrim( $this->source, '?' ) . '?'; } catch( Exception $e ) { $this->error( "Error: Invalid api source" ); diff --git a/extensions/Wikibase/client/tests/phpunit/MockClientStore.php b/extensions/Wikibase/client/tests/phpunit/MockClientStore.php index 08468fb..a5ce8a4 100644 --- a/extensions/Wikibase/client/tests/phpunit/MockClientStore.php +++ b/extensions/Wikibase/client/tests/phpunit/MockClientStore.php @@ -3,8 +3,8 @@ namespace Wikibase\Test; use Wikibase\ClientStore; -use Wikibase\PropertyInfoStore; use Wikibase\Lib\Store\SiteLinkLookup; +use Wikibase\PropertyInfoStore; /** * (Incomplete) ClientStore mock diff --git a/extensions/Wikibase/client/tests/phpunit/includes/ChangeHandlerTest.php b/extensions/Wikibase/client/tests/phpunit/includes/ChangeHandlerTest.php index ca2df57..1698a9e 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/ChangeHandlerTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/ChangeHandlerTest.php @@ -7,11 +7,11 @@ use Wikibase\Change; use Wikibase\ChangeHandler; use Wikibase\Client\WikibaseClient; +use Wikibase\DataModel\Entity\EntityDiff; +use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\SiteLink; use Wikibase\EntityChange; -use Wikibase\DataModel\Entity\EntityDiff; -use Wikibase\DataModel\Entity\Item; use Wikibase\ItemUsageIndex; /** diff --git a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/LanguageAwareRendererTest.php b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/LanguageAwareRendererTest.php index b0878c7..991774e 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/LanguageAwareRendererTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/LanguageAwareRendererTest.php @@ -8,9 +8,7 @@ use Wikibase\DataAccess\PropertyParserFunction\SnaksFinder; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\Entity\PropertyId; -use Wikibase\Item; use Wikibase\Lib\PropertyLabelNotResolvedException; -use Wikibase\Property; use Wikibase\PropertyValueSnak; /** diff --git a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RendererFactoryTest.php b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RendererFactoryTest.php index 86a602f..ac9b52f 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RendererFactoryTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RendererFactoryTest.php @@ -8,9 +8,6 @@ use Title; use User; use Wikibase\DataAccess\PropertyParserFunction\RendererFactory; -use Wikibase\DataModel\Entity\ItemId; -use Wikibase\LanguageFallbackChainFactory; -use Wikibase\Lib\SnakFormatter; /** * @covers Wikibase\DataAccess\PropertyParserFunction\RendererFactory diff --git a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php index d3867b1..df8c464 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php @@ -4,18 +4,9 @@ use Language; use Parser; -use ParserOptions; -use Status; use Title; -use User; -use Wikibase\DataAccess\PropertyParserFunction\Renderer; use Wikibase\DataAccess\PropertyParserFunction\Runner; -use Wikibase\DataModel\Entity\Entity; -use Wikibase\DataModel\Entity\EntityId; -use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; -use Wikibase\Test\MockPropertyLabelResolver; -use Wikibase\Test\MockRepository; /** * @covers Wikibase\DataAccess\PropertyParserFunction\Runner diff --git a/extensions/Wikibase/client/tests/phpunit/includes/OtherProjectsSitesProviderTest.php b/extensions/Wikibase/client/tests/phpunit/includes/OtherProjectsSitesProviderTest.php index 292cc03..79bdaef 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/OtherProjectsSitesProviderTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/OtherProjectsSitesProviderTest.php @@ -5,9 +5,7 @@ use MediaWikiSite; use Site; use SiteList; -use SiteStore; use Wikibase\Client\OtherProjectsSitesProvider; -use Wikibase\Client\WikibaseClient; use Wikibase\Test\MockSiteStore; /** diff --git a/extensions/Wikibase/client/tests/phpunit/includes/SiteLinkCommentCreatorTest.php b/extensions/Wikibase/client/tests/phpunit/includes/SiteLinkCommentCreatorTest.php index c0b0a00..4835540 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/SiteLinkCommentCreatorTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/SiteLinkCommentCreatorTest.php @@ -4,9 +4,9 @@ use Diff\DiffOp\Diff\Diff; use Diff\DiffOp\DiffOpChange; +use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\SiteLink; -use Wikibase\DataModel\Entity\Item; use Wikibase\ItemChange; use Wikibase\SiteLinkCommentCreator; diff --git a/extensions/Wikibase/client/tests/phpunit/includes/hooks/LanguageLinkBadgeDisplayTest.php b/extensions/Wikibase/client/tests/phpunit/includes/hooks/LanguageLinkBadgeDisplayTest.php index 1813b3e..80cab92 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/hooks/LanguageLinkBadgeDisplayTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/hooks/LanguageLinkBadgeDisplayTest.php @@ -2,11 +2,11 @@ namespace Wikibase\Test; -use Wikibase\Client\Hooks\LanguageLinkBadgeDisplay; -use Wikibase\Client\ClientSiteLinkLookup; -use Wikibase\DataModel\Entity\Item; use Language; use Title; +use Wikibase\Client\ClientSiteLinkLookup; +use Wikibase\Client\Hooks\LanguageLinkBadgeDisplay; +use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; /** diff --git a/extensions/Wikibase/lib/WikibaseLib.php b/extensions/Wikibase/lib/WikibaseLib.php index b6d422e..afe7ad9 100644 --- a/extensions/Wikibase/lib/WikibaseLib.php +++ b/extensions/Wikibase/lib/WikibaseLib.php @@ -52,22 +52,6 @@ include_once( __DIR__ . '/../vendor/autoload.php' ); } -if( !array_key_exists( 'evilDataValueMap', $GLOBALS ) ) { - $GLOBALS['evilDataValueMap'] = array(); -} - -$GLOBALS['evilDataValueMap'] = array_merge( - $GLOBALS['evilDataValueMap'], - array( - 'globecoordinate' => 'DataValues\GlobeCoordinateValue', - 'monolingualtext' => 'DataValues\MonolingualTextValue', - 'multilingualtext' => 'DataValues\MultilingualTextValue', - 'quantity' => 'DataValues\QuantityValue', - 'time' => 'DataValues\TimeValue', - 'wikibase-entityid' => 'Wikibase\DataModel\Entity\EntityIdValue', - ) -); - call_user_func( function() { global $wgExtensionCredits, $wgJobClasses, $wgHooks, $wgResourceModules, $wgMessagesDirs; diff --git a/extensions/Wikibase/lib/config/WikibaseLib.default.php b/extensions/Wikibase/lib/config/WikibaseLib.default.php index 6f82f10..292605f 100644 --- a/extensions/Wikibase/lib/config/WikibaseLib.default.php +++ b/extensions/Wikibase/lib/config/WikibaseLib.default.php @@ -98,6 +98,7 @@ 'commonsMedia', 'globe-coordinate', 'quantity', + 'monolingualtext', 'string', 'time', 'url', @@ -113,7 +114,6 @@ if ( defined( 'WB_EXPERIMENTAL_FEATURES' ) && WB_EXPERIMENTAL_FEATURES ) { // experimental data types $defaults['dataTypes'] = array_merge( $defaults['dataTypes'], array( - 'monolingualtext', //'multilingual-text', ) ); } diff --git a/extensions/Wikibase/lib/includes/DataValueFactory.php b/extensions/Wikibase/lib/includes/DataValueFactory.php index 8f4c5a3..8120c58 100644 --- a/extensions/Wikibase/lib/includes/DataValueFactory.php +++ b/extensions/Wikibase/lib/includes/DataValueFactory.php @@ -21,7 +21,18 @@ * * @var string[] */ - protected $values = array(); + protected $values = array( + 'boolean' => 'DataValues\BooleanValue', + 'number' => 'DataValues\NumberValue', + 'string' => 'DataValues\StringValue', + 'unknown' => 'DataValues\UnknownValue', + 'globecoordinate' => 'DataValues\GlobeCoordinateValue', + 'monolingualtext' => 'DataValues\MonolingualTextValue', + 'multilingualtext' => 'DataValues\MultilingualTextValue', + 'quantity' => 'DataValues\QuantityValue', + 'time' => 'DataValues\TimeValue', + 'wikibase-entityid' => 'Wikibase\DataModel\Entity\EntityIdValue', + ); /** * Singleton. @@ -36,10 +47,6 @@ if ( $instance === null ) { $instance = new DataValueFactory(); - - foreach ( $GLOBALS['evilDataValueMap'] as $type => $class ) { - $instance->registerDataValue( $type, $class ); - } } return $instance; diff --git a/extensions/Wikibase/lib/includes/Localizer/DispatchingExceptionLocalizer.php b/extensions/Wikibase/lib/includes/Localizer/DispatchingExceptionLocalizer.php index 9373b3c..6d7fb8b 100644 --- a/extensions/Wikibase/lib/includes/Localizer/DispatchingExceptionLocalizer.php +++ b/extensions/Wikibase/lib/includes/Localizer/DispatchingExceptionLocalizer.php @@ -33,6 +33,7 @@ * @param Exception $exception * * @return Message + * @throws InvalidArgumentException */ public function getExceptionMessage( Exception $exception ) { $localizer = $this->getLocalizerForException( $exception ); diff --git a/extensions/Wikibase/lib/includes/Localizer/MessageExceptionLocalizer.php b/extensions/Wikibase/lib/includes/Localizer/MessageExceptionLocalizer.php index 9710ce4..be98467 100644 --- a/extensions/Wikibase/lib/includes/Localizer/MessageExceptionLocalizer.php +++ b/extensions/Wikibase/lib/includes/Localizer/MessageExceptionLocalizer.php @@ -20,6 +20,7 @@ * @param Exception $exception * * @return Message + * @throws InvalidArgumentException */ public function getExceptionMessage( Exception $exception ) { if ( !$this->hasExceptionMessage( $exception ) ) { diff --git a/extensions/Wikibase/lib/includes/Localizer/ParseExceptionLocalizer.php b/extensions/Wikibase/lib/includes/Localizer/ParseExceptionLocalizer.php index 745e3cb..dc2dc99 100644 --- a/extensions/Wikibase/lib/includes/Localizer/ParseExceptionLocalizer.php +++ b/extensions/Wikibase/lib/includes/Localizer/ParseExceptionLocalizer.php @@ -19,9 +19,10 @@ /** * @see ExceptionLocalizer::getExceptionMessage() * - * @param ParseException $exception + * @param Exception $exception * * @return Message + * @throws InvalidArgumentException */ public function getExceptionMessage( Exception $exception ) { if ( !$this->hasExceptionMessage( $exception ) ) { diff --git a/extensions/Wikibase/lib/includes/Reporting/ReportingExceptionHandler.php b/extensions/Wikibase/lib/includes/Reporting/ReportingExceptionHandler.php index d2daebc..2157121 100644 --- a/extensions/Wikibase/lib/includes/Reporting/ReportingExceptionHandler.php +++ b/extensions/Wikibase/lib/includes/Reporting/ReportingExceptionHandler.php @@ -3,7 +3,6 @@ namespace Wikibase\Lib\Reporting; use Exception; -use Wikibase\Lib\Reporting\MessageReporter; /** * ReportingExceptionHandler reports exceptions to a MessageReporter. diff --git a/extensions/Wikibase/lib/includes/WikibaseDataTypeBuilders.php b/extensions/Wikibase/lib/includes/WikibaseDataTypeBuilders.php index 92300b8..3e84ccc 100644 --- a/extensions/Wikibase/lib/includes/WikibaseDataTypeBuilders.php +++ b/extensions/Wikibase/lib/includes/WikibaseDataTypeBuilders.php @@ -92,10 +92,10 @@ 'time' => array( $this, 'buildTimeType' ), 'url' => array( $this, 'buildUrlType' ), 'wikibase-item' => array( $this, 'buildItemType' ), + 'monolingualtext' => array( $this, 'buildMonolingualTextType' ), ); $experimental = array( - 'monolingualtext' => array( $this, 'buildMonolingualTextType' ), // 'multilingualtext' => array( $this, 'buildMultilingualTextType' ), ); diff --git a/extensions/Wikibase/lib/includes/changes/EntityChange.php b/extensions/Wikibase/lib/includes/changes/EntityChange.php index a6db8d7..df4ab86 100644 --- a/extensions/Wikibase/lib/includes/changes/EntityChange.php +++ b/extensions/Wikibase/lib/includes/changes/EntityChange.php @@ -6,6 +6,7 @@ use RecentChange; use Revision; use User; +use Wikibase\Client\WikibaseClient; use Wikibase\DataModel\Entity\BasicEntityIdParser; use Wikibase\Repo\WikibaseRepo; @@ -348,6 +349,20 @@ } } + private function getClaimDeserializer() { + // FIXME: the change row system needs to be reworked to either allow for sane injection + // or to avoid this kind of configuration dependent tasks. + if ( defined( 'WB_VERSION' ) ) { + return WikibaseRepo::getDefaultInstance()->getInternalClaimDeserializer(); + } + else if ( defined( 'WBC_VERSION' ) ) { + throw WikibaseClient::getDefaultInstance()->getInternalClaimDeserializer(); + } + else { + throw new \RuntimeException( 'Need either client or repo loaded' ); + } + } + /** * @see DiffChange::objectifyArrays * @@ -370,8 +385,7 @@ ) { unset( $data['_claimclass_'] ); - $claim = call_user_func( array( $class, 'newFromArray' ), $data ); - return $claim; + return $this->getClaimDeserializer()->deserialize( $data ); } } diff --git a/extensions/Wikibase/lib/includes/formatters/EntityIdHtmlLinkFormatter.php b/extensions/Wikibase/lib/includes/formatters/EntityIdHtmlLinkFormatter.php index 8e3090f..2273325 100644 --- a/extensions/Wikibase/lib/includes/formatters/EntityIdHtmlLinkFormatter.php +++ b/extensions/Wikibase/lib/includes/formatters/EntityIdHtmlLinkFormatter.php @@ -7,8 +7,8 @@ use Title; use ValueFormatters\FormatterOptions; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\Lib\Store\EntityLookup; use Wikibase\EntityTitleLookup; +use Wikibase\Lib\Store\EntityLookup; /** * Formats entity IDs by generating an HTML link to the corresponding page title. diff --git a/extensions/Wikibase/lib/includes/formatters/EntityIdLabelFormatter.php b/extensions/Wikibase/lib/includes/formatters/EntityIdLabelFormatter.php index 47df8d0..f108ebb 100644 --- a/extensions/Wikibase/lib/includes/formatters/EntityIdLabelFormatter.php +++ b/extensions/Wikibase/lib/includes/formatters/EntityIdLabelFormatter.php @@ -7,8 +7,8 @@ use ValueFormatters\FormatterOptions; use ValueFormatters\FormattingException; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\Lib\Store\EntityLookup; use Wikibase\LanguageFallbackChain; +use Wikibase\Lib\Store\EntityLookup; use Wikibase\Lib\Store\StorageException; use Wikibase\Lib\Store\UnresolvedRedirectException; diff --git a/extensions/Wikibase/lib/includes/serializers/LegacyInternalEntitySerializer.php b/extensions/Wikibase/lib/includes/serializers/LegacyInternalEntitySerializer.php index 08d87f8..062bbf3 100644 --- a/extensions/Wikibase/lib/includes/serializers/LegacyInternalEntitySerializer.php +++ b/extensions/Wikibase/lib/includes/serializers/LegacyInternalEntitySerializer.php @@ -3,8 +3,8 @@ namespace Wikibase\Lib\Serializers; use InvalidArgumentException; -use Wikibase\DataModel\Entity\Entity; use Serializers\Serializer as NewStyleSerializer; +use Wikibase\DataModel\Entity\Entity; /** * Serializer for generating the legacy serialization of an Entity. diff --git a/extensions/Wikibase/lib/includes/serializers/SnakSerializer.php b/extensions/Wikibase/lib/includes/serializers/SnakSerializer.php index cbf315c..5993a1a 100644 --- a/extensions/Wikibase/lib/includes/serializers/SnakSerializer.php +++ b/extensions/Wikibase/lib/includes/serializers/SnakSerializer.php @@ -4,13 +4,11 @@ use DataValues\DataValueFactory; use InvalidArgumentException; -use Wikibase\DataModel\Entity\EntityId; use Wikibase\DataModel\Entity\PropertyId; use Wikibase\Lib\PropertyDataTypeLookup; use Wikibase\Lib\PropertyNotFoundException; use Wikibase\PropertyValueSnak; use Wikibase\Snak; -use Wikibase\SnakObject; /** * Serializer for Snak objects. diff --git a/extensions/Wikibase/lib/includes/store/CachingEntityRevisionLookup.php b/extensions/Wikibase/lib/includes/store/CachingEntityRevisionLookup.php index 84542ee..c6073cd 100644 --- a/extensions/Wikibase/lib/includes/store/CachingEntityRevisionLookup.php +++ b/extensions/Wikibase/lib/includes/store/CachingEntityRevisionLookup.php @@ -3,7 +3,6 @@ namespace Wikibase\Lib\Store; use BagOStuff; -use Wikibase\DataModel\Entity\Entity; use Wikibase\DataModel\Entity\EntityId; use Wikibase\EntityRevision; diff --git a/extensions/Wikibase/lib/includes/store/EntityStore.php b/extensions/Wikibase/lib/includes/store/EntityStore.php index 28f9da4..2dd5a11 100644 --- a/extensions/Wikibase/lib/includes/store/EntityStore.php +++ b/extensions/Wikibase/lib/includes/store/EntityStore.php @@ -7,7 +7,6 @@ use Wikibase\DataModel\Entity\Entity; use Wikibase\DataModel\Entity\EntityId; use Wikibase\EntityRevision; -use Wikibase\Lib\Store\StorageException; /** * Storage interface for Entities. diff --git a/extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php b/extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php index a8a5081..501fdc2 100644 --- a/extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php +++ b/extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php @@ -3,7 +3,6 @@ use Exception; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\Lib\Store\StorageException; /** * Exception indicating that an attempt was made to access a redirected EntityId diff --git a/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php b/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php index ba487a2..c04fa7a 100644 --- a/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php +++ b/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php @@ -4,7 +4,6 @@ use InvalidArgumentException; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\DataModel\Entity\EntityIdParser; use Wikibase\Lib\Store\EntityInfoBuilder; use Wikibase\Lib\Store\EntityInfoBuilderFactory; use Wikibase\Lib\Store\EntityRevisionLookup; diff --git a/extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php b/extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php index 6a7a137..7f0bf78 100644 --- a/extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php +++ b/extensions/Wikibase/lib/includes/store/sql/TermSqlIndex.php @@ -574,7 +574,7 @@ $entityIds = array_map( function( $entity ) { // FIXME: this only works for items and properties - return LegacyIdInterpreter::newIdFromTypeAndNumber( $entity->term_entity_type, (int)$entity->term_entity_id ); + return LegacyIdInterpreter::newIdFromTypeAndNumber( $entity->term_entity_type, $entity->term_entity_id ); }, iterator_to_array( $entities ) ); @@ -692,7 +692,7 @@ if ( $hasWeight ) { $weights = array(); foreach ( $obtainedIDs as $obtainedID ) { - $weights[intval( $obtainedID->term_entity_id )] = floatval( $obtainedID->term_weight ); + $weights[$obtainedID->term_entity_id] = floatval( $obtainedID->term_weight ); } // this is a post-search sorting by weight. This allows us to not require an additional @@ -709,7 +709,7 @@ } else { $numericIds = array(); foreach ( $obtainedIDs as $obtainedID ) { - $numericIds[] = intval( $obtainedID->term_entity_id ); + $numericIds[] = $obtainedID->term_entity_id; } } diff --git a/extensions/Wikibase/lib/tests/phpunit/EntityRetrievingDataTypeLookupTest.php b/extensions/Wikibase/lib/tests/phpunit/EntityRetrievingDataTypeLookupTest.php index 43b1e4d..e298e3d 100644 --- a/extensions/Wikibase/lib/tests/phpunit/EntityRetrievingDataTypeLookupTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/EntityRetrievingDataTypeLookupTest.php @@ -2,9 +2,9 @@ namespace Wikibase\Lib\Test; +use Wikibase\DataModel\Entity\Property; use Wikibase\DataModel\Entity\PropertyId; use Wikibase\Lib\EntityRetrievingDataTypeLookup; -use Wikibase\DataModel\Entity\Property; use Wikibase\Test\MockRepository; /** diff --git a/extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php b/extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php index b3828c3..f080c4c 100644 --- a/extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php @@ -4,12 +4,12 @@ use User; use Wikibase\DataModel\Entity\BasicEntityIdParser; -use Wikibase\DataModel\Entity\ItemId; -use Wikibase\DataModel\Entity\PropertyId; -use Wikibase\DataModel\SiteLink; use Wikibase\DataModel\Entity\Entity; use Wikibase\DataModel\Entity\Item; +use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\Entity\Property; +use Wikibase\DataModel\Entity\PropertyId; +use Wikibase\DataModel\SiteLink; use Wikibase\Lib\Store\EntityRedirect; /** diff --git a/extensions/Wikibase/lib/tests/phpunit/NoBadDependencyUsageTest.php b/extensions/Wikibase/lib/tests/phpunit/NoBadDependencyUsageTest.php index 0adfd9c..b74eda6 100644 --- a/extensions/Wikibase/lib/tests/phpunit/NoBadDependencyUsageTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/NoBadDependencyUsageTest.php @@ -22,8 +22,8 @@ public function testNoClientUsageInLib() { // Increasing this allowance is forbidden - $this->assertStringNotInLib( 'WikibaseClient' . '::', 2 ); - $this->assertStringNotInLib( 'Wikibase\\Client\\', 2 ); + $this->assertStringNotInLib( 'WikibaseClient' . '::', 3 ); + $this->assertStringNotInLib( 'Wikibase\\Client\\', 3 ); } public function testNoSettingsUsageOutsideLib() { diff --git a/extensions/Wikibase/lib/tests/phpunit/WikibaseDataTypeBuildersTest.php b/extensions/Wikibase/lib/tests/phpunit/WikibaseDataTypeBuildersTest.php index fbb0411..7ce7a57 100644 --- a/extensions/Wikibase/lib/tests/phpunit/WikibaseDataTypeBuildersTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/WikibaseDataTypeBuildersTest.php @@ -164,13 +164,14 @@ array( 'quantity', QuantityValue::newFromNumber( 5 ), true, 'Simple integer' ), array( 'quantity', QuantityValue::newFromNumber( 5, 'm' ), false, 'We don\'t support units yet' ), array( 'quantity', QuantityValue::newFromDecimal( '-11.234', '1', '-10', '-12' ), true, 'decimal strings' ), + + //monolingual text + array( 'monolingualtext', new MonoLingualTextValue( 'en', 'text' ), true, 'Simple value' ), + array( 'monolingualtext', new MonoLingualTextValue( 'grrr', 'text' ), false, 'Not a valid language' ), ); if ( defined( 'WB_EXPERIMENTAL_FEATURES' ) && WB_EXPERIMENTAL_FEATURES ) { $cases = array_merge( $cases, array( - - array( 'monolingualtext', new MonoLingualTextValue( 'en', 'text' ), true, 'Simple value' ), - array( 'monolingualtext', new MonoLingualTextValue( 'grrr', 'text' ), false, 'Not a valid language' ), // .... ) ); diff --git a/extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php b/extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php index 1cd3575..05a6c72 100644 --- a/extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php @@ -6,10 +6,10 @@ use Diff\DiffOp\DiffOpChange; use Exception; use Wikibase\DataModel\Entity\Entity; -use Wikibase\EntityChange; use Wikibase\DataModel\Entity\Item; -use Wikibase\ItemChange; use Wikibase\DataModel\Entity\ItemDiff; +use Wikibase\EntityChange; +use Wikibase\ItemChange; /** * @covers Wikibase\ItemChange diff --git a/extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php b/extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php index 6cea048..f9a9346 100644 --- a/extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php +++ b/extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php @@ -13,9 +13,9 @@ use Wikibase\DiffChange; use Wikibase\Entity; use Wikibase\EntityChange; -use Wikibase\Lib\Changes\EntityChangeFactory; use Wikibase\EntityFactory; use Wikibase\Item; +use Wikibase\Lib\Changes\EntityChangeFactory; use Wikibase\Property; use Wikibase\PropertyNoValueSnak; diff --git a/extensions/Wikibase/lib/tests/phpunit/entity/EntityFactoryTest.php b/extensions/Wikibase/lib/tests/phpunit/entity/EntityFactoryTest.php index da5e4e1..a634e46 100644 --- a/extensions/Wikibase/lib/tests/phpunit/entity/EntityFactoryTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/entity/EntityFactoryTest.php @@ -2,9 +2,9 @@ namespace Wikibase\Test; -use Wikibase\EntityFactory; use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\Property; +use Wikibase\EntityFactory; /** * @covers Wikibase\EntityFactory diff --git a/extensions/Wikibase/lib/tests/phpunit/formatters/EntityIdLabelFormatterTest.php b/extensions/Wikibase/lib/tests/phpunit/formatters/EntityIdLabelFormatterTest.php index 7275397..3570ae2 100644 --- a/extensions/Wikibase/lib/tests/phpunit/formatters/EntityIdLabelFormatterTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/formatters/EntityIdLabelFormatterTest.php @@ -12,7 +12,6 @@ use Wikibase\LanguageFallbackChainFactory; use Wikibase\Lib\EntityIdLabelFormatter; use Wikibase\Lib\Store\EntityRedirect; -use Wikibase\Lib\Store\RedirectResolvingEntityLookup; /** * @covers Wikibase\Lib\EntityIdLabelFormatter diff --git a/extensions/Wikibase/lib/tests/phpunit/parsers/MonthNameUnlocalizerTest.php b/extensions/Wikibase/lib/tests/phpunit/parsers/MonthNameUnlocalizerTest.php index c28df04..058696a 100644 --- a/extensions/Wikibase/lib/tests/phpunit/parsers/MonthNameUnlocalizerTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/parsers/MonthNameUnlocalizerTest.php @@ -3,7 +3,6 @@ namespace Wikibase\Lib\Parsers\Test; use Language; -use ValueParsers\ParserOptions; use Wikibase\Lib\Parsers\MonthNameUnlocalizer; /** diff --git a/extensions/Wikibase/lib/tests/phpunit/serializers/DataModelSerializationRoundtripTest.php b/extensions/Wikibase/lib/tests/phpunit/serializers/DataModelSerializationRoundtripTest.php index 284b44b..a465ebf 100644 --- a/extensions/Wikibase/lib/tests/phpunit/serializers/DataModelSerializationRoundtripTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/serializers/DataModelSerializationRoundtripTest.php @@ -22,7 +22,6 @@ use Wikibase\DataModel\Snak\PropertyNoValueSnak; use Wikibase\DataModel\Snak\PropertySomeValueSnak; use Wikibase\DataModel\Snak\PropertyValueSnak; -use Wikibase\DataModel\Snak\Snak; use Wikibase\DataModel\Snak\SnakList; use Wikibase\Lib\Serializers\SerializationOptions; diff --git a/extensions/Wikibase/lib/tests/phpunit/serializers/DispatchingEntitySerializerTest.php b/extensions/Wikibase/lib/tests/phpunit/serializers/DispatchingEntitySerializerTest.php index 6998b4a..3319e0a 100644 --- a/extensions/Wikibase/lib/tests/phpunit/serializers/DispatchingEntitySerializerTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/serializers/DispatchingEntitySerializerTest.php @@ -2,14 +2,14 @@ namespace Wikibase\Test; -use Wikibase\DataModel\Entity\ItemId; -use Wikibase\DataModel\Entity\PropertyId; -use Wikibase\DataModel\SiteLink; use Wikibase\DataModel\Entity\Entity; use Wikibase\DataModel\Entity\Item; +use Wikibase\DataModel\Entity\ItemId; +use Wikibase\DataModel\Entity\Property; +use Wikibase\DataModel\Entity\PropertyId; +use Wikibase\DataModel\SiteLink; use Wikibase\Lib\Serializers\ItemSerializer; use Wikibase\Lib\Serializers\SerializerFactory; -use Wikibase\DataModel\Entity\Property; /** * @covers Wikibase\Lib\Serializers\DispatchingEntitySerializer diff --git a/extensions/Wikibase/lib/tests/phpunit/serializers/LegacyInternalEntitySerializerTest.php b/extensions/Wikibase/lib/tests/phpunit/serializers/LegacyInternalEntitySerializerTest.php index 4bd0f39..c2eb039 100644 --- a/extensions/Wikibase/lib/tests/phpunit/serializers/LegacyInternalEntitySerializerTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/serializers/LegacyInternalEntitySerializerTest.php @@ -4,7 +4,6 @@ use DataValues\Serializers\DataValueSerializer; use RuntimeException; -use Wikibase\DataModel\Entity\Entity; use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\InternalSerialization\SerializerFactory; diff --git a/extensions/Wikibase/lib/tests/phpunit/store/CachingEntityRevisionLookupTest.php b/extensions/Wikibase/lib/tests/phpunit/store/CachingEntityRevisionLookupTest.php index d00c6a2..06e81a1 100644 --- a/extensions/Wikibase/lib/tests/phpunit/store/CachingEntityRevisionLookupTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/store/CachingEntityRevisionLookupTest.php @@ -4,9 +4,9 @@ use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; -use Wikibase\Lib\Store\EntityLookup; use Wikibase\EntityRevision; use Wikibase\Lib\Store\CachingEntityRevisionLookup; +use Wikibase\Lib\Store\EntityLookup; use Wikibase\Lib\Store\EntityRedirect; use Wikibase\Lib\Store\UnresolvedRedirectException; diff --git a/extensions/Wikibase/lib/tests/phpunit/store/ItemUsageIndexTest.php b/extensions/Wikibase/lib/tests/phpunit/store/ItemUsageIndexTest.php index 6cbf903..22c908c 100644 --- a/extensions/Wikibase/lib/tests/phpunit/store/ItemUsageIndexTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/store/ItemUsageIndexTest.php @@ -4,9 +4,9 @@ use MediaWikiSite; use Site; +use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\SiteLink; -use Wikibase\DataModel\Entity\Item; use Wikibase\ItemUsageIndex; /** diff --git a/extensions/Wikibase/lib/tests/phpunit/store/SiteLinkTableTest.php b/extensions/Wikibase/lib/tests/phpunit/store/SiteLinkTableTest.php index 505ab4a..51eb346 100644 --- a/extensions/Wikibase/lib/tests/phpunit/store/SiteLinkTableTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/store/SiteLinkTableTest.php @@ -2,9 +2,9 @@ namespace Wikibase\Test; +use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\SiteLink; -use Wikibase\DataModel\Entity\Item; use Wikibase\Lib\Store\SiteLinkTable; /** diff --git a/extensions/Wikibase/repo/i18n/av.json b/extensions/Wikibase/repo/i18n/av.json new file mode 100644 index 0000000..3cdcec3 --- /dev/null +++ b/extensions/Wikibase/repo/i18n/av.json @@ -0,0 +1,8 @@ +{ + "@metadata": { + "authors": [ + "Gazimagomedov" + ] + }, + "wikibase-gotolinkedpage-submit": "Ине" +} diff --git a/extensions/Wikibase/repo/i18n/gu.json b/extensions/Wikibase/repo/i18n/gu.json index 733592d..347f7b2 100644 --- a/extensions/Wikibase/repo/i18n/gu.json +++ b/extensions/Wikibase/repo/i18n/gu.json @@ -37,13 +37,12 @@ "wikibase-snakview-variations-somevalue-label": "અજાણી કિંમત", "wikibase-snakview-variations-novalue-label": "કોઇ કિંમત નથી", "wikibase-snakview-snaktypeselector-value": "પોતાની કિંમત", - "wikibase-snakview-snaktypeselector-somevalue": "અજાણી કિંમત", - "wikibase-snakview-snaktypeselector-novalue": "કોઇ કિંમત નથી", "wikibase-entityselector-more": "વધુ", "special-itembytitle": "શિર્ષક વડે વસ્તુ", "wikibase-itembytitle-lookup-site": "સાઇટ:", "wikibase-itembytitle-lookup-page": "પાનું:", "wikibase-itembytitle-submit": "શોધો", + "wikibase-gotolinkedpage-submit": "જાઓ", "wikibase-itemdisambiguation-lookup-language": "ભાષા:", "wikibase-itemdisambiguation-lookup-label": "લેબલ:", "wikibase-itemdisambiguation-submit": "શોધ", diff --git a/extensions/Wikibase/repo/i18n/pl.json b/extensions/Wikibase/repo/i18n/pl.json index aa65f6c..93993f0 100644 --- a/extensions/Wikibase/repo/i18n/pl.json +++ b/extensions/Wikibase/repo/i18n/pl.json @@ -101,6 +101,7 @@ "wikibase-itembytitle-lookup-page": "Strona:", "wikibase-itembytitle-submit": "Szukaj", "wikibase-itembytitle-create": "Możesz także [{{fullurl:Special:NewItem|site=$1&page=$2}} utworzyć element].", + "wikibase-gotolinkedpage-lookup-site": "Witryna:", "wikibase-gotolinkedpage-lookup-item": "Identyfikator elementu:", "wikibase-gotolinkedpage-submit": "Dalej", "special-itemdisambiguation": "Ujednoznacznienie elementów", diff --git a/extensions/Wikibase/repo/i18n/pt.json b/extensions/Wikibase/repo/i18n/pt.json index 7a7bd4a..a436d9f 100644 --- a/extensions/Wikibase/repo/i18n/pt.json +++ b/extensions/Wikibase/repo/i18n/pt.json @@ -90,7 +90,7 @@ "wikibase-move-error": "Não pode mover páginas fora ou dentro de um domínio de dados.", "wikibase-validator-sitelink-conflict": "A ligação $1 já está a ser utilizada pelo item $2. Pode removê-la de $2 se não pertencer mais ou fundir os itens se forem exatamente sobre o mesmo tópico.", "wikibase-validator-label-conflict": "A propriedade $3 já possui a etiqueta \"$1\" associada com o código de idioma $2.", - "wikibase-validator-label-with-description-conflict": "O item $3 já possui o rótulo \"$1\" e a descrição \"$4\" associados com o código de idioma $2.", + "wikibase-validator-label-with-description-conflict": "O item $3 já possui o rótulo \"$1\" associado com o código de idioma $2, utilizando o mesmo texto para a descrição.", "wikibase-wikibaserepopage-not-itemid": "\"$1\" não é o ID de um item válido.", "wikibase-wikibaserepopage-invalid-langcode": "O identificador de idioma \"$1\" é desconhecido. Por favor, utilize um identificador de idioma reconhecido pelo sistema, como \"pt\".", "wikibase-wikibaserepopage-invalid-id": "O identificador \"$1\" não é conhecido pelo sistema. Utilize um identificador válido.", @@ -195,6 +195,7 @@ "wikibase-entitydata-bad-revision": "Não é possível mostrar revisão $2 da entidade $1.", "wikibase-entitydata-bad-id": "ID inválido: $1.", "wikibase-entitydata-unsupported-format": "O formato de dados $1 não é suportado por esta interface.", + "wikibase-entitydata-storage-error": "Falha ao carregar a entidade $1.", "wikibase-entitydata-title": "Dados de entidade", "wikibase-api-unresolved-redirect": "O identificador (ID) fornecido refere-se a um redirecionamento, o que não é suportado neste contexto.", "wikibase-conflict-patched": "A sua edição foi actualizada para a versão mais recente.", @@ -275,7 +276,7 @@ "wikibase-listdatatypes-monolingualtext-head": "Texto monolingue", "wikibase-listdatatypes-multilingualtext-head": "Texto multilingue", "wikibase-listdatatypes-string-head": "Cadeia", - "wikibase-listdatatypes-time-head": "Tempo", + "wikibase-listdatatypes-time-head": "Hora", "wikibase-listdatatypes-url-head": "URL", "wikibase-concept-uri-tooltip": "URI que identifica o conceito descrito por este item", "datatypes-type-url": "URL", diff --git a/extensions/Wikibase/repo/i18n/sr-el.json b/extensions/Wikibase/repo/i18n/sr-el.json index 7260344..880d091 100644 --- a/extensions/Wikibase/repo/i18n/sr-el.json +++ b/extensions/Wikibase/repo/i18n/sr-el.json @@ -73,6 +73,8 @@ "wikibase-itembytitle-lookup-page": "Strana:", "wikibase-itembytitle-submit": "Pretraži", "wikibase-itembytitle-create": "Možete takođe i [{{fullurl:Special:NewItem|site=$1&page=$2}} napraviti stavku].", + "wikibase-gotolinkedpage-lookup-site": "Sajt:", + "wikibase-gotolinkedpage-submit": "Idi", "special-itemdisambiguation": "Višeznačna stavka", "wikibase-itemdisambiguation-lookup-fieldset": "Pretraga stavki prema jeziku i nazivu", "wikibase-itemdisambiguation-lookup-language": "Jezik:", diff --git a/extensions/Wikibase/repo/i18n/zh-hant.json b/extensions/Wikibase/repo/i18n/zh-hant.json index 57ef977..327eacb 100644 --- a/extensions/Wikibase/repo/i18n/zh-hant.json +++ b/extensions/Wikibase/repo/i18n/zh-hant.json @@ -11,7 +11,8 @@ "Tntchn", "Zolo", "아라", - "LNDDYL" + "LNDDYL", + "Cwlin0416" ] }, "wikibase-desc": "結構化數據存儲庫", @@ -103,6 +104,9 @@ "wikibase-itembytitle-lookup-page": "頁面:", "wikibase-itembytitle-submit": "搜尋", "wikibase-itembytitle-create": "您也可以[{{fullurl:Special:NewItem|site=$1&page=$2}} 創建項目]。", + "wikibase-gotolinkedpage-lookup-site": "網站:", + "wikibase-gotolinkedpage-lookup-item": "項目 ID:", + "wikibase-gotolinkedpage-submit": "執行", "special-itemdisambiguation": "項目消歧義", "wikibase-itemdisambiguation-lookup-fieldset": "按語言和標籤搜尋項目", "wikibase-itemdisambiguation-lookup-language": "語言:", diff --git a/extensions/Wikibase/repo/includes/WikibaseRepo.php b/extensions/Wikibase/repo/includes/WikibaseRepo.php index 3f93a4e..2f23620 100644 --- a/extensions/Wikibase/repo/includes/WikibaseRepo.php +++ b/extensions/Wikibase/repo/includes/WikibaseRepo.php @@ -805,11 +805,29 @@ } /** + * @return Deserializer + */ + public function getInternalClaimDeserializer() { + return $this->getInternalDeserializerFactory()->newClaimDeserializer(); + } + + /** * @return DeserializerFactory */ protected function getInternalDeserializerFactory() { return new DeserializerFactory( - new DataValueDeserializer( $GLOBALS['evilDataValueMap'] ), + new DataValueDeserializer( array( + 'boolean' => 'DataValues\BooleanValue', + 'number' => 'DataValues\NumberValue', + 'string' => 'DataValues\StringValue', + 'unknown' => 'DataValues\UnknownValue', + 'globecoordinate' => 'DataValues\GlobeCoordinateValue', + 'monolingualtext' => 'DataValues\MonolingualTextValue', + 'multilingualtext' => 'DataValues\MultilingualTextValue', + 'quantity' => 'DataValues\QuantityValue', + 'time' => 'DataValues\TimeValue', + 'wikibase-entityid' => 'Wikibase\DataModel\Entity\EntityIdValue', + ) ), $this->getEntityIdParser() ); } diff --git a/extensions/Wikibase/repo/includes/content/ItemContent.php b/extensions/Wikibase/repo/includes/content/ItemContent.php index 38bc3b5..48960f6 100644 --- a/extensions/Wikibase/repo/includes/content/ItemContent.php +++ b/extensions/Wikibase/repo/includes/content/ItemContent.php @@ -275,7 +275,7 @@ */ public function getEntityStatus() { $status = parent::getEntityStatus(); - $hasSiteLinks = $this->getItem()->hasSiteLinks(); + $hasSiteLinks = !$this->getItem()->getSiteLinkList()->isEmpty(); if ( $status === self::STATUS_EMPTY && $hasSiteLinks ) { $status = self::STATUS_LINKSTUB; diff --git a/extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php b/extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php index f867577..7697d37 100644 --- a/extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php +++ b/extensions/Wikibase/repo/includes/store/sql/EntityPerPageTable.php @@ -255,7 +255,7 @@ foreach ( $rows as $row ) { // FIXME: this only works for items and properties - $entities[] = LegacyIdInterpreter::newIdFromTypeAndNumber( $row->entity_type, (int)$row->entity_id ); + $entities[] = LegacyIdInterpreter::newIdFromTypeAndNumber( $row->entity_type, $row->entity_id ); } return $entities; diff --git a/extensions/Wikibase/repo/tests/phpunit/includes/content/EntityContentTest.php b/extensions/Wikibase/repo/tests/phpunit/includes/content/EntityContentTest.php index e175c59..90ed889 100644 --- a/extensions/Wikibase/repo/tests/phpunit/includes/content/EntityContentTest.php +++ b/extensions/Wikibase/repo/tests/phpunit/includes/content/EntityContentTest.php @@ -167,16 +167,6 @@ array( 'wb-status' => EntityContent::STATUS_STUB, 'wb-claims' => 0 ) ); - $contentWithClaim = $this->newEmpty(); - $claim = new Statement( new PropertyNoValueSnak( 83 ) ); - $claim->setGuid( '$testing$' ); - $contentWithClaim->getEntity()->addClaim( $claim ); - - $cases['claims'] = array( - $contentWithClaim, - array( 'wb-claims' => 1 ) - ); - return $cases; } @@ -197,11 +187,6 @@ $contentWithLabel = $this->newEmpty(); $contentWithLabel->getEntity()->setLabel( 'de', 'xyz' ); - $contentWithClaim = $this->newEmpty(); - $claim = new Statement( new PropertyNoValueSnak( 83 ) ); - $claim->setGuid( '$testing$' ); - $contentWithClaim->getEntity()->addClaim( $claim ); - return array( 'empty' => array( $this->newEmpty(), @@ -210,10 +195,6 @@ 'labels' => array( $contentWithLabel, EntityContent::STATUS_STUB - ), - 'claims' => array( - $contentWithClaim, - EntityContent::STATUS_NONE ), ); } diff --git a/extensions/Wikibase/repo/tests/phpunit/includes/content/EntityHandlerTest.php b/extensions/Wikibase/repo/tests/phpunit/includes/content/EntityHandlerTest.php index 4cdc3a0..de28353 100644 --- a/extensions/Wikibase/repo/tests/phpunit/includes/content/EntityHandlerTest.php +++ b/extensions/Wikibase/repo/tests/phpunit/includes/content/EntityHandlerTest.php @@ -15,7 +15,6 @@ use Wikibase\InternalSerialization\SerializerFactory; use Wikibase\Lib\Serializers\LegacyInternalEntitySerializer; use Wikibase\Lib\Store\EntityRedirect; -use Wikibase\Lib\Store\EntityContentDataCodec; use Wikibase\Repo\WikibaseRepo; use Wikibase\SettingsArray; @@ -357,12 +356,16 @@ $legacySerializer = new LegacyInternalEntitySerializer(); $oldBlob = json_encode( $legacySerializer->serialize( $entity ) ); - // replace "entity":["item",7] with "entity":"q7" + // fake several old formats + $type = $entity->getType(); $id = $entity->getId()->getSerialization(); - $veryOldBlob = preg_replace( '/"entity":\["\w+",\d+\]/', '"entity":"' . strtolower( $id ) . '"', $oldBlob ); + // replace "type":"item","id":"q7" with "entity":["item",7] + $veryOldBlob = preg_replace( '/"type":"\w+","id":"\w\d+"/', '"entity":["' . strtolower( $type ) . '",' . substr( $id, 1 ) . ']', $oldBlob ); + // replace "entity":["item",7] with "entity":"q7" + $veryVeryOldBlob = preg_replace( '/"entity":\["\w+",\d+\]/', '"entity":"' . strtolower( $id ) . '"', $veryOldBlob ); - // sanity - if ( $oldBlob == $veryOldBlob ) { + // sanity (cannot compare $veryOldBlob and $oldBlob until we have the new serialization in place) + if ( $veryVeryOldBlob == $veryOldBlob /* || $veryOldBlob == $oldBlob */ ) { throw new RuntimeException( 'Failed to fake very old serialization format based on oldish serialization format.' ); } @@ -372,8 +375,9 @@ $newBlob = json_encode( $newSerializer->serialize( $entity ) ); return array( - 'old serialization / ancient id format' => array( $veryOldBlob, $newBlob ), - 'old serialization / new silly id format' => array( $oldBlob, $newBlob ), + 'old serialization / ancient id format' => array( $veryVeryOldBlob, $newBlob ), + 'old serialization / new silly id format' => array( $veryOldBlob, $newBlob ), + 'old serialization / old serializer format' => array( $oldBlob, $newBlob ), 'new serialization format, keep as is' => array( $newBlob, $newBlob ), ); } diff --git a/extensions/Wikibase/repo/tests/phpunit/includes/content/ItemContentTest.php b/extensions/Wikibase/repo/tests/phpunit/includes/content/ItemContentTest.php index a980d4a..7d3e07e 100644 --- a/extensions/Wikibase/repo/tests/phpunit/includes/content/ItemContentTest.php +++ b/extensions/Wikibase/repo/tests/phpunit/includes/content/ItemContentTest.php @@ -94,6 +94,18 @@ array( 'wb-claims' => 0, 'wb-sitelinks' => 1 ) ); + // @todo this is needed in PropertyContentTest as well + // once we have statements in properties + $contentWithClaim = $this->newEmpty(); + $claim = new Statement( new PropertyNoValueSnak( 83 ) ); + $claim->setGuid( '$testing$' ); + $contentWithClaim->getEntity()->addClaim( $claim ); + + $cases['claims'] = array( + $contentWithClaim, + array( 'wb-claims' => 1 ) + ); + return $cases; } @@ -116,8 +128,25 @@ ItemContent::STATUS_LINKSTUB ); - $cases['statements and links'] = $cases['claims']; // from parent::provideGetEntityStatus(); - $cases['statements and links'][0]->getEntity()->getSiteLinkList()->addNewSiteLink( 'enwiki', 'Foo' ); + // @todo this is needed in PropertyContentTest as well + // once we have statements in properties + $contentWithClaim = $this->newEmpty(); + $claim = new Statement( new PropertyNoValueSnak( 83 ) ); + $claim->setGuid( '$testing$' ); + $contentWithClaim->getEntity()->addClaim( $claim ); + + $cases['claims'] = array( + $contentWithClaim, + EntityContent::STATUS_NONE + ); + + $contentWithClaimAndLink = $contentWithClaim->copy(); + $contentWithClaimAndLink->getEntity()->getSiteLinkList()->addNewSiteLink( 'enwiki', 'Foo' ); + + $cases['statements and links'] = array( + $contentWithClaimAndLink, + EntityContent::STATUS_NONE + ); return $cases; } diff --git a/extensions/Wikibase/repo/tests/phpunit/includes/content/ItemHandlerTest.php b/extensions/Wikibase/repo/tests/phpunit/includes/content/ItemHandlerTest.php index cd21434..590850e 100644 --- a/extensions/Wikibase/repo/tests/phpunit/includes/content/ItemHandlerTest.php +++ b/extensions/Wikibase/repo/tests/phpunit/includes/content/ItemHandlerTest.php @@ -10,9 +10,7 @@ use Wikibase\EntityContent; use Wikibase\ItemContent; use Wikibase\ItemHandler; -use Wikibase\Lib\Store\EntityContentDataCodec; use Wikibase\Lib\Store\EntityRedirect; -use Wikibase\Repo\WikibaseRepo; use Wikibase\SettingsArray; /** diff --git a/extensions/Wikibase/repo/tests/phpunit/includes/store/WikiPageEntityRevisionLookupTest.php b/extensions/Wikibase/repo/tests/phpunit/includes/store/WikiPageEntityRevisionLookupTest.php index 0a1eefc..ab0d33e 100644 --- a/extensions/Wikibase/repo/tests/phpunit/includes/store/WikiPageEntityRevisionLookupTest.php +++ b/extensions/Wikibase/repo/tests/phpunit/includes/store/WikiPageEntityRevisionLookupTest.php @@ -79,7 +79,7 @@ } return new WikiPageEntityRevisionLookup( - $this->getEntityContentCodec(), + WikibaseRepo::getDefaultInstance()->getEntityContentDataCodec(), false ); } @@ -90,20 +90,6 @@ } return $revision; - } - - private function getEntityContentCodec() { - $idParser = new BasicEntityIdParser(); - $serializerFactory = new SerializerFactory( new DataValueSerializer() ); - $deserializerFactory = new DeserializerFactory( new DataValueDeserializer( $GLOBALS['evilDataValueMap'] ), $idParser ); - - $codec = new EntityContentDataCodec( - $idParser, - $serializerFactory->newEntitySerializer(), - $deserializerFactory->newEntityDeserializer() - ); - - return $codec; } } diff --git a/vendor/autoload.php b/vendor/autoload.php index e2e23f3..b26a971 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer' . '/autoload_real.php'; -return ComposerAutoloaderInit384b81372d79460af8b32254189f8ccd::getLoader(); +return ComposerAutoloaderInite7bd671c4e7a88a5767054d1ce3b237d::getLoader(); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index d100906..0a81c62 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit384b81372d79460af8b32254189f8ccd +class ComposerAutoloaderInite7bd671c4e7a88a5767054d1ce3b237d { private static $loader; @@ -19,9 +19,9 @@ return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit384b81372d79460af8b32254189f8ccd', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInite7bd671c4e7a88a5767054d1ce3b237d', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInit384b81372d79460af8b32254189f8ccd', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInite7bd671c4e7a88a5767054d1ce3b237d', 'loadClassLoader')); $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -42,14 +42,14 @@ $includeFiles = require __DIR__ . '/autoload_files.php'; foreach ($includeFiles as $file) { - composerRequire384b81372d79460af8b32254189f8ccd($file); + composerRequiree7bd671c4e7a88a5767054d1ce3b237d($file); } return $loader; } } -function composerRequire384b81372d79460af8b32254189f8ccd($file) +function composerRequiree7bd671c4e7a88a5767054d1ce3b237d($file) { require $file; } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index d90965b..ec729c5 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -659,24 +659,24 @@ }, { "name": "data-values/value-view", - "version": "0.6.8", - "version_normalized": "0.6.8.0", + "version": "0.6.9", + "version_normalized": "0.6.9.0", "source": { "type": "git", "url": "https://github.com/wmde/ValueView.git", - "reference": "44ca1b31a172130224ffc707657558690ec03d45" + "reference": "3711c81bd2376c9b214b18f5f4e805d147978b5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wmde/ValueView/zipball/44ca1b31a172130224ffc707657558690ec03d45", - "reference": "44ca1b31a172130224ffc707657558690ec03d45", + "url": "https://api.github.com/repos/wmde/ValueView/zipball/3711c81bd2376c9b214b18f5f4e805d147978b5a", + "reference": "3711c81bd2376c9b214b18f5f4e805d147978b5a", "shasum": "" }, "require": { "data-values/javascript": "~0.5.0", "php": ">=5.3.0" }, - "time": "2014-07-29 11:56:20", + "time": "2014-08-13 16:55:28", "type": "mediawiki-extension", "installation-source": "dist", "autoload": { @@ -1188,12 +1188,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "1ef9bb9162e78d17bc994587cffb61b08f8e7c81" + "reference": "37398dd52b9f76a6fc5855633065a084d7502380" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/1ef9bb9162e78d17bc994587cffb61b08f8e7c81", - "reference": "1ef9bb9162e78d17bc994587cffb61b08f8e7c81", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/37398dd52b9f76a6fc5855633065a084d7502380", + "reference": "37398dd52b9f76a6fc5855633065a084d7502380", "shasum": "" }, "require": { @@ -1220,7 +1220,7 @@ "conflict": { "mediawiki/mediawiki": "<1.23" }, - "time": "2014-08-10 21:47:44", + "time": "2014-08-14 00:23:11", "type": "mediawiki-extension", "installation-source": "dist", "autoload": { -- To view, visit https://gerrit.wikimedia.org/r/154025 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6187a9a745d62c8a1d94f57f380bf5a91182f7ad Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikidata Gerrit-Branch: master Gerrit-Owner: WikidataBuilder <wikidata-servi...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits