Commit graph

35 commits

Author SHA1 Message Date
DannyS712 4d18a1e093 BeforeSpecialMobileDiffDisplay hook: Only accept RevisionRecord
Compatibility was added so that MobileFrontend could switch from
Revision to RevisionRecord, but now that the switch has occurred no
need to keep checking to see if a Revision is being passed

See [1] for the MobileFrontend change that required compatibility

[1] e42c52527b

Bug: T246284
Change-Id: Ie320454a0e90d7f98004a3b776010aff784bbf4d
2020-06-30 08:31:50 +00:00
DannyS712 317e0a6810 Hooks: Update to use DifferenceEngineViewHeader
Bug: T255769
Change-Id: I9b8f0359c3478fe1c028b47756d88062c2abcec8
2020-06-24 00:42:58 +00:00
DannyS712 1826d8984d Use new HistoryTools and DiffTools hooks
Extension requires 1.35+, so the hooks are available

Bug: T255494
Bug: T255495
Change-Id: I334928ebd081d53a7d95466e6c4b75715b941ec4
Depends-On: Ib2ab2e26a95affdd1dfa6b945f752157580ea2d3
2020-06-16 00:40:57 +00:00
DannyS712 0917ab16cc Reduce use of Revision objects in ThanksHooks
Can't remove entirely, since the hooks don't have replacements yet,
but can prepare for the switch while waiting and remove use of
Revision objects to the extent possible

Bug: T251073
Bug: T251593
Change-Id: I5f9e41d58c8d1693b23c84bbfe085d3b33ad0c75
2020-05-27 23:06:13 +00:00
James D. Forrester 84448301ef Use QUnitTestModule instead of deprecated ResourceLoaderTestModules
CI already ensures that MobileFrontend is loaded alongside Thanks, so
the defensive check in the code isn't needed; ext.thanks.mobilediff is
defined statically, it's just injected into the page dynamically in the
onBeforeSpecialMobileDiffDisplay hook handler.

Bug: T232875
Change-Id: I5612a9be65f4d4adf4912645856540dbb04d2b34
2020-05-11 19:43:17 +00:00
DannyS712 859f6a4b57 BeforeSpecialMobileDiffDisplay hook: Prepare to accept RevisionRecord
So that MobileFrontend can pass Revision objects without breaking

Bug: T246284
Change-Id: I2adb63bac52bd721ebffd06082f9c553f50d5cd8
2020-04-15 04:48:50 +00:00
ArtBaltai b6b2c3dfdb Replace usage of deprecated Page in favor of WikiPage/Article
change comment for Page argument

Bug: T239975
Change-Id: If3243d59b129360e1790c68ea193de27d1943462
2020-02-21 08:49:12 +00:00
DannyS712 9f495fcedb Don't allow thanking system users
Bug: T237356
Change-Id: I3d7968276a59a66ed4d1931b03310e571d070167
Depends-On: I73f25a10df2c28a69f612eb1db3e91b7125383d9
2019-11-05 22:50:12 +00:00
David Barratt c773e01787 Read the block status from the replicas for the 'thank' link
User::isBlocked() by default reads from the replicas;
PermissionManager::isBlockedFrom() reads from master by default. The
'thank' link is not critical so it should be read from the replicas.

Bug: T231617
Change-Id: I262ed63df82e97862a8dfc8da49fc09465ac8507
2019-08-30 13:28:59 +01:00
Matěj Suchánek 2c94ba17ed Replace $wgUser
Bug: T159299
Change-Id: I023c46a99b96ae9141ac75830c03979e90263ae0
2019-08-27 14:20:39 +02:00
Martin Urbanec 003172c157 SECURITY: Do not let users thank for a log entry if actor was deleted
This prevents users from accessing information about the actor
by abusing uselang=qqx and the thank button.

Bug: T224240
Change-Id: I3f42d56874776cfa0c9d364217f43253efc14782
2019-07-11 15:39:16 -07:00
Thalia 810de9afbd Allow partially blocked users to use Thanks
Only prohibit users from using Thanks if they are blocked from the
associated page. This allows partially blocked users to use thanks
most of the time.

