Commit graph

96 commits

Author SHA1 Message Date
Umherirrender 0365b1bdea Fix doc of CategoryTree::getOptionsAsCacheKey
The depth is a number and provided as int

Change-Id: I884279bf69fc3661ad8279965a02d38867a85868
2019-12-08 22:11:08 +01:00
jenkins-bot e60b968434 Merge "Suppress page translations and render only the default page(s)" 2019-11-08 14:04:52 +00:00
Derick Alangi 87ddb7f735 Suppress page translations and render only the default page(s)
This feature add an option `notranslations` that allows the category
tree only to show the default pages and not include their translations
equivalents on the tree. For example let's say we have a page (Test_page)
that was created in a default language "en" in a category TestCat, and has
translations listed: Test_page/es, Test_page/de, Test_page/ar etc.

Doing `<categorytree notranslations="on">TestCat</categorytree> will render
only the Test_page page with it's link to the page on the tree and nothing
more.

Note: If page "Foo/hu" exist but "Foo" doesn't, it should include "Foo/hu"
      in the category tree. In most case though, a base page will exist.
      Also, the feature is only available if Extension:Translate is made
      available on that wiki.

TODO: If "notranslations" is used along side with "showcount", consider
      subtracting the number of pages suppressed from the total page count
      in the category tree for consistency.

Bug: T229265
Change-Id: Ib4e7ab6ad98c05857cda1cd98bbc19e0504677bb
2019-11-03 14:03:27 +01:00
Umherirrender 88893ed005 build: Updating mediawiki/mediawiki-phan-config to 0.8.0
Bug: T235049
Change-Id: I40fd8ddf278a716171a05a30215fdef6fcf123be
2019-11-01 21:38:00 +01:00
Umherirrender e801fb1e3b Define visibility on class constant
Change-Id: I140d4cbf7bf1397138fef1f1396057fc19c1cbb2
2019-10-25 19:14:46 +02:00
Umherirrender 414c62f19b phan: Remove PhanParamReqAfterOpt suppression
Change-Id: I326165c7cdb98dabc2aa9a3fd73d637f2e5bceec
2019-10-12 22:14:41 +02:00
Kunal Mehta 1c779bee3a Use LinkRenderer instead of manually building links
Use LinkRenderer instead of manually re-implementing parts of it and
manually building the <a> tags to create links.

Aside from technical debt cleanup, this will cause "stub" and "mw-
redirect" classes to get added to the <categorytree> output.

Bug: T25771
Change-Id: I1c644ef364818c4202dc0e30602d557dbec46010
2019-09-07 11:49:53 +02:00
Derick Alangi 5b342c51ab Avoid usage of deprecated $wgContLang global (dep in 1.32)
Change-Id: Ic70ac2bc7eeba6af9a69bb1eb839a87cd06c01f8
2019-09-01 19:01:45 +00:00
Sharptrick d78fc9add9 Altered renderNodeInfo() to use LinkRenderer.php.
Using LinkRenderer.php instead of compiling links manually gives the
HtmlPageLinkRendererBegin hook a chance to be called. This enables
compatibility with the DisplayTitle extension.

Change-Id: I67633d1add6d1409eac6962a7bd854c3cc93d5ff
2019-07-31 05:52:00 +00:00
DannyS712 8256a6dbae Add help links to special pages
Bug: T228071
Change-Id: I5326bb73da952b16c685e80afc51615fee84784a
2019-07-17 19:55:00 +00:00
Derick Alangi 0bebd426d8 ApiCategoryTree: Replace use of deprecated methods
Deprecated methods that have been replaced are;

* ConfigFactory::getDefaultInstance()
* wfMemcKey()

This extension uses 1.33 of core and these replacements
are safe.

Change-Id: I1536ab2adecc79fd42b46e2c892dae4a536c9496
2019-05-16 20:49:39 +01:00
Derick Alangi f9f6ac6348 Avoid use of deprecated ->disableCache() in Parser
This method was deprecated in mediawiki 1.27.

Change-Id: Icdeeb41bbc66bcf6df25e42769bdb4e8140c058a
2019-04-30 12:06:25 +00:00
jenkins-bot ece3dc2629 Merge "Remove 'wgCategoryTreePageCategoryOptions' export from pageview HTML" 2019-04-05 23:07:10 +00:00
Timo Tijhof c839756b32 Remove 'wgCategoryTreePageCategoryOptions' export from pageview HTML
This was internal to CategoryTree JS code and only needed on very
few pages. Export it as part of the module that needs it, instead.

Given this is computed and not a plain config var, use callback
to generate the value.

Bug: T219342
Change-Id: I790a98128b0a3317e27ac0d5fda08d48aeb640dc
2019-04-05 11:31:03 -07:00
Umherirrender f9a591aa3e Replace deprecated TitlePrefixSearch
Deprecated since 1.27, this extension requires 1.29

Change-Id: I12c56c2b37c4dc5c5be99a0628289449b9a85f92
2019-03-27 21:44:37 +01:00
Matěj Suchánek 89c61833c2 Migrate to new phan
Bug: T216908
Change-Id: I28faf3638dfbc20b84ba78d476b02f7bbc8cbd6a
2019-03-17 21:25:03 +01:00
Kunal Mehta 71ee586108 Avoid use of func_get_args()
Change-Id: I7854d2005aefd581959c2cd292928900c047203c
2019-03-08 13:03:38 -08:00
Max Semenik 60884c60e7 Stop manually messing with caching HTTP headers
It has origins in times when this code was in an AJAX function, however
now that it's in an API module it's not needed and can be counter-productive
as headers issued might conflict with MW headers. Let the API take care of
this via its standard means.

Change-Id: I8ebf8e7b935d7d252ac010bc1b88202b87f43e20
2019-03-05 20:55:22 +00:00
jenkins-bot c4d39389a8 Merge "Change 'title' attributes to links to use full page name" 2019-02-14 00:53:10 +00:00
Peter Boehm 1dfe6ca618 Change 'title' attributes to links to use full page name
This changes the title attribute on the link generated in the
CategoryTree. The only effect is additional information about the
link target that may be truncated by 'hideprefix' or CSS overflow,
will now still be accessible in another way.

Change-Id: I4f07fa88f0a528634e9bf3c504e84fb4bf55e3bf
2019-02-14 00:46:35 +00:00
Fomafix 0a3f30b8d7 Simplify code by using Xml::element()
Change-Id: I8b0d1c35d8d7cc310769d586a1716ef5ffbd46b3
2019-02-12 02:47:13 +00:00
Fomafix c993bb8353 Fix findings by phpcs
* Add @inheritDoc to functions that are inheritance.
* Move comments to a single line.

Remove the phpcs rule exceptions:
* MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected
* MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic
* MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment

Change-Id: I742ee19f0a3d2d62e08b6f2e35cd9a6b3940cd22
2019-02-06 18:03:50 +00:00
Fomafix 9f12acd962 Remove "return true" on hook handler functions
Before MediaWiki 1.23, returning true was required. Since 1.23 this not
needed anymore.

Change-Id: Iae9bcf416d851af2a8703fd76dc13d0b1d2db8bc
2019-02-06 18:03:15 +00:00
Fomafix b3ac7f5404 Add typehints to function parameters
* Add "= null" when null is supported and used.
* Also fix Doxygen tags.

Change-Id: I209b23eee54b5e8e0f4091f3d4cd7c5e44dbaff0
2019-02-05 15:30:31 +01:00
Fomafix 27289b479d Change hooks to explicitly load the modules
This change adds the needed modules to the page in the same hook
that adds the category tree HTML.

This avoids loading the modules on skins without a sidebar, like
SkinApi, or on pages without categories.

A forced-loading of the modules from BeforePageDisplay hook is not
necessary anymore in those cases.

This change avoids getting the OutputPage object from the global $wgOut.

Bug: T212820
Change-Id: I2bd50c45aa201a06630af3d57c9bcfccf7b22b99
2019-01-22 15:31:47 -08:00
Fomafix e31ac9cc84 Use hook SkinBuildSidebar instead of SkinTemplateOutputPageBeforeExec
This change allows the skin to customize if there is a sidebar or not.
For example the SkinApi overloads buildSidebar and therefor the hook
SkinBuildSidebar is not triggered.

Change-Id: Ib39736901f25822d40265ccaa5fd0feea977cdc1
2019-01-22 23:15:07 +00:00
Fomafix 095040a9e6 Remove hook SkinJoinCategoryLinks
The hook `SkinJoinCategoryLinks` is not used and not triggered.

Also remove the style for the class CategoryTreeCategoryBarItem because
it is only used in skinJoinCategoryLinks::skinJoinCategoryLinks.

Change-Id: I52e4f819ff195fc1fa8a148b0bb58d95a4bf22d7
2019-01-10 20:15:28 +01:00
Fomafix 3cdb4e95f2 Move styles that only used in JavaScript to JavaScript module
Also rename the style module from 'ext.categoryTree.css' to
'ext.categoryTree.styles'.
Keep the previous module name 'ext.categoryTree.css' for compability to
cached versions.
Also move the files of the module 'ext.categoryTree' into a
subdirectory ext.categoryTree.

Change-Id: Ie5ea28acfb43e33a94ec5824baf4f26d63d8e9e6
2019-01-10 13:38:58 +01:00
James D. Forrester 96b44610ac API: Drop back-compat. code for old versions of MW we don't support
Change-Id: I1eb8f75399a6cd10a685ede98673cc6122494980
2018-10-26 18:02:44 +00:00
Umherirrender 1d47aeba0b Add api error 'invalidtitle' for invalid category param
When giving an invalid title, for example containing double encoded %
(%2527 from the task), the code would raise a BadMethodCallException on
the null title.

It is better to get an api error, when invalid title is given, because
that is more informativ for the client than a php fatal

Bug: T202057
Change-Id: I7af2a8d072216eca8d3241b2c082089a78fbf621
2018-08-18 15:30:43 +00:00
jenkins-bot be6dd1b089 Merge "Remove trailing \r\t\t" 2018-08-04 18:41:16 +00:00
Brian Wolff f36af62317 Fix some raw html messages
Try also to ensure that the bullet messages are treated the
same in both JS and PHP. It should be noted that the mk and scn
translations are currently broken on the JS side.

Bug: T195010
Change-Id: Id87d26db8d90e293701ae11f6434026a8ae88822
2018-08-02 01:25:31 -07:00
Sophivorus 96fe66c4c5 Remove trailing \r\t\t
Doesn't seem to serve any useful purpose
and adds an unwanted trailing <p></p> after the category tree

Change-Id: Ic76ff3b1156a5627930c1078e488f5c81ec5521d
2018-06-12 16:59:45 +00:00
libraryupgrader 64312796a0 build: Updating mediawiki/mediawiki-codesniffer to 20.0.0
Change-Id: I3dc05f3935b2f952182c3afbfc05d7e6c5557039
2018-05-26 01:01:12 +00:00
Fomafix 6684f62bba Simplify by using Xml::element
Xml::element already makes the HTML encoding.

Change-Id: Idee5e6871c5a7b5e6763ebe85275598b9b217224
2018-04-18 09:36:40 +02:00
Kunal Mehta 50c10d1fcb Use standard GPL file header
Change-Id: Ic49d45d0a0cb640d40486735c95f13cc6e29063f
2018-04-16 22:38:06 +00:00
Kunal Mehta d85ca412b7 Don't conditionally register any hooks
Register all hooks unconditionally in extension.json, and then in the
hook
itself, check whether they should be doing anything.

Change-Id: I5f0019fc444371a24a11a25ca2d980c0a9ab5a61
2018-04-16 18:05:06 +00:00
libraryupgrader 5a7ebcfead build: Updating mediawiki/mediawiki-codesniffer to 18.0.0
The following sniffs now pass and were enabled:
* MediaWiki.Commenting.LicenseComment.InvalidLicenseTag

Change-Id: I13c4825186d8ba101feb2a2d28ee8dc9bc7306dd
2018-04-13 22:19:35 +00:00
Kunal Mehta 72db0e9107 Avoid unnecessary is_bool
Strict equality already ensures that the global is a boolean.

Change-Id: I09011f4d6ac5fabe1154ef19d8ba34f289f764f7
2018-04-10 20:48:37 -07:00
Kunal Mehta 1c60788059 Set visibility on all functions
Change-Id: I1ced553ac5c18eafa83e32516ddc463feece96ef
2018-04-10 20:48:37 -07:00
Kunal Mehta d90bfe3c12 isset() already checks whether the value is null
Change-Id: I35c1fe14ef5fc8b073d098b27dffd23b3abc2556
2018-04-10 20:48:37 -07:00
Kunal Mehta c28084d3c5 Don't specify default parameters to SpecialPage::__construct()
Change-Id: I8fae3fee0edbc95b1bb7d012af6e4ce067bb4f62
2018-04-10 20:48:37 -07:00
Kunal Mehta 987392938b Use ::class
Change-Id: Id43297b7930cd8f3e5a330c5e99fea9b85014c65
2018-04-10 20:48:37 -07:00
Kunal Mehta 4e1158b7d2 Add phan configuration
Change-Id: I8d438ad061500bc56f5e3e527f18296485988d6f
2018-04-08 18:50:31 -07:00
Timo Tijhof 38babc1011 Set visibility of CategoryTree::encodeOptions() as protected
Not referenced anywhere in Wikimedia Git, except for the one
method that uses it, in the same class here.

Also:
* Set explicit 'public' visibility of getOptionsAsJsStructure().
* Avoid use of !is_null().
* Avoid assignment in ternary.

Change-Id: I71d2a247e001b7f7f4f52546e8167a79d873076e
2018-02-16 19:30:51 -08:00
Kunal Mehta 8e51ea4e3a Move classes into includes/
Change-Id: I308523aa764594798d72974fb79e19aef6c3f342
2018-02-08 22:23:07 -08:00