Commit graph

861 commits

Author SHA1 Message Date
jenkins-bot
dfd1efa0f4 Merge "Revised design of Special:Userlogin" 2013-04-11 23:31:51 +00:00
S Page
b809d516db Revised design of Special:Userlogin
If a global variable is set or if you add ?useNew=1 to the query string,
Special:Userlogin loads a different login template (UserloginVForm.php)
with the new Vertical Form appearance and different messaging.
Otherwise the current unchanged template renders so that wikis can cut
over to the new look when ready (with messages and links). Once they do
so, the variable and flag will be retired.

The new template applies mw-ui-vform and mw-ui-button styles defined in
a new 'mediawiki.ui' CSS module in core to create a compact vertical
form.  The mw-ui styles specify a Helvetica font stack (that we tested
in the Account creation experiment) in the form area, but NOT if the
user is using some other skin than Vector.

The CSS code is developed using Sass. The patch includes the
Sass scss files, along with a Makefile that uses their Compass build
configuration (config.rb).

The redesigned Special:Userlogin also:

* Displays a "secure login" link if HTTPS is available.
* Loads additional CSS for its form features (e.g. more attractive
  errorbox, "Join wiki" messaging).
* Defines new "userlogin-xx" messages; many are the same as
  existing messages but without ':' on the end.
* Uses a distinct title for Login instead of generic "Log in /
  Create account".
* Removes the [mailmypassword] code branch from its login template as it
  is never executed.

Bug: 44628
Change-Id: I489042c50aa060c90ca18b05097dbe25c4ae6395
2013-04-11 22:26:45 +00:00
Aaron Schulz
4c54454be4 Moved ChronologyProtector to its own file.
Change-Id: I01bf0206322454e36633921887d10356a48ab5cb
2013-04-11 14:08:45 -07:00
Chad Horohoe
4be6236352 Remove externaledit/externaldiff preference
Change-Id: Ic3791d188688f556753ab5556a4d9733bbf2e85e
2013-04-11 09:20:36 -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
Chad Horohoe
8dfd474b53 Remove several ancient skins
Standard, Simple, Chick and MySkin have all been removed.
Nostalgia has been moved to an extension for posterity.

Change-Id: Ia6d73c2deb9428d214b7d69b29235094de75c52e
2013-04-01 17:11:59 -04:00
Aaron Schulz
5f1e95436e Avoid sending multiple UDP packets for the same key in wfIncrStats().
* This should help reduce collector data loss.

Change-Id: Ibe55648422d1b8aac86dd6fa83973d3c8715b0aa
2013-03-29 12:01:42 -07:00
Kevin Israel
79f80cc495 Combine JavaScript and JSON encoding logic
This will help with improving human readability of JS and JSON
objects encoded by both ResourceLoader and the API. This patch
also adds new "utf8" parameter to the JSON formatter of the API.

Changes to FormatJson class:

* Added escaping of '<', '>', and '&' by default to protect against XSS.
* Removed unnecessary escaping of '/' and added an additional option to
  unescape non-ASCII characters (those above U+007F) as well.
* Added PHP 5.3 pretty printing code (to replace Services_JSON) that
  uses a four-space indent as PHP 5.4 does.

Changes to Xml class:

* Defined Xml::encodeJsVar() in terms of FormatJson::encode()
  and added a pretty printing option. Also added a pretty printing
  option to Xml::encodeJsCall() as well.
* Deprecated Xml::escapeJsString() and QuickTemplate::jstext();
  callers have to add quotes themselves, hence the escaping of
  both double quotes and apostrophes.

Bug: 26818
Change-Id: I1987190f1ba5bf41738e7bd611209706c1f6bb5c
2013-03-27 20:22:45 -04:00
jenkins-bot
6ad44a315a Merge "Move subclasses of LogFormatter to their own file" 2013-03-26 08:38:04 +00:00
Chad Horohoe
27104686ab Remove Special:ActiveUsers
This feature was poorly thought out from the start. It's a huge
performance drain when used, for a mimimally useful set of data

