This reverts commit 0fdd607a84.
This attempt to fix T295187 caused other issues (T303235). A proper
fix is in Ie0f1d7b6daffc8ff47228f6f086a257518f72717.
Bug: T303235
Change-Id: Ib273f88531c340b561072ee9f616aa60725091e6
php internal functions like floor/round/ceil documented to return
float, most cases the result is used as int, added casts
Found by phan strict checks
Change-Id: I92daeb0f7be8a0566fd9258f66ed3aced9a7b792
These can all be removed now as skin- prefixed messages or no-prefixed
messages should always exist now.
Bug: T301203
Change-Id: Ifa383f807e9e0a0fb2880bbd6bc87010d82e7f61
Since PHP arrays make no clear distinction between lists (JSON arrays)
and maps (JSON objects), some edge case handling is needed to make
validation work reliably when we declare types for all arrays:
1) Allow array keys to be ignored, so an associative PHP array validates
as a JSON array. This is needed for the SessionProviders setting.
2) Allow associative arrays with numeric keys to validate as JSON
objects. This is done by ignoring the type validation when numeric keys
are detected. A warning is returned in the status object.
3) Work around validation failing on float values that are expected to
be integers. All numbers come from the yaml parser as floats, and the
"integer" type in JSON schema should accept floats with if the
fractional part is 0. But that doesn't seem to work, we need to cast the
values to integers explicitly.
Also, this fixes some mistakes in the schema: LockManagers is a list,
so it should use the JSON type "array". NamespacesToBeSearchedDefault
is a map (JSON object), even though it uses numeric keys. The Actions
registry is also a map.
Change-Id: I9d0453d740c377b7cce574df743536c39a0ec619
We plan to refactor these properties and move them into a value object
instance. Mark them deprecated for 1.38 so we can move/remove them
in a future release.
Bug: T301020
Change-Id: I8ec2e903bd7cde8d54fe0366707cbcf625f1f1a1
Rename Sanitizer::removeHTMLtags() into an @internal method named
::internalRemoveHtmlTags() so that we can deprecate external use.
Code search:
https://codesearch.wmcloud.org/deployed/?q=removeHTMLtags&i=nope&files=&excludeFiles=&repos=
Followup-To: Ic864c01471c292f11799c4fbdac4d7d30b8bc50f
Depends-On: Iaca83ed06e9c61d8366579cd2283cba653c82319
Depends-On: I1963bfe9a99198ea02ca482a5769467ce806cd58
Depends-On: I83923d8b38d33f3638cd53958dd10f257ec21f7c
Depends-On: I018b34bb5f6e113056da9b04cc72d4318422adce
Change-Id: I202826f8b27519f7be89643e24eda47a6e3fc9f6
As a result, when an existing Message object is passed in the $key
parameter, the function will return a clone of that object, rather
than a new Message constructed based on the key extracted from the
old message.
This is mostly relevant when the passed object is an instance of
a subclass like RawMessage or ApiMessage, but it could have other
unpredictable consequences. No test failures, though!
Change-Id: I4815e92dfaf5fbcc8c9356106738716c6b9ae0da
Left over from my changes in
I25b8f0256d222d994173eee66f379fb5422994b5 when it used to
be a createNoOpMock() call instead.
Change-Id: I20fc8aaa62c296160236443ab03a4cf272fe8395
This affects messages created using wfMessageFallback() and related
functions, in particular many messages used for navigation tabs in
skins.
Previous attempt in 11d7d97768,
reverted in c83b530f95 due to T302469.
This attempt doesn't introduce any new placeholders to avoid that
issue.
Bug: T300069
Change-Id: Ib0e282b3864caf345e42dd7af4a529f43ae7ba67
This avoids "Can't create user on real database" errors that can
occur if the order of test classes changes.
Bug: T50217
Change-Id: Iccd6a2d4f207d2a9ddf62544b3a24a9db15bda55
This moves the taint information to be directly on the method,
moving it out of the SecurityCheckPlugin. See discussion on
Ieb202ef92bd9888ce767f8dd4d97f19eeb10a073.
We also fix a legit "double-escape" issue flagged by the phan
SecurityCheckPlugin once the correct taint information has been
added.
Followup-To: Ic864c01471c292f11799c4fbdac4d7d30b8bc50f
Change-Id: I0f873618d43cb6daf9c43394a669125469462223
The class property name is lazy initalize, which can result in use of
null in File::getThumbDisposition
Found by phan strict checks
Change-Id: I0532bb47d97bb73400a8b84a35e9cb7ebabae5c1
This takes precedent over the other messages e.g. action-protect
Since only 3 messages clash with the protection forms, only 3 are
ported for now.
The action-protect, action-move and action-undelete are reverted
to their old values as they were in
98fa55566a9df1d6dd74654979f890d75c602220
Bug: T303012
Change-Id: I5594ba4d1a60d141dbcc5ac3bd97428f765709d6
- The public method that is being called internally only, is now private.
- The getters are replaced with direct access.
- Make calls to TransactionManager a batch.
Bug: T299698
Change-Id: Id9c5d6a692abd573793c1cab3d07ebf0ee8760f4