Contrary to what this comment says, this extension is not all-AJAX.
If you disable JavaScript in the browser, the subcategory counts
still show, so it is about half JS, half PHP. The JS part is the little
triangle you can click to load the list of subpages.
Change-Id: Ib25a13c57656b832e079627301f45b94bbd7e814
As having href causes arrows to be clickable before JavaScript
handler be loaded.
And since that disables visited logic, let's remove it.
Change-Id: Ice4c979d020342890fffd587bb5bee88fcc2a1ae
In 8e51ea4e3a CategoryTreeFunctions.php
was renamed to includes/CategoryTree.php. The class name was already
CategoryTree.
Change-Id: I2734c92810df0f653ae1ea402a149e42e7be08cb
The attribute data-ct-options already contains the mode and attribute
data-ct-mode is just redundant. The attribute data-ct-mode is now not
needed anymore and removed from the rendered HTML.
Change-Id: If261f3cdab6c55243e80dc2ef3caa884538b02bc
self closing tag <categorytree/> is invalid, but where encountered
the content of the tag is null.
Convert the null to empty string since CategoryTree::getTag require one
Bug: T378765
Change-Id: Iede4499952295b75a19bd05a5963caab00a9cadd
Implicitly marking parameter $... as nullable is deprecated in PHP
8.4. The explicit nullable type must be used instead.
Bug: T376276
Change-Id: I40bb7a0a02aaa467cbf0ae182adf5601ccbcb58e
After the first submit the URL contains &namespaces= with empty value.
This must be handled like a missing URL parameter.
Restore the default value '' removed in aec8d755.
Bug: T334289
Change-Id: I22d0eb334365472d411252f805d0d78a3cc265ab
I believe having arrows linked to the actual pages can
be much more useful than linking to '#' of the same
page. Linking to the correct page makes user to notice
if the page is already visited also using color of
the arrow.
If we didn't like link visited logic to be not used we
could've used a different link rather than color of links
and going makes us able to :visited logic of
If8b2b45b24351ee5c8fc9ee1380563f5d5b88678 also.
Personally however I'm in believe that having a useful
link that can be opened on a different tab using
Ctrl (or long click on phones) is always more useful.
Change-Id: Ib56fad0b711853d67b2d55617b36deff56141c74
CategoryTree::makeTitle also makes a trim and an early return.
A trim on the return value of renderChildren() is not needed.
Change-Id: I1fc2705277491797eb6c0d0900152b63913ca875
This change avoids a super category expand button on not existing
categories.
This change even avoids loading the modules if there are no valid
categories.
Change-Id: I38a2b49aaef7cf46d9f89e1cc9fd65e2382155f5
The new hook OutputPageRenderCategoryLink gets triggered on rendering a
single category.
This change prevents wgCategories = [] on
$wgCategoryTreeHijackPageCategories = true.
Bug: T372155
Depends-On: Id82a77a57d1f12233d974ea4c1b093f50c5ab74f
Change-Id: Ic86f210474cbc0e2dcebf664cf2309a4a4408f60
* Add PHP type hints where possible.
* Remove @var, @param and @return if redundant to type declaration
* Remove redundant type conversions which are now enforced by type
hints.
* Enforce that decodeBoolean returns only a bool.
Change-Id: I8da84ed4dc778dd9d84f8d9eec0a399f5ed26405
Changes to the use statements done automatically via script
Addition of missing use statement done manually
Change-Id: I51931c3aab6aa1e5bc77b3cc83b8014cf557ff75
The parameter onlyroot is deprecated since July 2008.
Generate a tracking category for tracking the deprecation.
Bug: T290062
Change-Id: I8eb58fa7831e11e6a6719f11fb1ff310666cdc4e
This avoids loading the modules if they are not needed.
Multiple calls of CategoryTree::setHeaders doesn't matter.
Change-Id: I96f8ffa7cf1d5274a6853403c0f2422b684db61f