Commit graph

949 commits

Author SHA1 Message Date
Aaron Schulz
c0c5ad0272 Avoid use of __METHOD__ in closure.
Change-Id: Ib25063f41cc25647003442cbd5851c3b777b2a7a
2013-04-22 12:08:28 -07:00
daniel
3487ae0630 Fix debug log line for $userLimit.
$userLimit was used inline in the message, causing an "array to string conversion"
notice and a mangled log entry.

Change-Id: I8c5199f1bf01b56e955d8d15c48061b5301b1745
2013-04-22 09:52:36 +02:00
umherirrender
ef2f507d23 Fixed spacing in files direct in includes folder
Added spaces before if, foreach
Added some braces for one line statements

Change-Id: Ibb8dd102db045522d12ff939075ba7420d95ab6b
2013-04-21 06:38:49 +00:00
Aaron Schulz
dc0fae6f6a Reduced DB contention in User::saveOptions().
Change-Id: Ic91501cd6476dae54b54b85f2f06c25bd2577c9b
2013-04-17 17:05:55 +00:00
umherirrender
15abcf71ca Added/Removed spaces around string concatenation
And added/removed spaces around some other tokens,
like +, -, *, /, <, >, =, !

Fixed windows newline style

Change-Id: I0b9c8c408f3f6bfc0d685a074d7ec468fb848fc8
2013-04-13 13:36:24 +02:00
Kevin Israel
57bf4cae49 Add @since line for User::groupHasPermission()
Change-Id: Ibcd20a3921058a010334e0e0983e2d9541aea734
Follows-up: I41edb091fa35c8c68b6f95cc5fd208ea99418cdb
2013-04-10 22:18:43 -04:00
Chad Horohoe
36cade5fe8 Remove ExternalUser authentication code
This was an experimental authentication system intoduced a couple
of years ago with a pretty narrow use-case. It's been pretty much
ignored since introduction, and makes login more complicated than
it needs to be.

I didn't drop the external_user table on the off-chance someone
out there actually has data in it, but they should use AuthPlugin
for their external authentication needs.

Change-Id: I794338dbb75961ee033d41fa44bb7aa22e54f447
2013-04-04 10:09:34 -04:00
Aaron Schulz
d3281c2b5c Deferred user_touched update via onTransactionIdle.
* This should reduce deadlocks and lock wait timeouts.

Change-Id: I7d028f9efbe6b2f73240aa653eb9775020f33e8c
2013-04-02 06:07:16 +00:00
Skizzerz
d99bda6ee6 Apply IP blocks to X-Forwarded-For header
Adds a new configuration variable ($wgApplyIpBlocksToXff), which when
enabled will scan the XFF header for IP addresses and check if any of
them have been blocked. $wgApplyIpBlocksToXff is disabled by default.

Bug: 23343
Change-Id: I3faa9c3e8107c6e46cdf21f8c18adda1f42890d7
2013-03-30 05:51:46 -07:00
Aaron Schulz
fb096ec339 Merge "Revert "Apply IP blocks to X-Forwarded-For header"" 2013-03-29 19:57:35 +00:00
Aaron Schulz
4ba66e41b5 Revert "Apply IP blocks to X-Forwarded-For header"
Test are now starting to fail for everything.

This reverts commit a5d70e3ae6

Change-Id: I30c9eb9c00be12ff080e85452e17c2a310f03bd3
2013-03-29 19:13:35 +00:00
jenkins-bot
8b3108fe77 Merge "Apply IP blocks to X-Forwarded-For header" 2013-03-29 18:42:50 +00:00
Skizzerz
a5d70e3ae6 Apply IP blocks to X-Forwarded-For header
Adds a new configuration variable ($wgApplyIpBlocksToXff), which when
enabled will scan the XFF header for IP addresses and check if any of
them have been blocked. $wgApplyIpBlocksToXff is disabled by default.