Change-Id: I138622e1c184f74e2a7ce13a9a544ab4e610d7a0
2013-03-25 18:19:21 -04:00
Aaron Schulz
1575b24f59 Added a PoolCounterWorkViaCallback convenience class.
Change-Id: I1cbb2cc8a43eea2d28f38cfd2d3a4908dc7d0da9
2013-03-19 23:25:40 -07:00
Alexandre Emsenhuber
744c0c7541 Move subclasses of LogFormatter to their own file
Except LegacyLogFormatter.

includes/logging/LogFormatter.php is getting bigger and bigger with
the addition of new formatters when logs are changed to use them
instead of the old method, so better doing this now before we get
new formatters for remaining log types.

Change-Id: I6aab19c8d68bf47beddad42632b0360a7b12f251
2013-03-15 15:25:33 +01: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
Aaron Schulz
5cfcb3053d [JobQueue] Added JobQueue::getAllQueuedJobs() function.
* Also added a small MappedIterator class for convenience.

Change-Id: I7dac1001a8e048cb524f7fbfee50a20a32e598ba
2013-03-08 06:34:31 +00:00
Jan Gerber
e288e4036c (bug 33186) image rotate api
add api action imagerotate to rotate images.
	rotations are stored as a new version of the image.

Change-Id: Id15a92d19cda8256917e7e1e5ee4241012214102
2013-03-07 21:38:10 +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
jenkins-bot
636d0de4b8 Merge "Adding new subclass to HTMLForm for constructing a checkbox matrix" 2013-03-05 20:09:21 +00:00
jenkins-bot
7027ba7e93 Merge "Remove DB2 support" 2013-03-01 22:00:46 +00:00
Reedy
6f3e4e9806 Kill off and remove HttpRequest class
Change-Id: I0661d483c60fc0d32f0c51937e91bece6960dfcf
2013-02-28 01:45:54 +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
jenkins-bot
96eb68f39f Merge "[Upload] Moved async upload stuff to the job queue." 2013-02-26 23:58:32 +00:00
MatmaRex
0c28ca1422 Revert "(bug 29788) Swedish Collation (uppercase-sv). Swaps Ä and Æ"
This workaround is unnecessary now that I838484b9 was merged.

This reverts commit 13dc8ff88f.

Change-Id: I2cd22ad87eb7a56c5742b20c6089a4b8607e5614
2013-02-26 22:18:36 +00:00
Brad Jorsch
307ac55e50 Add PagesWithProp special page and API module
It would be useful to be able to list pages using a particular page
property, particularly in light of the new Disambiguator extension.

This adds a special page Special:PagesWithProp and an API query module
list=pageswithprop to do just this. It also adds an API query module
list=pagepropnames to list the prop names currently in use on the wiki.

Change-Id: Ib0d4e17f22b8d0cb9894eac6095962315480e809
2013-02-26 00:24:31 +00:00
Chad Horohoe
6f4448dd71 Remove DB2 support
Change-Id: I9b294a213a4000f503c0010d88757db6dda927c0
2013-02-25 13:47:03 -08:00
Aaron Schulz
d0985f4f04 [JobQueue] Added aggregate empty/non-empty queue caching.
* The default class is JobQueueAggregatorMemc.
  This essentially has the logic that nextJobDB.php used.
* Also created a JobQueueAggregatorRedis class.
  This is much more efficient and more responsive.
* This can speed up calls to getQueuesWithJobs().
* Removed unused getDefaultQueuesWithJobs() function.

Change-Id: Ifb3c6c881decd643da1b662956ded69db4b39431
2013-02-20 17:34:14 -08:00
Aaron Schulz
fbf34d84ab [Upload] Moved async upload stuff to the job queue.
* (bug 44080) Also carry-over the IP and HTTP header info.
* This adds a RequestContext::importScopedSession() function.

Change-Id: Ie9c0a4d78fb719569c8149b9cc8a5430f0ac5673
2013-02-15 15:00:35 -08:00
Aaron Schulz
fdef79d9f2 [LockManager] Created PostgreSqlLockManager class.
* Made DBLockManager abstract instead of a hacky blocking implementation.
  With a PG and MySQL option, that option is no longer useful.

