Commit graph

142 commits

Author SHA1 Message Date
Umherirrender
ace44e2064 Use correct variable name in @param documentation
For some varargs a variable name is added with suffix ,... as seen for
many other varargs

Some @param are swapped, because there are in the wrong order

Enable Sniff MediaWiki.Commenting.FunctionComment.ParamNameNoMatch

Change-Id: I60fec6025bce824d5c67563ab7b65ad6cd628ad8
2017-08-11 19:27:19 +02:00
Umherirrender
a9007e8baf Add missing & to @param documentation to match functon call
Change-Id: I81e68310abcbc59964b22e0e74842d509f6b1fb9
2017-08-11 18:47:46 +02:00
Thiemo Mättig
e16191caa3 Remove unused and unnecessary imports
Change-Id: I26e623a4e4ba965c07670369a90c8a95185ea1e4
2017-06-12 15:50:43 +00:00
Aaron Schulz
488a647831 Move IDatabase/IMaintainableDatabase to Rdbms namespace
Change-Id: If7e8a8ff574661fd827de8bcec11d2c39a687300
2017-03-28 15:32:38 -07:00
Aaron Schulz
e01fd44388 Move ResultWrapper subclasses to Rdbms
Change-Id: I6f3f0e85e268b24c57c537aa6ad8016e0b4cdddb
2017-03-03 00:44:41 +00:00
WMDE-Fisch
ae3419f532 Replace some of the deprecated wfGetLBFactory() calls
Change-Id: I87aa0ebe273706438f1634167de8c60f51432878
2017-02-07 14:41:09 +01:00
Justin Du
81b9324620 Add tagging support to imagerotate, revisiondelete, and tag API modules
Adds a tags parameter. This allows a user with the applychangetags right to tag the log entry corresponding to the action.

Bug: T97720
Change-Id: I11418d22ee780944e92d82e32b271b8276c396bf
2016-12-31 11:45:18 -06:00
Brad Jorsch
96b60ded77 Fix RevDel API output for formatversion=2
Use booleans, not the old empty-string-or-undefined.

This bugfix is a breaking change, but chances are it won't affect many
clients.

Bug: T153518
Change-Id: If5fa2cdcb973b186349307b29e4266daceef0a9d
2016-12-19 11:48:49 -05:00
divadsn
870d05e408 Replace Linker::link() with LinkRenderer in all revisiondelete pages
* RevDelArchiveItem
* RevDelArchivedFileItem
* RevDelFileItem
* RevDelLogItem
* RevDelRevisionItem

Bug: T149346
Change-Id: I96f83d06b4d3ccf3f76ccfca843a6aaf76d89063
2016-12-06 19:25:14 +00:00
Aaron Schulz
a2790b1b80 Remove wfGetCaller() dependency from DatabaseBase
Change-Id: I3e240b2eb5c1f6a21f1bc974c3d28f5755c7451a
2016-09-15 14:40:00 -07:00
Roan Kattouw
59f09caabc Force primary index for RevDelRevisionList query
To work around an optimizer bug in MySQL where the
index on (rev_page, rev_id) is picked which mysteriously
leads to very slow execution times and timeouts.