Bug: 23343
Change-Id: I3e38b94d10600a60d2d4857de54307f34c4662c4
2013-03-29 11:29:17 -07:00
Matthew Flaschen
ec794e12c3 If isConfirmedEmail (already confirmed), skip dbtouch/hook call
Bug: 46655
Change-Id: I5ea64611f68e01b1e82cd9dbe564123e81b17ed9
2013-03-28 18:30:52 -04:00
Alexandre Emsenhuber
df5265e14d Fix case of some Title methods
Change-Id: I37ce7fe392f4941c500fa0a88007664501d7e338
2013-03-27 14:36:05 +01:00
umherirrender
6c278b6d7e fix some spacing
* Removed spaces around array index
* Removed double spaces or added spaces to begin or end of function
  calls, method signature, conditions or foreachs
* Added braces to one-line ifs
* Changed multi line conditions to one line conditions
* Realigned some arrays

Change-Id: Ia04d2a99d663b07101013c2d53b3b2e872fd9cc3
2013-03-25 22:22:46 +00:00
Yuri Astrakhan
9506e3d812 Spellchecked /includes directory
* Ran spell-checker over code comments in /includes/
* A few spellchecking fixes for wfDebug() calls

Found one very strange (NOOP?) line in Linker.php - see "TODO: BUG?"

Change-Id: Ibb86b51073b980eda9ecce2cf0b8dd33f058adbf
2013-03-13 03:42:41 -04:00
Tyler Anthony Romeo
4dcc7961df Fixed @param tags to conform with Doxygen format.
Doxygen expects parameter types to come before the
parameter name in @param tags. Used a quick regex
to switch everything around where possible. This
only fixes cases where a primitve variable (or a
primitive followed by other types) is the variable
type. Other cases will need to be fixed manually.

Change-Id: Ic59fd20856eb0489d70f3469a56ebce0efb3db13
2013-03-11 13:15:01 -04:00
jenkins-bot
073a675adf Merge "fix some spacing" 2013-03-07 17:13:27 +00:00
umherirrender
d63121016d fix some spacing
Added/removed spaces around logical/arithmetic operator
Reduced multiple empty lines to one empty line
Removed wrong tabs before comments at end of line
Removed too many spaces in assigments

Change-Id: I2bba4e72f9b5f88c53324d7b70e6042f1aad8f6b
2013-03-07 17:53:21 +01:00
umherirrender
e43dc272bd Fix align of block comments
Change-Id: I88ea33a125a71671886b49e4ebf4c1d0a1cce572
2013-03-07 17:27:38 +01:00
Reedy
7a2bc6d480 Few minor parameter type hints in documentation
Change-Id: Ibcaad4427375b9aa39bb2b333b72a0beb9a3620c
2013-03-06 01:17:31 +00:00
jenkins-bot
636d0de4b8 Merge "Adding new subclass to HTMLForm for constructing a checkbox matrix" 2013-03-05 20:09:21 +00:00
umherirrender
de7380b56e Change intval( User::getOption() ) to User::getIntOption()
Also changed some getOption with int or bool cast

Change-Id: Ia551a50e9de047c62be84065481fdf8c02e2ef96
2013-03-04 14:08:48 +00:00
ASchulz
a6ac08128d Deal with garbage user_token values in the DB.
Change-Id: I92f1645d4a1cfc4151bd34b566ec3ac05eab427f
2013-02-27 21:08:03 +00:00
Kaldari
043b6b32f6 Adding new subclass to HTMLForm for constructing a checkbox matrix
Also adding corresponding support for using them within preferences

Change-Id: Ie6e77dfd8edaff212655d0be1d048a10eeba341f
2013-02-27 11:56:31 -08:00
Kaldari
018686256b Merge "Change new wgUserRegistration format, put in User:" 2013-02-27 19:08:40 +00:00
ASchulz
873970eda9 Init the user token before adding users.
* The DB column has garbage padding as the default value, which
  was intented to just be "". Since the the insert functions cast
  the value to a string, inserting a user without creating a token
  causes garbage to be inserted. The logic to automatically fix
  empty tokens does not trigger. This fixes createNew() to set the
  token and makes sure that addToDatabase() does.

Change-Id: I3529fe8afbc62bac37063217d5aa0179a4a6e169
2013-02-27 17:28:17 +00:00
Matthew Flaschen
910ed234e8 Change new wgUserRegistration format, put in User:
* This is much more useful if it can be passed to new Date.  As a side
effect, this means straight arithmetic comparisons can be done.
* Add a method for this to mediawiki.user (getRegistrationDate).
* Improve docs on server User::getRegistration method by documenting possibility that data is null.