Change-Id: I939551bd2283608f2d017d9d2fca1334a533c005
2013-02-15 04:06:10 +00:00
Tim Starling
f96e5c5eec Merge "[JobQueue] Added a JobQueueRedis class." 2013-02-08 05:01:34 +00:00
Aaron Schulz
0beb6f9832 [ExternalStore] Added ExternalStoreMwstore class that uses a file backend.
Change-Id: I7785a621fe32f549b2e7c636f2b6e7b18be367f4
2013-02-07 09:52:03 -08:00
Aaron Schulz
e53902e550 Added UIDGenerator class for getting statistically unique IDs.
* This is useful for making IDs for object in partitioned stores.
* The "UID" functions are not called "UUIDs" since they don't follow RFC4122.
  This is for performance reasons since the ID fields tend to be indexed.
* This includes newUUIDv4(), which is compliant with the aforementioned RFC.

This reverts commit 86f895bfe3.

Change-Id: I989626dfb7976d17f5931a34fe040f41cf14dfe3
2013-02-07 17:38:12 +00:00
Tim Starling
53cd876eb4 Remove Preprocessor_HipHop
To reduce the maintenance burden for changes such as Id7ec4e69. The
project to optimise the preprocessor for hiphop is incomplete and is not
especially useful given the present state of hiphop support.

Change-Id: Iebcfe4d40f74520e29e7feb522251892fab2f652
2013-02-06 14:44:10 +11:00
Brian Wolff
13dc8ff88f (bug 29788) Swedish Collation (uppercase-sv). Swaps Ä and Æ
See I4542f57a. Meant as a temporary meassure until such a time
generic tailoring code is implemented for uca. This patch
is mostly Lejonel's code, with the class renamed.

Change-Id: Id39406c37a5277d9e7a9216544de2140411c2b01
2013-02-05 22:21:50 +00:00
Yuri Astrakhan
a97bb3acfa API module manager and help rewrite
This is a non-versioned part of the larger patch #41014
https://gerrit.wikimedia.org/r/#/c/41014
It will allow help subsystem optimization (merging paraminfo and help),
path towards per-module or per-system versioning, removal of the
manually maintained generator lists.

Changes:
* ApiModuleManager now handles all submodules (actions,props,lists) and instantiation
* ApiModuleManager maintains a cache of all instantiated modules
* Query stores prop/list/meta as submodules
* action=help suports generalized submodules (modules=query+value), querymodules obsolete

Change-Id: Ie2dee41e44a29cd5d5935eeaa5240b708d95a8f0
2013-02-05 01:52:55 -05:00
umherirrender
1044b0b8df fix some spacing
Change-Id: I8f976013f33c5818e4402604fe8610aa3f43b0c6
2013-02-04 20:18:33 +00:00
Aaron Schulz
7224c402ca [LockManager] Split QuorumLockManager into its own file.
Change-Id: Ib487a39b04ac9de3449695ac388c95ae45933469
2013-01-31 22:29:44 -08:00
Aaron Schulz
a37f67909f [ExternalStore] Refactored external store classes to use a base class.
* Added ExternalStoreMedium base class
* Moved up two functions in ExternalStoreDB
* Various documentation tweaks

Change-Id: I6790aab7799609422e7af4fb31d2ad60610298ec
2013-01-25 15:54:15 -08:00
Aaron Schulz
03833b54e8 [JobQueue] Added a JobQueueRedis class.
* The Job class now includes an extra "metadata" field now for usage
  by the queue classes. This is useful for stores that lack IDs.
* A RedisConnectionPool class was added for reusability.

Change-Id: Ie72536240e27fe1caf11096cdc4c85dfa821d181
2013-01-22 11:09:58 -08:00
jeroendedauw
a00337c3f8 Design improvements to sites code
Change-Id: I08ffa6a97093abbe85169f664b97498c5f39bf8e
2013-01-22 15:39:23 +01:00
Tyler Romeo
88d87b00cd Added account creation API.
Created new API action "createaccount" that
allows access to account creation. Takes
username, password, email, realname, token,
and optionally mailpassword and reason.

