wiki.techinc.nl/docs
MatmaRex ed7979a970 Refactor watchlist token handling
Do not allow the user to change it directly; instead create a form
where they can reset it. (The token can still be changed via the API.)
The token is autogenerated whenever it is shown or otherwise used.

This really should have never used the preferences; however, trying to
change that now would be lots of work for very little gain, so this
keeps using that mechanism, adding a little abstraction over it.

It's not unconceivable that similar tokens could be used for other
pieces of data, like Echo's notifications; this enables that with one
new hook.

----

Things done here:

* Add getTokenFromOption() and resetTokenFromOption() methods to User,
  abstracting out the get-and-generate-if-empty process of handling
  tokens. Respect $wgHiddenPrefs (Watchlist didn't do that
  previously).

* Create Special:ResetTokens, inspired by Special:Preferences and
  Special:ChangeEmail, presenting the token resetting interface
  (HTMLForm-based with CSRF protection).

* Create a new hook, SpecialResetTokensTokens, allowing extensions to
  register tokens to be shown in the resetting form. Each token needs
  information about the preference it corresponds to and a short
  description (used for checkbox label).

* Hide the preference on Special:Preferences (use type=api to achieve
  this), display a link to aforementioned special page instead. Move
  info blurb to its own section at the bottom.

Bug: 21912
Change-Id: I0bdd2469972c4af81bfb480e9dde58cdd14c67a8
2013-07-24 22:06:15 +02:00
..
code-coverage Tests aren't in /maintenance anymore! ;) 2012-04-15 19:21:12 +01:00
databases Remove DB2 support 2013-02-25 13:47:03 -08:00
html .gitignore for generated html doc 2012-03-31 20:17:34 +02:00
php-memcached phpcs: More require/include is not a function 2013-05-21 23:26:28 +02:00
uidesign Drop redundant attributes in hardcoded html 2013-05-21 01:05:12 +02:00
contenthandler.txt Fix typo in contenthandler documentation 2012-10-16 10:36:56 +00:00
database.txt Remove DB2 support 2013-02-25 13:47:03 -08:00
deferred.txt
design.txt this is no longer a guideline afaik 2012-01-29 05:37:49 +00:00
distributors.txt Add a way for packagers to override some installation details 2012-06-12 20:18:44 +04:00
doxygen_first_page.php Link to mediawiki.org using https from doxygen first page, not http 2012-09-11 21:43:29 +02:00
export-0.1.xsd Fix trailing whitespace (and mixed spaces) in XSD files 2012-05-27 14:03:29 +01:00
export-0.2.xsd Fix trailing whitespace (and mixed spaces) in XSD files 2012-05-27 14:03:29 +01:00
export-0.3.xsd Fix trailing whitespace (and mixed spaces) in XSD files 2012-05-27 14:03:29 +01:00
export-0.4.xsd Fix trailing whitespace (and mixed spaces) in XSD files 2012-05-27 14:03:29 +01:00
export-0.5.xsd Fix trailing whitespace (and mixed spaces) in XSD files 2012-05-27 14:03:29 +01:00
export-0.6.xsd Fix trailing whitespace (and mixed spaces) in XSD files 2012-05-27 14:03:29 +01:00
export-0.7.xsd xsd: fix id within contributor to allow 0 2012-06-27 11:31:41 +02:00
export-0.8.xsd Fix escaping of pattern in export-0.8.xsd 2012-11-03 19:38:58 +01:00
export-demo.xml update export-demo.xml to version-0.8.xsd 2012-11-03 19:37:02 +01:00
globals.txt
hooks.txt Refactor watchlist token handling 2013-07-24 22:06:15 +02:00
language.txt Replace some occurrences of wfMsg* by alternatives. Undeprecated wfMsgReplaceArgs. 2012-09-03 11:49:58 +02:00
linkcache.txt
magicword.txt merged master 2012-08-29 15:20:15 +02:00
maintenance.txt phpcs: Fix WhiteSpace.LanguageConstructSpacing warnings 2013-05-09 05:56:26 +02:00
memcached.txt normalize filenames of maintenance scripts 2013-03-06 03:57:54 +00:00
README
schema.txt
scripts.txt
skin.txt Rename $usableSkins to $allowedSkins 2013-05-25 12:10:34 +01:00
title.txt Fix case of some Title methods 2013-03-26 10:54:15 +01:00
upload.txt

[July 22nd 2008]

The 'docs' directory contain various text files that should help you understand
the most important parts of the code of MediaWiki. More in-depth documentation
can be found at http://www.mediawiki.org/wiki/Manual:Code.

API documentation is automatically generated and updated daily at:
  http://svn.wikimedia.org/doc/

You can get a fresh version using 'make doc' or mwdocgen.php in the
../maintenance/ directory.


For end user / administrators, most of the documentation is located online at:
  http://www.mediawiki.org/wiki/Help:Contents
  http://www.mediawiki.org/wiki/Manual:Contents