It also allows blocked users to thank on their own talk page, if
they are allowed to edit it, even if they are sitewide blocked.

Bug: T221371
Change-Id: Ic99ec38ea200e806963951b2dd67e56ecde63752
2019-05-22 22:05:33 +01:00
libraryupgrader e0e2c20127 build: Updating mediawiki/mediawiki-phan-config to 0.5.0
Change-Id: If0aa36ada0eb4b071ce5fe704c4d0c5cff21c4eb
2019-03-10 22:32:43 -07:00
Derick Alangi f9082d1df6 Remove "return true" legacy behavior from hook handler functions
Change-Id: I16224ee276c5e76ff475bce0e1f2c29bf9c7385d
2019-02-02 20:34:32 +01:00
Matěj Suchánek 97e95d5559 Use ExtensionRegistry instead of class_exists
Bug: T183096
Change-Id: Ida0278326291e7bd52cbebd36d1b0a775380043e
2019-01-01 17:07:27 +00:00
takidelfin 957ee53679 Thanks/thank: Add tests for thanked cookie and getUserGender()
Added two new tests: thanked cookie and gets user gender. First uses jQuery cookies and second uses Sinon fake server

Bug: T160267
Change-Id: I8f5dad9c90e930d557e86acb4b175ec549849e7a
2018-11-16 17:50:58 +01:00
Rafid Aslam 55ca549068 Change HTTP links to mediawiki.org to use HTTPS
Several links that link to mediawiki.org still use
"http" protocol which isn't a safe protocol. This commit
changes http links that link to mediawiki.org to use
"https" protocol instead.

Bug: T189687
Change-Id: Ibb5f019e21f5d6ca0b4c40138dab22ae43e9004b
2018-10-30 23:50:40 +07:00
Roan Kattouw ebfee91e80 Use User::isBot() rather than rolling our own
We were manually checking for the 'bot' group, but MW core has a method
for this that's more comprehensive.

Bug: T205224
Change-Id: Idce475ce10a21c5593d366470eede7d8dd1f6dfe
2018-10-02 17:29:10 -07:00
Stephane Bisson 8daf575067 Allow thanking discontinuous revisions
Modify the revision continuity check to be
resilient for pages with discontinuous histories
while still catching diff that span multiple
revisions.

Bug: T186470
Change-Id: If9614f6e3e278367530e9a4f5054ac370d1c0699
2018-09-24 16:32:48 +00:00
Amir Sarabadani 8ca5464a16 Security: Disable thank when the user is globally blocked
Bug: T151910
Change-Id: I3f39dd32cb76d1a20c8711d5de88e8fcbc36507d
2018-08-23 11:37:34 -07:00
Matěj Suchánek 12c2cc0f92 Correctly bundle thanks notifications for logs
Thanks for logs are created with 'logid' extra param. Param 'id' was
never used and was added accidentally.

Bug: T192041
Change-Id: I1f7e0d53c674509200fc8c704f99fd3d8197636b
2018-05-29 16:18:29 +00:00
Ed Sanders b319ae80b3 Update icon to latest from OOUI
Also use same name as in OOUI (with color modifier).

Bug: T183749
Change-Id: I1a1e47398beb5527e3d4e0426691b6b5dc5f9f5e
2018-04-13 18:08:59 +01:00
Kunal Mehta b8b892bb98 Hard depend upon Echo in extension.json
This extension is useless without Echo, and the API modules already
disable themselves if it's not installed. Just absolutely require Echo
to be installed.

Change-Id: I653eea78668bfe0875bc5a33e2d45607106d4ee5
2018-04-11 01:00:30 -07:00
Umherirrender 145b1f1772 Declare nullable argument only in @param
The $oldRev could be null, but when set the null in argument list,
it is an optional parameter and the following argument $user must be
optional too. That is not needed here.

