Commit graph

425 commits

Author SHA1 Message Date
Petr Pchelko e9bc5d3a42 Switch parser hooks to a new-style hook handler
Change-Id: Ie09e4cfb31a8aaea6f21d7472ae3a067dcc7c40b
2021-07-31 08:17:29 -07:00
Petr Pchelko ed08441fa3 Remove ParserTestTables hook handler.
This hook is no longer needed by core so it's not
called anymore.

See I5124789fac333a664b73b4b4a1e801ecc0a618ca

Change-Id: I9a554b4e70a2564834e1df4058b1ad5cb98a56e3
2021-07-30 13:00:46 +00:00
vladshapik a024908d5f Avoid using deprecated Parser::getUser
Bug: T287168
Change-Id: If3443b879ee01c3cbdbf94d1a690bd9c3bf182b1
2021-07-27 17:50:25 +03:00
libraryupgrader b409746fc6 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 36.0.0 → 37.0.0

npm:
* postcss: 7.0.35 → 7.0.36
  * https://npmjs.com/advisories/1693 (CVE-2021-23368)
* ws: 7.3.0 → 7.5.3
  * https://npmjs.com/advisories/1748 (CVE-2021-32640)
* glob-parent: 5.1.1 → 5.1.2
  * https://npmjs.com/advisories/1751 (CVE-2020-28469)
* trim-newlines: 3.0.0 → 3.0.1
  * https://npmjs.com/advisories/1753 (CVE-2021-33623)
* normalize-url: 4.5.0 → 4.5.1
  * https://npmjs.com/advisories/1755 (CVE-2021-33502)

Change-Id: Ie14979780cdbd04fa2804f5317e8b0f6b0029470
2021-07-23 02:28:22 +00:00
Lucas Werkmeister 86af4f10cd Use RepoLinker for MathWikibaseConnector::buildURL()
Note that this changes the URL, which is directly shown to the user
(SpecialMathWikibase::buildPageRepresentation() uses it as the link
text). I think that’s okay (though it would probably be nicer to use
only the item ID as the text).

Bug: T286539
Change-Id: I50c49040846a5e08e5a354641fff35598034ceb9
2021-07-13 11:53:32 +02:00
Amir Sarabadani b4fd28f842 Replace class_exists with ExtensionRegistry
And also changing name of the function because it's making phpcs unhappy

Bug: T274275
Change-Id: I8d75fb919f87d2404d61ec756bc1cd27510f6d2a
2021-06-21 13:58:31 +02:00
physikerwelt (Moritz Schubotz) d25dc0fb79 Remove wgMathUseRestBase
Bug: T274436
Change-Id: I0c0311130516646833ef862e047c8f540f40c92a
2021-05-14 14:39:25 +02:00
libraryupgrader c416046515 build: Updating composer dependencies
* mediawiki/mediawiki-codesniffer: 35.0.0 → 36.0.0
* php-parallel-lint/php-parallel-lint: 1.2.0 → 1.3.0

Change-Id: Iccba9c52c8390b00fe1cc31e5f3bed3074e27f85
2021-05-05 06:48:02 +00:00
rosalie d98a6e2699 Remove WikibaseRepo::getDefaultInstance() calls
Bug: T280984
Change-Id: I9ad722a71c671981cace449b3d61aefe6d627a6f
2021-04-28 18:36:51 +02:00
Umherirrender 1b9edee834 Use ::class for class name
This works also for non-existing classes,
because it is resolved on compile time

Change-Id: I693c716d4c0d865f457b5039d7161ff58e1e3c65
2021-04-08 21:19:33 +02:00
Reedy b0f07ee605 Namespace extension
Change-Id: I7ba90b35e5b6f6e4c296079fc524667ea41c0980
2021-04-08 01:17:14 +01:00
Itamar Givon 385d54f607 Update calls to WikibaseClient::getLanguageFallbackLabelDescriptionLookupFactory
Bug: T279084
Depends-On: Ibcd85906b7317e67175616a00a04333f9ffb7ca6
Change-Id: I18c1c4690dc9ec1a8adbb24268b2bff3f8331b2b
2021-04-07 10:24:31 +02:00
ZabeMath e0ca2b86f4 Avoid using User::setOption()
User::setOption() is deprecated and should be replaced with UserOptionsManager::setOption()