Errors are given in an errors array. Note
there is no way to natively handle CAPTCHAs
as there is no uniform implementation of
presenting CAPTCHA links to user. Right now
the best an extension can do is return an
error in AbortNewAccount, which will then
be displayed as an error in the Api result.

Change-Id: Ibdb1e50d434fb857683e1e4ff5a4a5a91c6b7c3a
2013-01-11 01:00:49 +01:00
jenkins-bot
dcd83202a8 Merge "Allow preferences that need not be rendered in Special:Preferences" 2013-01-09 07:57:37 +00:00
Aaron Schulz
6ffc117307 [JobQueue] Added support for using an external DB.
* Added a new ScopedCallback class to handle reuseConnection() easily.

Change-Id: Icfab280f0173c2cb1ac44cc0bd45e9202600687b
2013-01-07 16:42:22 -08:00
Santhosh Thottingal
8cc0fbb52d Allow preferences that need not be rendered in Special:Preferences
Extensions can use their own interface for user preferences, with the
help of the action=options API.

For example, Universal Language Selector has a different UI to
allow anonymous and logged in users to set language related preferences.

Validation for the preference values is up to the extensions.

Change-Id: I18a5ffb5cc202c59ba76b86cfb63e49010cc1881
2013-01-07 14:07:43 +01:00
Tim Starling
7c4198805a Use consistent hashing for SqlBagOStuff servers
Also factor out consistent hash code from Redis and the new application
into a class called ArrayUtils. The name "ArrayUtils" is from
I0f4e7d7c, I expect that change will be rebased on top of this one at
some point.

Change-Id: I9375087f4d7a6e8e629d97bfb6b117d9cb7d1bcf
2013-01-04 18:07:07 +00:00
Aaron Schulz
940b57f1d3 Moved LocalisationCache under /cache.
Change-Id: I54b230376ed682d6a6b7d6fa4fd5ab133c8c8b1b
2012-12-16 07:14:48 +00:00
Aaron Schulz
a29ee00f1a [LockManager] Moved ScopedLock to its own file.
Change-Id: I7430604d3a23a25e8b82036b022336a73cbbc996
2012-12-14 13:08:05 -08:00
parent5446
69ea440003 Changed LoginForm::addNewaccountInternal() to return Status.
Rather than calling mainLoginForm() and returning false,
the addNewaccountInternal() function now returns a Status
on failure. mainLoginForm() is then called in addNewAccount()
and addNewAccountMailPassword() instead. This allows for
processing of the account creation form without submitting
anything to $wgOut.

Change-Id: I402c6bebcfe276233cc1f9e16efbe55a034b2181
2012-12-13 19:00:53 +00:00
Aaron Schulz
cbc28d41ae Moved ExternalStore stuff to a /externalstore subdir.
Change-Id: If631040d8242354734280403258ed5d51542728d
2012-12-10 12:43:42 -08:00
Antoine Musso
86f895bfe3 Revert UIDGenerator commits.
Changes seemed to be merged without anyone really looking at it
and the authorship in git is wrong as well. All related changes
can later be batched as one commit.

Following commit / change are reverted:

 - 7ac3edd https://gerrit.wikimedia.org/r/36803
 - 036d03b https://gerrit.wikimedia.org/r/36813
 - 2b168e3 https://gerrit.wikimedia.org/r/36812
 - 6030d92 https://gerrit.wikimedia.org/r/36801

See wikitech-l thread
http://lists.wikimedia.org/pipermail/wikitech-l/2012-December/064801.html

Change-Id: Ie39fde2ee4121372b6d790943f306e56fbacc2b5
2012-12-05 09:52:20 -08:00
Patrick Reilly
036d03bab9 fix sort order
Change-Id: I07e29fbdae88ce5164ba4fb60dbb597dbc2c4dcf
2012-12-04 12:19:45 -08:00
Patrick Reilly
2b168e3e06 Add UIDGenerator to AutoLoader
Change-Id: I288eef52590033002d7e36f0ca2f667f46dd6aec
2012-12-04 12:13:48 -08:00