In theory, the index being forced here is (rev_id),
which is fine for this query. In WMF production,
it can also be (rev_id, rev_user) (still fine), or
(rev_page, rev_id) (the index we're trying to avoid).
Mysteriously, the optimizer bug doesn't happen if
(rev_page, rev_id) is the primary key, so this still
behaves OK.

Bug: T104313
Change-Id: I15c68ba29309dca8dea274f19389d139a82784aa
2016-09-10 17:25:10 -07:00
Aaron Schulz
751c4d395f Make the page JOIN in RevDelRevisionList actually apply
The table was missing from the tables array

Change-Id: I613a2075e5d18210c8187587462b0f000769aec2
2016-09-09 23:21:32 -07:00
Aaron Schulz
950cf6016c Rename DB_SLAVE constant to DB_REPLICA
This is more consistent with LoadBalancer, modern, and inclusive
of master/master mysql, NDB cluster, and MariaDB galera cluster.

The old constant is an alias now.

Change-Id: I0b37299ecb439cc446ffbe8c341365d1eef45849
2016-09-05 22:55:53 -07:00
Aaron Schulz
32a8eb1822 Make various MWCallableUpdate usages rollback-safe
Support for this added to MWCallableUpdate and its helper method
in DeferredUpdates.

Bug: T141988
Change-Id: Ief150ea655036e2708557dd8ae847379edf21933
2016-08-15 00:47:42 -07:00
Aaron Schulz
56f14e2b5d Fix inconsistent RevDelFileItem visibilities
Bug: T142228
Change-Id: Ib5a0a1adbea2daf2b035cf6be367841362de03cc
2016-08-05 22:42:12 +00:00
jenkins-bot
d4f1e00a0c Merge "Make revision deletion acquire file locks to avoid races" 2016-07-27 00:47:03 +00:00
Aaron Schulz
d217cdf4b5 Make revision deletion acquire file locks to avoid races
Also made RevisionListBase an Iterator to avoid ugly loops here

Change-Id: I40d2d8cf63df95c59d0e1275e3ec45aff238e1cb
2016-07-26 16:32:15 -07:00
Aaron Schulz
3a922d36d8 Convert onTransactionIdle() callers to DeferredUpdate subclasses
* This puts the complex logic here after the commit step for
  all DBs, making the main multi-DB transaction more likely
  to be atomic. Previously, the idle callbacks could be hit
  bewteen DB commits.
* Enforce transactionality via AtomicSectionUpdate.
* Use $this instead of $that hacks for old PHP versions.

Change-Id: Idf7d54fdac6487f86907099680f5c1c4f5530b4e
2016-07-25 16:49:15 -07:00
jenkins-bot
e5e7d75a16 Merge "Avoid calling rollback() in setVisibility() when nothing changed" 2016-07-22 17:40:59 +00:00
Aaron Schulz
a68de43285 Avoid calling rollback() in setVisibility() when nothing changed
Change-Id: I7fde64fe1e6c9553447bcb9e62a1a9530f9e52ce
2016-07-21 18:42:48 -07:00
Aaron Schulz
6bbbb27446 Make non-exception rollback() calls safer
Use rollbackMasterChanges() instead so that all DBs get reverted.
Otherwise, external DB updates may get committed while related local
DB changes are rolled back.

Change-Id: I74de77f4b12dc15c0473c272d090caeeb97d6983
2016-07-21 18:10:43 +00:00
jenkins-bot
0124c6ce75 Merge "Title::getLinkURL(): Allow expanding PROTO_RELATIVE too" 2016-07-20 21:56:21 +00:00
Andrew Otto
ee75aa9bee Add $visibilityChangeMap parameter to RevDelList doPostCommitUpdates
This paramater contains a map of id => old and new visibility bits.
This allows doPostCommitUpdates to do something useful with the
differences before and after a visibility change.  Specifically,
RevDelRevisionList doPostCommitUpdates passes this to the
ArticleRevisionVisibilitySet hook.

Bug: T137287
Change-Id: I1824f56d2aadc15671c442cf30dc1f9f01e821f8
2016-07-06 10:36:08 -04:00
Kunal Mehta
5e11a28e7a Title::getLinkURL(): Allow expanding PROTO_RELATIVE too
Allow callers to get protocol-relative URLs by passing the
PROTO_RELATIVE constant. Since most callers don't pass in $proto, this
shouldn't change very much since the default of non-expanded is
effectively the same, but expanding to a protocol-relative URL when it
is not intended should still be safe.

A few callers that explicitly specified the default in core were also
updated.

Change-Id: I214f17aa6e8e30b647f21f0951fc3a15e87850c7
2016-07-01 11:31:56 -07:00
Aaron Schulz
f8f60f3926 revisiondelete: Fix $oldBits/$newBits usage in setVisibility()
This addresses the FIXME comment around updateLog()

Change-Id: Iedb9df0b4cf65308a6b58bd9d9295d1850bc2c28
2016-06-03 23:04:27 +00:00
Aaron Schulz
95ed38a0f3 Clean up setVisibility() log type logic
The log type used should be based on whether any item
was (un)suppressed, not just the last log entry. Otherwise,
unsuppression could end up in the wrong log if the last
item in the list was not unsuppressed but others were.

Change-Id: I7b6af524cc45a1d83b2b719bfa00138531455e35
2016-06-03 22:08:21 +00:00
Matthew Flaschen
77884372c0 RevDel: Fix ChangeTags for archived items
Bug: T128980
Change-Id: Ibc9ec57da16e1b71c9efa0d2c062f8d7965f59bc
2016-05-24 18:33:25 +00:00
Leszek Manicki
1588e2f279 Add a type hint to RevDelList::setVisibility
Docblock mentions an array already. All usages in core I've managed
to track also pass in arrays.

Change-Id: I830f446a2b63d09c7aa81205d66ac56d8bdab733
2016-04-27 16:57:28 +02:00
umherirrender
8678e32b8d Change remaining places to use short array syntax
Change-Id: I0785c73a239c11188ad7411c5cd8ed09a2dbc9b3
2016-03-11 18:41:26 +01:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
Aashaka Shah
124026a712 Add IContextSource as parameter to ChangeTags::formatSummaryRow
Using IContextSource avoids the use of $wgLang and wfMessage which make
use of global $wgTtle.

Add IContextSource as parameter to ChangeTags::formatSummaryRow to avoid
globals. Define an IContextSource instance in all functions which
reference ChangeTags::formatSummaryRow and pass it in ChangeTags::formatSummaryRow
function call.

Also make the default value of IContextSource $context as null in
parameter, to avoid breaking changes for old callers in extensions.

Document default null value of IContextSource and add a @note to prefer
IContextSource over null value.

Remove trailing whitespace, and make code order according to parameter
order.

Bug: T105648
Change-Id: Ib54a6a96b73f6cd8fcdf8e520db2448a1e811cfa
2016-02-04 23:32:24 +05:30
jenkins-bot
e95100da6e Merge "Show change tags on Special:RevisionDelete" 2015-12-17 03:21:07 +00:00
mhutti1
112bec5c0e Show change tags on Special:RevisionDelete
RevDelRevisionItem.php has been modifed to display tags and
RevDelREvisionList.php has been modifed to request tag data
its database query.

Bug: T109041
Change-Id: Icaae790b7d21a6670c692d11e25c6db7b7325530
2015-12-15 20:24:36 +01:00
jenkins-bot
4657bd99ed Merge "PHP 7 compatibility: Fix variable interpolation in RevisionDeleter.php" 2015-12-14 00:29:23 +00:00
Aaron Schulz
282c5fa9f3 Rename SquidUpdate => CdnCacheUpdate
Squid is not the only possible CDN

Change-Id: Ie2a2955847c5706e630322bbbab71c9d063b378f
2015-12-09 16:31:17 -08:00
Aaron Schulz
afbff42aca Make CDN purge calls use DeferredUpdates
* Using addUpdate() makes sure purges are coalesced and
  de-duplicated.
* Also removed incosistent $wgUseSquid checks. If CDN caching
  is not used, then $wgSquidServers will just be empty anyway.

Bug: T119016
Change-Id: I8b448366f037f668385d252f9d68289b71d1a707
2015-12-04 19:09:03 +00:00
umherirrender
378e98290a PHP 7 compatibility: Fix variable interpolation in RevisionDeleter.php
Bug: T115250
Change-Id: Id01060d858cb67a25507a552a22434af0951e242
2015-12-03 19:37:02 +01:00
Brad Jorsch
d9ebccb86d SECURITY: RevDel: Check all revisions for suppression, not just the first
If any of the revisions in the list are deleted, do not allow changing
the permissions without suppressrevision.

Bug: T95589
Change-Id: Ia8a3ef13b73925d14a79775a50d46b939c01664f
2015-10-16 14:11:20 -07:00
Alex Monk
8682b8b90e Purge remaining oversight references from code
i18n change coming in a separate commit

Change-Id: I46b9311cd01e95e524587ce40dcbae62f58dc5a8
2015-09-16 18:21:44 +00:00
Aaron Schulz
4161843d87 Cleaned up various revisiondelete IDE warnings
Change-Id: I4750eabf9985785520aaac8eca12d488ca746966
2015-05-29 21:40:36 +00:00
Aaron Schulz
433ff9be16 Cleaned up CAS check in RevDelLogItem::setBits for recentchanges
Change-Id: I6c29653361a0937489c27891739a9dc626c20167
2015-05-23 18:53:45 +00:00
Aaron Schulz
52e1947dcd Actually set the $res field via doQuery() in setVisibility
* Otherwise, it is thrown away and redone on a slave

Change-Id: I1252fa5bc98d908cf289f4d93cbdd8d6d33828ea
2015-05-23 10:58:09 -07:00
Aaron Schulz
c1bc0e447c Added $res var docs for RevisionListBase
Change-Id: Ib71b9c662e68b64f1c6ad07c1902ed8ed432f175
2015-05-23 13:08:12 +00:00
Brad Jorsch
61233fc847 API: Move parameter formatting into LogFormatter
This allows for extensions to format their log entry parameters, and
keeps the code for formatting API log entry parameters in the same place
as for other formatting.

This also takes the opportunity to rearrange the output format slightly
to avoid conflicts like what's happening in T73020.

Bug: T35235
Bug: T73020
Bug: T91466
Change-Id: I6846ce09322eb404c506b5a51780a44ce9279fe2
2015-04-17 04:59:41 +00:00
Aaron Schulz
777cf7c291 Switched RevDelList to using start/endAtomic()
Change-Id: I2c950b558390e3fd9917414998f576e4e3b0593d
2015-04-09 11:17:03 -07:00
umherirrender
8089580c62 Use new log system when create log entry for revision delete
The actions delete/event and delete/revision was not using the new
LogEntry to create the log row, changed this.

All params gets a number to avoid too many changes in DeleteLogFormatter
to keep the old and new format working.

Needs extra code for api to keep the output format unchanged.

Change-Id: Ic149960f797d05fd088fa014390d791e3ae08687
2015-02-07 20:05:13 +00:00
Aaron Schulz
e34f304b8e Made ArticleRevisionVisibilitySet include the revision IDs
Change-Id: I6a14c7b95041fdd44d7962af6dc139bcc29f7223
2015-02-04 03:25:32 +00:00
Reedy
4d9143c7f5 Add lots of @throws
Change-Id: I09d0c13070f966fcf23d2638d8fc1328279a5995
2014-12-24 13:49:20 +00:00
Ricordisamoa
12dec5d85d Fix some stuttering in comments and documentation
Change-Id: I9c0088b9aab37335203cad45a1d6fa8ac3f43321
2014-12-17 19:44:10 +00:00
Ricordisamoa
fc5fd5c37a Typo fixes and non-code tweaks
Skipped replacements:
* prefered → preferred
* prolly → probably

Skipped files:
* resources/lib/jquery.ui/jquery.ui.mouse.js
* resources/lib/jquery/jquery.form.js

Change-Id: Ib7923f362ddfca1b892bf5d601785d6b5aa5d44c
2014-12-12 18:31:15 +00:00