Change-Id: Id7ae0faa930433876939b73d47fc294975e14fb1
2013-02-27 05:55:55 +00:00
jenkins-bot
782d246839 Merge "Mention that User::setInternalPassword() accepts null as password string" 2013-02-20 15:37:47 +00:00
umherirrender
bcea44e64a Add some missing readonly checks:
* Do not allow working on Special:EditWatchlist
* Do not reset all notification markers
* Do not delete expired restrictions

Change-Id: I7a990c0a80b9c7a6340465dd082a110dafea8f14
2013-02-09 18:58:56 +01:00
Alexandre Emsenhuber
7ed06f3b0a Mention that User::setInternalPassword() accepts null as password string
This allows to set an invalid hash preventing the user from logging in.

Change-Id: I8869eda42fd902dd26660c63e5f213b63e7e77ef
2013-02-08 08:21:29 +01:00
MatmaRex
1b71bc5256 (bug 29472) kill $wgUseDynamicDates
Remove $wgUseDynamicDates and everything related to it.

I left DateFormatter::reformat() alone, since it might possibly be
used elsewhere, and to be honest I'm afraid to touch it.

Change-Id: I609db8471c14e5e5946916f085d2ee5b96204d81
2013-02-06 17:38:05 +01:00
umherirrender
1044b0b8df fix some spacing
Change-Id: I8f976013f33c5818e4402604fe8610aa3f43b0c6
2013-02-04 20:18:33 +00:00
umherirrender
6fbbbd17ca fix some spacing
Change-Id: Ie7bb35871cc99237f3a655f7db22ca1f0646df5e
2013-01-27 14:21:50 +01:00
jenkins-bot
36320a7f1e Merge "$wgContLang global unused in addNewUserLogEntry since b65893755" 2013-01-26 00:00:05 +00:00
Platonides
dbc953fab7 $wgContLang global unused in addNewUserLogEntry since b65893755
Change-Id: Ie59aba0b6805484b57bfee917778b7dd97f86754
2013-01-25 22:35:29 +01:00
jenkins-bot
0ba1eec7aa Merge "Added new "byemail" action to the new users log" 2013-01-25 16:57:45 +00:00
Tyler Anthony Romeo
be04062547 (bug 44346) Fixed call signature for PingLimiter hook.
Changed third parameter of PingLimiter hook to a
reference since that's what all the docs say and because
extensions need to be able to override the result of
the ping limiting.

Change-Id: Ia8e9d3c4de9a6f298a00949007cad53021ab782c
2013-01-25 11:06:08 -05:00
Alexandre Emsenhuber
b65893755f Added new "byemail" action to the new users log
This allows to display the "password sent by e-mail." string in the user's language
since it's now in the action text rather than always in content language due to the
fact it was hardcoded in the log's comment.

Insertion of log entries for the new users log is now acomplished using the
ManualLogEntry class rather than the old LogPage one.

Removed 'newuserlog-byemail' message since it's no longer used (also checked
extensions in Wikimedia's Git repo).

IRC notifications will use the same message for 'create2' and 'byemail' for backward
compatibility. The only difference is that 'byemail' entries will no longer have
"password sent by email." in the comment.

Change-Id: Icdf1d714259d054cf8c256faf894c533be0dc73c
2013-01-25 16:15:33 +01:00
Alexandre Emsenhuber
a9775ae572 (bug 44202) Account creation through API no longer leaks IP address of account creator
This happens when an anonymous user wants to create an account for himself through
the API. This is due to the fact that User::addNewUserLogEntry() was always using
$wgUser as performer, but the API does not replace $wgUser by the newly created user
object when the peformer is an anonymous user.

Changed User::addNewUserLogEntry() to directly take the log action as first parameter,
rather than a boolean value saying whether the password was sent by e-mail or not,
and force the performer to be the user itself in the log action is "create". This
avoids such problems in that case, no matter the value of $wgUser, and it makes this
parameter much more readable that the old one. Backward compatibility is maintained.