Change-Id: Ia7c1c44b29b191dc602513e07b90d3e2415d3a5d
2018-04-05 12:45:23 +02:00
Sam Wilson 56dfaa8555 Add thanks links to Special:Log for log entries
Only log entries that were associated with revisions were
being thanked. This adds other log entries (if they're of
a whitelisted type still).

Bug: T187485
Change-Id: I9c644590b52bce9b04c7c655dd197c1b78a83777
2018-04-03 06:20:56 +00:00
Sam Wilson 2059e3ff4b Add revision-thanking links to some log entries
Many log entries are associated to (exactly one) revision,
and for these (only, and only where the log type is
whitelisted) we add a thank-link that behaves exactly
as the thank-link on diff and history pages.

Bug: T189752
Change-Id: I5f4e84c65d4fe2d95b20cdb3c3f9522ad3e5f422
2018-03-22 11:57:55 +08:00
Reedy 2735468029 Revert "Add revision-thanking links to some log entries"
This reverts commit 9f393ef9dd.

Change-Id: Ie76fef8dc25b1134f1f60da50a87b00115154041
2018-03-14 21:49:25 +00:00
Sam Wilson 9f393ef9dd Add revision-thanking links to some log entries
Many log entries are associated to (exactly one) revision,
and for these (only, and only where the log type is
whitelisted) we add a thank-link that behaves exactly
as the thank-link on diff and history pages.

Bug: T186763
Change-Id: I2af380d5cb06f19ef9eb5b232d95ad87379b5d9b
2018-03-13 09:33:15 +08:00
Max Semenik ed087b044c Reintroduce the API to thank for log entries
Originally introduced in b84eedc74e, it was reverted for security concerns.
New changes:
* Instead of bundling the log summary with notification, load it on display
* If the log event has been suppressed after the thanks for it has been sent,
  silently delete the event to prevent the confusion of linking to something
  zapped.
* Keep the 'already sent' cache key compatible with old format
* Validate the log id in the API
* Change ApiCoreThank::getRevisionFromParams() to ApiCoreThank::getRevisionFromId()

Bug: T186855
Bug: T188791
Depends-On: Ic5e9db0def857d9dcecbd06bf081c8c83712c1ea
Change-Id: I03aea7d9f4dfa0fe49639c53968deabf89999d2d
2018-03-06 13:08:47 +08:00
MaxSem 3b2397fea9 Revert "Add support to the Thanks API for thanking log entries"
This reverts commit b84eedc74e.

Bug: T188791
Change-Id: If55ed6cbb5da34c0034da3cc564c6a8ff82448d2
2018-03-02 22:59:20 +00:00
Sam Wilson b84eedc74e Add support to the Thanks API for thanking log entries
Add a 'log' API parameter (for the log ID to thank), and add
a whitelist config variable for specifying which log types are
thankable.

Bug: T186855
Change-Id: I58ae90c9729c0066f952e90fca2cf99b029d0d9b
2018-03-01 14:57:57 -08:00
Sam Wilson 78831d2b68 Rename files and classes in preparation for adding log-thanks
Bug: T186855
Change-Id: I20f5d200c33e395aca9489b73d0ed9b1d0ad5b8c
2018-02-21 12:49:21 +08:00
Sam Wilson 499dc04960 Remove a coding-standard exclusion
Add some parameter comments etc.

Change-Id: Ifb663c69711036ea01cb2b90acaa81d22c74a3af
2018-02-12 09:26:19 +08:00
addshore d2c420878b Import MediaWikiServices in ThanksHooks
Bug: T186618
Change-Id: I62de4a2a88b81d27c12b364848cd237236484aa0
2018-02-06 17:01:25 +00:00
Sam Wilson 2e7e5e0190 Move classes to includes/ and rename some to match class names
For conformance to coding standards. This removes an exclusion
from the phpcs config.

Change-Id: I1481a3e7e68a81daf310ea3c7bf9dc48cdaf140b
2018-01-30 10:32:03 +08:00
Renamed from Thanks.hooks.php (Browse further)