Bug: T277818
Change-Id: I8bfcf9e732b6067d5461792d78c8b41ac31de3a9
2021-04-02 18:31:47 +00:00
Lucas Werkmeister 004da5f9ad Update WikibaseClient::getStore() call
Bug: T277482
Change-Id: I9c1af47257121e0d3346c5aa3d62ce746f47a0d2
Depends-On: I6b80739641d55730d8e0a217d9f23aa9392bdf35
2021-03-31 19:52:21 +02:00
jenkins-bot 646fcf6ad1 Merge "Update WikibaseClient::getSite() call" 2021-03-09 10:57:24 +00:00
jenkins-bot 2652cf4e64 Merge "Update WikibaseClient::getSettings() calls" 2021-03-09 10:57:12 +00:00
Lucas Werkmeister a9d2b684b8 Update WikibaseRepo::getStringNormalizer() call
Bug: T276430
Change-Id: Ibc9dc74650b3e6bd726ae452a744c9b433ccef08
Depends-On: I58a9dc2f9f185f260bd6da84840f2b58905d38fa
2021-03-04 14:37:41 +01:00
Lucas Werkmeister 2afaad505d Update WikibaseClient::getSite() call
Bug: T276349
Change-Id: I37b7876c43a7c21fc14f228f3133ed897742bb4e
Depends-On: I9724724a635b808a7f1a8c88447216dc0d1dd738
2021-03-04 11:37:03 +01:00
Lucas Werkmeister 9247f49067 Update WikibaseClient::getSettings() calls
Bug: T275412
Change-Id: I9d0762886cebb96c0d5de911248a53a9ffc14a0f
Depends-On: I3506ad80d57639f066c2b86358058b4432b6a666
2021-03-04 11:36:55 +01:00
Itamar Givon 6a8f7df8ad Update getEntityIdParser method callers to static
Bug: T275886
Depends-On: I5bcd59b954521b74eeae4f2f207ebb35ccba97d7
Change-Id: I1f930a809a6094e2079b972a78cc3403ddeb6f73
2021-03-01 16:34:14 +01:00
jenkins-bot 7bb3d281da Merge "Use Mathoid to validate Wikibase formuale" 2021-02-23 21:06:52 +00:00
jenkins-bot 92cc03d300 Merge "Remove redundant ExtensionRegistry callback" 2021-02-18 21:51:29 +00:00
Moritz Schubotz (physikerwelt) 35d57a65cc Use Mathoid to validate Wikibase formuale
* Reenable math validator tests
* Introduce $wgMathUseRestBase which defaults to true
  and determines if mathoid is used via RESTbase or directly
* The effect of this change can be tested by setting $wgMathUseRestBase
  to false, and then creating a new statement of a property with type math.
  One should see a connection to mathoid for every new string and one should
  also see the WAN cache for the check endpoint to fill up. Note that
  setting WANObject cache to the database simplifies the investigation
  of the WAN cache content.

Bug: T274436
Change-Id: I40109e9e09464da78bf855646fb800ee87c1ea67
2021-02-18 22:13:58 +01:00
jenkins-bot 132dd74949 Merge "Update a few type hints" 2021-02-18 18:27:16 +00:00
Thiemo Kreuz 56ad7ff334 Update a few type hints
Some random bits I found while working on some other code.

Change-Id: I29be84cb54e05af5030defd99cb1f42f9c6a5b63
2021-02-18 16:20:35 +00:00
Thiemo Kreuz 8632db2dfc Use modern new static syntax instead of get_called_class
Change-Id: I901505912784fa32a694c4c854eee86c42fd9c0c
2021-02-18 16:16:42 +00:00
Timo Tijhof 2308e436ce Remove redundant ExtensionRegistry callback
This additional hook does not seem to be needed.

- wgMathValidModes: All access to this information already uses
  getValidModes() and thus there is no need to write this back
  to the input variable (use outside the extension is not supported
  and it is already not used as cache either).

- wgMathDisableTexFilter: All access already uses getDisableTexFilter()
  Move the last bit of logic there instead.

- wgDefaultUserOptions: Duplicate of this already exists in the
  onGetPreferences hook higher up.

This seems almost too easy, so I suspect someone tried this before
and intentionally didn't finish it because of some non-obvious
issue.

See T189966 for related perf anaysis.

Change-Id: I4d7fdf6fcae3d44a37bf80d9c72fff2b4361f0c9
2021-02-10 23:29:49 +00:00
Moritz Schubotz (physikerwelt) 7780424504 Extend mathoids Checker functionality
* Keep status code and response in memory
* Allow external cache preloading.
  This will be required for the one-stop mathoid batch rendering
* Duplicate functionality from the restBASE interface
** Error rendering
** Validity checks
** getter for validated tex

Depends-On: Ic779e671ada0d0306e0935e578b47c431abd520e
Change-Id: I066975b9ba03f5861f6c92687cba4743044ea82a
2021-02-09 23:36:03 +01:00
Moritz Schubotz (physikerwelt) 67720e080d Improve debugging
* simplify generation of debug output
* invert if statement to reduce indention
* minor fixes:
** update storedInDatabase
** store PNG output
** restore matoid style handling from
   Ief1b6345c17db41f92684e00233d57240e97599f