Creating an user and sending its password by e-mail will still log the performer's
IP address in the log if this is made by an anonymous user.

Finally the second parameter of the AddNewAccount is now correct when creating an
account from the API, it was always false previously.

Change-Id: I188ecf420b85e9d1dab6fb933ed50d5f58532109
2013-01-21 22:00:25 +01:00
Tyler Anthony Romeo
e521f0680e (bug 43959) Add ability to reset certain option kinds in API.
Added the "resetkinds" option to action=options, so that when the
"reset" option is set, the user can control which kinds of options
are reset, rather than having to do all or none.

Also added documentation to the "change" parameter, since passing
it option keys without any "=value" after it will result in resetting
that specific option to its default value.

Change-Id: Id5bc1fffa0d487c0f152b79115205d2722f380d3
2013-01-18 13:41:44 -05:00
jenkins-bot
159dc210f7 Merge "Don't apply IP blocks to users with "ipblock-exempt" rights when creating an account" 2013-01-13 20:31:47 +00:00
MatmaRex
733d19d0d0 (bug 40124) allow arbitrary user preferences prefixed with 'userjs-'
Before change I98df55f2 it was possible to set arbitrary preferences (ie.
with anything as the key) using the action=options API. That change
removed this ability by enforcing full validation of the preferences, also
introducing several regressions which were fixed by follow-ups.

Per the discussion on bug 40124, this changeset aims to restore this
ability, but in a slightly restricted way: arbitrary preferences' names
must start with userjs- prefix, to avoid any possibility of conflicting
with new MediaWiki versions or extensions.

The contents of these preferences is not escaped, sanitized nor validated
in any way; script authors are expected to sanitize them themselves to
prevent XSS attacks and other security vulnerabilities.

This commit also adds the User::getOptionsKinds() method (to determine
whether given preference keys are used by MediaWiki itself or an extension,
intended to be used via the API, or entirely unknown) and enhances the
User::resetOptions() method to allow for resetting only preferences of
chosen kinds.

These changes allow for fixing of Special:Preferences not to clear those
additional fields when saving user settings.

Change-Id: I5f9ba5b0dfe7c2ea5458d836f03429cf6d93969d
2013-01-13 19:08:56 +01:00
Alexandre Emsenhuber
9055e91f22 Don't apply IP blocks to users with "ipblock-exempt" rights when creating an account
So that this check is consistent with the one in User::getBlockedStatus().

Change-Id: Ibcadb15b87794cfe59fc42d862728e5fd46c3413
2013-01-12 19:21:04 +01:00
Platonides
fb0966908b Miscellaneous profiling fixes
Change-Id: I8d8ce0bc0383e4feb4ed38fd96b2dd516dcb742e
2013-01-06 22:35:11 +01:00
Alexandre Emsenhuber
7cbf3b6363 Set $mLoadedItems to true in User::loadFromId()
CentralAuth calls User::loadFromId() directly after calling setId().
This avoid having to load the object two times in this case.

Change-Id: Iade37631a9346dff45e18acfa078af37c1fbbfab
2013-01-01 18:44:10 +01:00
Timo Tijhof
2549c49562 (bug 40340) Fix cache issues with changing user groups
* migrateUserGroup.php: Call User::invalidateCache

* While at it, also fix the issue where User::clearInstanceCache
  did not clear cache for User::getGroups.

  Although it does clear the caches of methods used to calculate
  other group-related lists (such as User::getEffectiveGroups),
  the one for the query from user_groups was still cached in
  $this->mGroups.

  Presumably this was forgotten when this pattern was introduced
  as the instance cache precedes the user_group table.

Change-Id: I22abdba00f8ccf587a3d7696e57970ed4653afc8
2012-12-28 14:35:49 +00:00
Antoine Musso
cb60d72be1 misc style fix
* makes booleans lower case
* add spaces before open braces

Change-Id: Id88884e08bc23d7730361ee91646f54f5e16920b
2012-12-20 16:09:25 +01:00
Reedy
d537d96868 Add numerous missing @throws to method documentation
Change-Id: Iba868e82a75fef7c7d011bc5be192bf059d037c0
2012-12-09 03:09:48 +00:00