Bug: T252389
Change-Id: I71853124e5f2633f94fc9aacdedc24a86f27d08b
2021-02-05 18:08:29 +01:00
Vedmaka d110f7eeef
Fixes tags data being lost after first onParserAfterTidy call
This patch is a result of an observation that when <math> tags being
placed before {{#tree:..}} call they are not rendering correctly and
displaying -postMath strip markers instead, so never being replaced by
the actual math markup.

The reason is that the TreeAndMenu do parse operations within its parser
function callback and considering the MathHooks::onParserAfterTidy is
programmed to clear all the MathHooks::$tags data after first call of
the hook it looses all the data stored.

This issue also should appear of <math> is used with any other extension
function that calls parser `parse`, `recursiveTagParse`, etc

The patch modified MathHooks::onParserAfterTidy callback making it
remove tag data only after successful replacement instead of clearing
all the tags data on the first call

Change-Id: Icd115c61492d2ee9aa2004ad1940ff837bd1059a
2021-01-15 11:11:28 +03:00
jenkins-bot 51a51bccb0 Merge "Implement wikidata entity selector" 2020-12-20 19:22:33 +00:00
Umherirrender 9f4f4301cc Avoid wfMessage in special page
Use self::msg instead to avoid global state

Change-Id: I9a9af6ff854fdd94929d06ea270c044320f62cab
2020-12-19 20:19:59 +00:00
Moritz Schubotz (physikerwelt) ba19b3e1cd Implement wikidata entity selector
The current wikidata entity selector requires WikibaseRepo to be enabled on the client wiki, which is only the case for very small installations.

We implement our custom entity selector that
* displays the item label and
* uses the description as tool-tip.

The implementation was inspired by
mw.widgets.TitleInputWidget.

Bug: T229939
Change-Id: I35d6cc317cf2984d9de6e062f79030f5c31c0811
2020-12-19 09:11:40 +01:00
Umherirrender 99c3e91fb4 Add missing @var and improve documentation
Change-Id: I8be91329f1f85f3bf40ea19d3b7e0be7dc655df1
2020-12-17 21:53:28 +01:00
Moritz Schubotz (physikerwelt) 31aa824cc9 Remove RESTbase check compatibility endpoint
Change-Id: I8c539e96519e0f23ed606403ed88370edde70764
2020-11-24 19:24:41 +01:00
libraryupgrader da3c9edb26 build: Updating mediawiki/mediawiki-phan-config to 0.10.4
Change-Id: I0476384b99c41102ddca5928fbb068c45c139d56
2020-11-20 12:50:55 +00:00
Umherirrender dc007663b2 Usage of Yoda conditions is not allowed; switch the expression order
Change-Id: I3e3ca5e380521b514062953d4aeb635793819e89
2020-11-19 22:34:09 +01:00
libraryupgrader ce88944fe5 build: Updating mediawiki/mediawiki-codesniffer to 33.0.0
The following sniffs are failing and were disabled:
* Generic.ControlStructures.DisallowYodaConditions.Found
* MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam
* MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate
* MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected
* MediaWiki.Usage.ExtendClassUsage.FunctionConfigUsage
* MediaWiki.Usage.ExtendClassUsage.FunctionVarUsage

Additional changes:
* Dropped .inc files from .phpcs.xml (T200956).

Change-Id: I2a0a579219607d60c1557d4b700cdf810f07f538
2020-11-04 04:01:14 +00:00
jenkins-bot a1e4882543 Merge "Register refresh links hook" 2020-10-27 22:43:19 +00:00
Thiemo Kreuz 3bbf35531b Remove confusing doc from MathRestbaseInterface
Change-Id: I5220cd1f0af95e26308aaec5c976d16ec67cb70b
2020-10-05 10:35:07 +02:00
Moritz Schubotz (physikerwelt) 6f41c0887c Register refresh links hook
* register hook
 MathHooks::onMaintenanceRefreshLinksInit
 from MaintenanceRefreshLinksInit

Bug: T248551
Change-Id: I0607265df22da5ab26cfc4c8958e9502b0e31b12
2020-09-29 18:06:08 +02:00
DannyS712 3f16b9f1c2 Remove use of $wgUser in onMaintenanceRefreshLinksInit
For now, the hook handler isn't actually used (T248551) but
when it is at some point it shouldn't use $wgUser

Bug: T248550
Bug: T248551
Change-Id: I826e91411deb91bbd8c58147b32fda3f3e7ed6a8
2020-09-27 01:02:47 +00:00
DannyS712 caa51dc4c9 Remove fallback to $wgUser in MathHooks::onPageRenderingHash
$user is always set

Bug: T248550
Change-Id: Id5a0d271ae840dd2aee4f40b4b7e73ab24f7cf98
2020-09-21 21:22:22 +00:00
MarcoAurelio be3a3f427f i18n: Fix typo 'occured'
Bug: T201491
Change-Id: Idcaa4c1b42f62e2f001a336b4a1fbc7cba46b47f
2020-09-10 18:08:54 +01:00
Lucas Werkmeister 8e0655eb55 Update for namespace moves
Change-Id: Ib22c0d6fae533c1adc63bc0954292c8349e97de0
Depends-On: I2d94d99da811581e76830ae3533c836b22d990c2
2020-06-11 16:43:44 +02:00
Umherirrender 8ee257c4e9 Pass function name to HttpRequestFactory::create
Useful for logging
Replace deprecated MWHttpRequest::factory with service (since 1.32)

Change-Id: I1d952ee807970ab4ffb18db94314c4aa6a7a3ce4
2020-06-07 12:22:10 +02:00
Reedy 2c220ddabc Fix PSR12.Properties.ConstantVisibility.NotFound
Bug: T253169
Change-Id: I816b6d26471527137cbddd313cd432f0a37db891
2020-06-05 00:17:18 +00:00
Moritz Schubotz (physikerwelt) 7c41bc19f8 Add mathoid check endpoint to REST API
Expose the math checking service via the REST API.

Port the behaviour of the RESTbase check endpoint to a new endpoint
that uses the MediaWiki API.

* this endpoint does not (yet) provide actual rendering (only checking)
* consequently it does not supply the x-resource-location header

Bug: T252390
Change-Id: I28bcb9a925953062b43cd3481536784431edcd8a
2020-06-01 12:11:24 -07:00
jenkins-bot b07aefbd36 Merge "Parse messages in string context" 2020-05-28 16:52:16 +00:00
jenkins-bot 13453d7831 Merge "Add MathCheckerFactory Service" 2020-05-27 18:44:03 +00:00
Moritz Schubotz (physikerwelt) 707ad58598 Add MathCheckerFactory Service
Use WANObjectCache rather than genuine DB tables for greater
flexibility.

Note, this commit is the second step of Ifd89e2d9cb30fa15cc318f077b434207ed6b7214

Bug: T252390
Change-Id: Ifa7d943875f05088ef697a5a18ad292342a9b4ad
2020-05-27 07:29:49 +02:00
Umherirrender b0f6c21b8e Parse messages in string context
The current default for Message::__toString() is to parse, so this
keeps that behaviour unchanged.

Change-Id: Icf83608b031390126b5e8d29a5600d37589cf411
2020-05-24 17:11:57 +02:00
Tim Starling 7dff64f214 Use HttpRequestFactory::createMultiClient()
This allows it to respect the proposed limit on HTTP request timeout.

Bug: T245170
Depends-On: I8252f6c854b98059f4916d5460ea71cf4b580149
Change-Id: I1c3d96720709253ad15bb8528cdd132571de2e4e
2020-05-21 14:38:48 +10:00
Moritz Schubotz (physikerwelt) fc0faf18c3 Move checking code to a new namespace
Introduce new namespace \MediaWiki\Extension\Math\ and move checking
code to this new namespace.

Note, this commit is the first step of Ifd89e2d9cb30fa15cc318f077b434207ed6b7214

Bug: T252390, T187154
Change-Id: I8c93f4b21d4a72ef2d52d4774d69e4ef55d037ec
2020-05-12 21:26:45 +02:00
DannyS712 17b2ce0d2d Properly restrict SpecialMathStatus to those with purge rights
Bug: T252362
Change-Id: I98eabfbeda2fbef3c317c7bb6aaddf5595788f5c
2020-05-11 05:17:11 +00:00
Moritz Schubotz (physikerwelt) b2359d08a1 Suppress warning if mathoid-cli does not return PNG image
* Currently PHP issues a unspecific warning if mathoid-cli does not
return a PNG image.
* This change suppresses this warning.

Bug: T200493
Change-Id: Ice7d12ca9131d76fe233fd332e37484feaf79883
2020-05-01 19:49:25 +02:00
Moritz Schubotz (physikerwelt) 9dad688f44 Add tracking category for pages that use a deprecated LaTeX syntax
Discussions in the Wikimedia Math Community show that there is consensus
to deprecate the use of MediaWiki specific LaTeX macros that conflict
with LaTeX macros from commonly used packages.
In this change, we show the deprecation warnings generated by mathoid.

Bug: T197842
Change-Id: I24dbb446665fdc227d0e7342fdbf8829b4c1bda4
2020-03-30 21:56:58 +02:00
Thiemo Kreuz a429c8cc35 Fix escaping issues and a series of unrelated code cleanups
Actual changes:
* Let the special page accept the subpage parameter, e.g.
  [[Special:MathWikibase/Q6203]].
* Fix some of the message escaping issues in SpecialMathWikibase.
  Messages that are just plain text and not supposed to contain any
  parameters, wikitext, HTML, or something like this should be
  properly escaped, either via Html::rawElement( $msg->escaped() ) or
  better Html::element( $msg->plain ). The later approach is cheaper.

Other code cleanups that don't affect production:
* Reduce the amount of duplicate code in SpecialMathWikibase.
* Make use of the preg_match() return value.
* Remove default parameters from parent::__construct() call.
* Remove some auto-generated comments.
* Remove some comments that don't add new information, but just repeat
  what the code already says.
* Make use of PHPUnit's assertCount().

We can split this patch into smaller patches, if you prefer. This
should especially be done if one of the changes is controversial, to
not block the other changes. Please tell me.

Change-Id: I8c20014435af3d2ac9c7381fe5fd00b9fe49b2c2
2020-03-21 14:53:15 +00:00
DannyS712 f5d0db1707 Use lowercase for primitive type 'string'
Change-Id: I17b5256ee73d68f3b57801512abac05a5c0d0c03
2020-03-20 15:34:55 +00:00
Timo Tijhof f59757a338 Replace $wgContLanguageCode with $wgLanguageCode
$wgContLanguageCode has been an unconfigurable copy of $wgLanguageCode
since 2006 (MW 1.8).

Bug: T247674
Change-Id: I1d2ec1e63320086fdf9ab7c6321f949c99c1ab2a
2020-03-14 19:31:26 +00:00
Reedy 7345e85b26 Remove trailing : from log error messages
Change-Id: Ie11662d0e55f553917df7a869de4b8019a827ae8
2020-02-14 21:13:07 +00:00
Reedy 819881ad9c Stop using 'url' param when logging
Bug: T245306
Change-Id: I3ba196e01afe172a99d15abf654a630a3f3d219f
2020-02-14 21:13:00 +00:00
Reedy c3a2b12077 Fix some excessive indenting
Change-Id: Icbd2f1461cbff96ad984b23738fb056a6c25af23
2020-02-14 20:57:23 +00:00
Reedy d819311602 Add $snakNamespace parameter to ValueSnakRdfBuilder implementer
Bug: T243122
Change-Id: I9b7c3b9daa81069a5b5eb66271f2c732cefe313f
2020-01-18 14:06:43 +00:00
libraryupgrader 5018e51b29 build: Updating mediawiki/mediawiki-codesniffer to 29.0.0
The following sniffs are failing and were disabled:
* MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate

Change-Id: I57bb0f5bc4167ea4b4a50d666ad95c02fcc7d8c9
2020-01-14 22:01:54 +00:00
jenkins-bot 6f347e7b34 Merge "build: Updating mediawiki/mediawiki-phan-config to 0.9.0" 2020-01-11 00:39:01 +00:00
jenkins-bot 45e6751a3c Merge "Don't list Special:MathWikibase if the wikibase client isn't loaded" 2019-12-30 09:05:52 +00:00
libraryupgrader 863794c1dd build: Updating mediawiki/mediawiki-phan-config to 0.9.0
Change-Id: Id4f976b7ec94e1d2be0421725733804f24dec2c5
2019-12-29 17:56:56 +00:00
DannyS712 cf906ea1bc Replace @return true|false with @return bool
Change-Id: If6111abcb2c17622e58189a8b7200fc9a49c7b84
2019-12-28 10:29:18 +00:00
DannyS712 8faab2c2a0 Don't list Special:MathWikibase if the wikibase client isn't loaded
Bug: T241507
Change-Id: I23f6e8e72afeb791b3709d423041c02b58eb0b4a
2019-12-28 09:06:47 +00:00
AndreG-P 4c56817ba3 Delete Math Wikibase API
Delete the unused wikibase API endpoint in Math extension.

Bug: T240458
Change-Id: I3e6b0cfd61e8be8c65e64f85945bca32a4ba6089
2019-12-13 00:23:53 +09:00
AndreG-P 157dff4422 Fix reverse logic in hasSite function Math extension
Fixes naming problem introduced in If7da0990a4fc1f8d8a70237dc19c7b2e67ec38cd

Change-Id: I2fd20b2e18c624d22a780dfd496afb129b1f55b9
2019-11-28 19:25:31 +09:00
jenkins-bot 3bb6faf6b0 Merge "Link Wikipedia Articles from Specialpage Math Formula Information" 2019-11-26 19:48:39 +00:00
AndreG-P 912866b976 Link Wikipedia Articles from Specialpage Math Formula Information
Linking math formula on the special page to their own page, if this
a page exists

Bug: T239099
Change-Id: If7da0990a4fc1f8d8a70237dc19c7b2e67ec38cd
2019-11-27 03:58:28 +09:00
Ammar Abdulhamid 4a207bb74a Declare $logger as a protected class variable
Bug: T186243
Change-Id: I263a711fc12993c6201ca71cd512be1f64c1eb38
2019-11-26 17:14:48 +00:00
Ammar Abdulhamid 457ea5822f Classes: Type hint $updater parameter in onLoadExtensionSchemaUpdates
Bug: T223939
Change-Id: Ibc0d87f8cd7cb6a6b0f72c8b5fd08da13b55483f
2019-11-25 16:34:40 +00:00
jenkins-bot 13053e0a9c Merge "Fix capitalization of HTML Class" 2019-11-15 22:33:46 +00:00
Moritz Schubotz (physikerwelt) 848168c3a1
Fix capitalization of HTML Class
* Replace HTML->Html

Introduced in Idd22057a88312bf1a1cb5546d0a6edca5678d80d

Change-Id: If44743507d6897fa7600a16fc2002443cc3a556e
2019-11-15 23:03:48 +01:00
AndreG-P 54518a4981 Delete Wikibase repository dependency in Math extension
With this commit, the Math extension only depends on WikibaseClient
and no longer on WikibaseRepo.

Bug: T208758
Change-Id: Iac8f2568e0da1a4aff4f4b22d124626c8ecca8eb
2019-11-16 01:30:12 +09:00
jenkins-bot a406f9eae3 Merge "Add special page and API endpoint that show information from math Wikibase items" 2019-11-15 12:45:34 +00:00
Marko Obrovac 796a02173d Minor: Only log the code and body of the response in case of error
Bug: T238344
Change-Id: Ibf769f9f4f52062a7914f257979f510c809cbe37
2019-11-14 17:18:36 +01:00
Moritz Schubotz (physikerwelt) 4a7bc3ee31 Add special page and API endpoint that show information from math Wikibase items
Add a special page and an API endpoint to fetch data from Wikibase
items with a given qID. The special page summarizes information from
Wikibase. The API endpoint allows to request the information
directly. Both, the API endpoint and the special page, fetch the data
from a new helper class for consistency.

Bug: T208758
Bug: T229939
Change-Id: Idd22057a88312bf1a1cb5546d0a6edca5678d80d
2019-11-14 23:42:35 +09:00
Umherirrender b2e2a7b1a2 build: Updating mediawiki/mediawiki-phan-config to 0.8.0
Bug: T235049
Change-Id: I202d0b41c217498b0697eb9237c9f18725b7224d
2019-11-04 19:44:47 +01:00
James D. Forrester 6e8ca25d46 build: Upgrade mediawiki-codesniffer to v28.0.0
Change-Id: I620a56f9edab3a751c7c41cd76ef401aac5d3b79
2019-10-11 10:45:11 -07:00
Moritz Schubotz (physikerwelt) 0de63bdf6c Remove unused config variables from extension.json
Bug: T228547
Change-Id: I0aa7b624b645c3773b0d758634d370a494d1028a
2019-09-16 09:41:12 +00:00
libraryupgrader ccc6a0cb48 build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 24.0.0 → 26.0.0

npm:
* set-value: 2.0.0 → 2.0.1
  * https://npmjs.com/advisories/1012
  * CVE-2019-10747
* union-value: 1.0.0 → 1.0.1
  * https://npmjs.com/advisories/1012
  * CVE-2019-10747
* mixin-deep: 1.3.1 → 1.3.2
  * https://npmjs.com/advisories/1013
  * CVE-2019-10746

Change-Id: Id7c540a37118f3a89917f467dcb715f504b843ef
2019-07-14 13:30:34 +00:00
James D. Forrester 85d7f039bd build: Upgrade phan-taint-check-plugin from 1.5.x to 2.0.1
Change-Id: I08d38872db05669aa6200fefb410d144fccf2427
2019-07-11 10:03:03 +00:00
Lucas Werkmeister 7abf09a4aa Update for namespace moves
Change-Id: I300aff6fa8e9f2ade8a97c826ef23ad56d40b392
Depends-On: Ie808d49aed00ec97117b04722456f24e96d49e68
2019-06-07 18:01:03 +02:00
jenkins-bot 1792072bcf Merge "Fix call to MathMathMLCli::getError" 2019-05-31 19:11:55 +00:00
Umherirrender 6d4740fa4c Fix call to MathMathMLCli::getError
var_export prints the result,
it needs a true argument to return a string

Change-Id: I3c1275daf465044f1e22548a70e775069a6e94b6
2019-05-31 20:31:51 +02:00
Umherirrender 70517518a0 Pass no argument to MathRender::render
The function does not take any argument, so remove the provided bool

Change-Id: Ib4a51c4a95396a6db8359ceefe81db0a998f9197
2019-05-31 20:05:03 +02:00
Umherirrender 33f9115e43 Add implode to log message to avoid "array" as text
Format it looks like an array [ '...', '...' ]

Change-Id: I30122961a65593be0ab264796cd8a57a421c6395
2019-05-31 15:15:04 +02:00
Tpt d51e0ae06a Make error HTML valid XHTML
Allows easy parsing using XML tools

Change-Id: I27b5a8b719d703636c2c09d513cd04766fc66ce1
2019-04-24 12:06:14 +02:00
Kunal Mehta 1c79c4a2ec Avoid use of func_get_args()
Change-Id: I2b0f50e00cd2c7ba744c75f623b0349930cdfd62
2019-03-09 18:34:56 -08:00
Amir Sarabadani eb7a8371d8 MathWikidataHook.php -> MathWikibaseHook.php
These hooks are related to Wikibase and can be used outside of Wikidata

Change-Id: I90e0abbdc54aa85957b15f60c4e821ee68b9517f
2019-02-08 19:49:08 +01:00
libraryupgrader 54d1b77401 build: Updating mediawiki/mediawiki-codesniffer to 24.0.0
Change-Id: I30daab715920757ec96350c9933fc18c887972c4
2019-02-06 23:08:22 +00:00
RazeSoldier 27091b55a0 Log STDERR from mathoids cli output
When $wgMathoidCli is misconfigured the error message was misleading.
It was reported that the specified file was not executable, even though
other reasons are possible (e.g., nodejs misconfigured).  

Therefore, we capture STDERR and add it to the error log.

Bug: T198564
Change-Id: I7d0ae0f3ab4789124f9ff1533e7712ca31233f9e
2018-11-21 10:12:00 +00:00
AndreG-P 2699479827 Link wikidata items to math tags
Adds a parameter that links individual formulae to their respective wikidata items.

Bug: T71424
Change-Id: I32cfe2039e62f163fe3aebaf77bafbdd84b343c6
2018-11-12 20:59:25 +09:00
jenkins-bot 817ada2cf1 Merge "Add tracking category for deprecated mhchem syntax" 2018-11-09 12:19:12 +00:00
James D. Forrester 428f5a847b Drop support for MediaWiki core's removed "2006 wikitext editor"
Change-Id: I59bad8faee3f0f998344f985eb675087533d3d8f
2018-11-06 17:19:43 -08:00
Umherirrender d37698535a Add method scope visibility
Change-Id: I6b8e90017c9862fc082b216d44bebab34f3a6095
2018-11-02 18:52:06 +01:00
Moritz Schubotz (physikerwelt) a865a8565a
Add tracking category for deprecated mhchem syntax
Gets warning information from restbase and adds tracking categories
for deprecated chemical syntax.
Refactor mechanism to add tracking categories, and avoiding rechecking
already checked formulae.

Depends on: Ieca66f45ae7685d61eece1624bd7ff65ccad2eaa
Change-Id: I10e78ab79015dc1331f645c60b25bbbd237e23fe
2018-10-27 20:38:02 +02:00
C. Scott Ananian 0f32a506a0 Replace deprecated untidy OutputPage::addWikiText() method
The replacement OutputPage::addWikiTextAsInterface() method was added in
MW 1.32; the minimum required MW version has been bumped accordingly.

Bug: T198214
Change-Id: Ie9932b7398d0a9184094a99aec060d78f62dd6f0
2018-10-19 17:53:34 +00:00
Umherirrender 791dcde7f9 Fix caller name in MathRenderer::writeToDatabase
Seeing {closure} in the logs as caller is not helpful

Change-Id: I2b50ead956fa0df5a220b97f7e1523671bf46866
2018-09-30 13:36:12 +02:00
Umherirrender c82458bbbc Remove @global doc annotation
It is unknown to doxygen

Change-Id: I1ef4bf4292b78fcd434f35c31f75b08b9c6a49d8
2018-09-09 20:53:28 +02:00
James D. Forrester 087a973f30 build: Bump mediawiki-codesniffer to 22.0.0
Change-Id: I448e8d368d76eee40fe57c89428a0ce472c48d01
2018-09-06 11:48:25 +00:00
Zoranzoki21 4f5225d612 Fix common typos in code
Bug: T201491
Change-Id: Ib1f2e5ea8a67311702d82c46741903f58449a09b
2018-09-06 11:00:32 +00:00
jenkins-bot b542793035 Merge "Remove @return from MathRenderer::setPurge" 2018-08-07 17:14:53 +00:00
Umherirrender da2b19de0c Remove @return from MathRenderer::setPurge
The function does not return anything

Change-Id: Id3eca085c0419aef02c59be5973bb27a4635ccb7
2018-08-07 09:42:17 +02:00
Moritz Schubotz (physikerwelt) f0c8840148
Add math related styles and script via appropriate hook
Create MathDataUpdater class that checks if statements
are using math and adds the stlyes required for math in that case.

This patch has no effect until
I5bc0622ee7338f3215d14e15331a0a1931ca1ae0
is merged.

After both changes are in effect
I0abd6acbfa12fd503d11476f0c8c8c8a8a851cdc
can be merged.

Bug: T173949
Change-Id: I0e24bbb53e6e01d549f534744780ca1afc49fdd7
2018-07-24 16:40:52 +02:00
Thiemo Kreuz 97000ed8b0 Fix "@param $…" missing the type
Change-Id: I8d20ae852100a6ecc39df05eab3aa8e2b9c09480
2018-06-20 11:10:43 +02:00
Thiemo Kreuz 5648b8e2c3 Make use of the …::class feature whenever possible
Note that a class is not resolved this was. …::class is not a function
call. It's more like a named string constant. Technically still a
string. The advantage is that IDEs and tools like linters can much easier
understand that these strings refer to a class, and list them in usage
reports, renames, and such.

Change-Id: I5225543dbb837685a1840837cb2772dd576cca38
2018-06-06 12:13:04 +02:00
Moritz Schubotz (physikerwelt) aa2c4cf913 Improve tests coverage for MathMathML
* deprecate and fix pickHost. It was broken and never used.
* simplify inputTypeSelection
* remove superfluous is_array check for the result of explode

Change-Id: I392f22f074facfe30b97d53a3002f464a471b67e
2018-06-01 15:36:35 +00:00
Moritz Schubotz (physikerwelt) 4156f1c9b7
Remove dead texvc code from the math extension
In T74240 support for LaTeX based rendering of the <math/>-tags was
removed. This change eliminates the unused code from the repository.

Bug: T195871
Change-Id: Ic57d83fa49f090b574ce8b82fd2ebc84a5350318
2018-05-29 17:41:53 +02:00
libraryupgrader 2587469834 build: Updating mediawiki/mediawiki-codesniffer to 20.0.0
Change-Id: I4385a05df9b40d4da19f280bd211e8c261d22c41
2018-05-26 04:26:21 +00:00
Moritz Schubotz (physikerwelt) b5cf0e0b77
Serve png mode from mathoid
* Use the exactly same routines to deliver png images that are used in
  mathml mode.
* Change the output to use mathoids png image rather than the mathml
  and svg output.
* Locally tested on Firefox and Chrome: Depending on the mode either
  the SVG or the PNG path is used.

Bug: T74240
Change-Id: I4b1cac92eb9a02190f316faab6621940951603d5
2018-05-21 13:47:49 +02:00
jenkins-bot 22d63b1973 Merge "Throw InvalidArgumentException when validating/formatting null" 2018-05-18 19:00:32 +00:00
Thiemo Kreuz b12b4f740f Throw InvalidArgumentException when validating/formatting null
Change-Id: Ia46f76a89b26c830aab70ebf5fcc222711c325d1
2018-05-18 20:02:43 +02:00
Thiemo Kreuz 670f0bb8f9 Don't expect objects by reference in hook handlers
The motivation for this patch is to make the code less complex, better
readable, and less brittle.

Example:

public function onExampleHook( Parser &$parser, array &$result ) {
    /* This is the hook handler */
}

In this example the $result array is meant to be manipulated by the
hook handler. Changes should become visible to the caller. Since PHP
passes arrays by value, the & is needed to make this possible.

But the & is misplaced in pretty much all cases where the parameter is
an object. The only reason we still see these & in many hook handlers
is historical: PHP 4 passed objects by value, which potentially caused
expensive cloning. This was prevented with the &.

Since PHP 5 objects are passed by reference. However, this did not
made the & entirely meaningless. Keeping the & means callees are
allowed to replace passed objects with new ones. The & makes it look
like a function might intentionally replace a passed object, which is
unintended and actually scary in cases like the Parser. Luckily all
Hooks::run I have seen so far ignore unintended out-values. So even if
a hook handler tries to do something bad like replacing the Parser
with a different one, this would not have an effect.

Removing the & does not remove the possibility to manipulate the
object. Changes done to public properties are still visible to the
caller.

Unfortunately these & cannot be removed from the callers as long as
there is a single callee expecting a reference. This patch reduces the
number of such problematic callees.

Change-Id: I21d53c989ea487607dc69e6b3365c023ef6729f5
2018-05-15 17:50:08 +02:00
Kunal Mehta 7a53bd905c Disable PHPCS more narrowly
Change-Id: I20d8b519d5827e865ccd3adf7c2c6ba069f37afb
2018-05-03 19:00:55 -07:00
jenkins-bot dcf8f0926d Merge "MathChemSymbolsDataModule: Remove origin restriction" 2018-04-30 20:42:06 +00:00
Bartosz Dziewoński 7270d702f1 MathMathSymbolsDataModule: Remove origin restriction
Without this change it would no longer load in safe mode (T185303)
because the module would be missing.

I think this has been copy-pasted from VisualEditor, see commit
I6d097ccbf1dc2462843219adcf96bf8313e30289 there for explanation.

Bug: T185303
Change-Id: I6644a361d1450c394a7f82dc3dad97515982846d
2018-04-30 22:26:28 +02:00
Bartosz Dziewoński 4ccb9abe8a MathChemSymbolsDataModule: Remove origin restriction
Without this change it would no longer load in safe mode (T185303)
because the module would be missing.

I think this has been copy-pasted from VisualEditor, see commit
I6d097ccbf1dc2462843219adcf96bf8313e30289 there for explanation.

Bug: T185303
Change-Id: Ieed46488c94c5809e9f17f667c6926a21ffe838b
2018-04-30 22:25:52 +02:00
Moritz Schubotz (physikerwelt) 9fee65ae24
Generate HTML tag using HTML class
Change-Id: I8c37fdaa112cfeac0466f4380e972b63404a8d35
2018-04-23 15:39:30 +02:00
Moritz Schubotz (physikerwelt) 6e28bf8743
Move php source files
Move php source files to scr. This allows jenkins to calculate the test
coverage.

Bug: T126034
Change-Id: If012c6a4fce0fdeaa5a63dad23210a42d1fc80e6
2018-04-23 15:09:23 +02:00