Fix ORMRow::insert() on PostgreSQL.

When inserting a new row, ORMRow explicitly passed NULL as the value for
the id field which in MySQL means "use next value in sequence", but in
PostgreSQL means "use NULL".  With this change, for id fields no value
is passed if it isn't set to non-null.  This fixes bug #43475.

This effectively bars the possibility to set the id field of an existing
row to NULL, but the current code already disallows any changes in id
fields.

Change-Id: I29d86fa6fc38ff1852821658e4927b4d7d4a72b6
Set initial language and variant user preferences to user's preferred variant on user registration

Change-Id: I7fffe7e96fe5139fe5d023bf9755882dc3efad6e
Make update.php and install.php use wfPHPVersionError() and reorganise it

update.php and install.php now use wfPHPVersionError()

Moved to wfPHPVersionError( cli ) the suggestion of another binary name.

Old PHP versions won't have $_SERVER superglobal, hardcode HTTP/1.0 in that case.

Store in a variable the minimum version of PHP supported by MediaWiki.

Changed PHP_VERSION to phpversion(), although it doesn't matter for the version
ranges this works.

phpversion() has been present since PHP-2.0
PHP_VERSION was added in PHP 3.0RC5

On its current form in PHP 4 it was moved from Zend/zend_constants.c
to main/main.c by Zeev in commits 71dddd7db7e768ae8145e085fcbb6b6db4a1c40a and
fb1c77bd4f8a636ba47d720f8ca65fc6baae836d (1999-12-17)
It had been commented there since the beginning of svn history (1999-04-07)

The earliest version we can target seems to be PHP 4.1.0
PHP 4.0.0 produces a parse error on a require_once not followed by a literal
path (although you can use require with an expression), plus its dirname()
is quite dumb, and wouldn't provide the right path (would require you to call
"php ./update.php" from maintenance folder, not "php update.php" or
"php maintenance/update.php" from the main dir)

Replacing pathinfo( $_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME ); into a pathinfo()
to another variable since pathinfo( "", PATHINFO_DIRNAME ); core dumps in PHP 4.1.0
(works if $path is not empty)

The value of the pragma directive is 'no-cache', not 'nocache'. See section 14.32
of rfc2616: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32

Change-Id: I6294e86a5f3e11b9ea0f62762815e7c71b9037ce
Default $wgContentHandlerUseDB to true

Change-Id: I830ec04e7f7f853bf7752262105a067fb9723145
Normalise documentation in tests/selenium

- Remove useless @addtogroup, all files already have @ingroup
- Make comments position and whitespaces consistent

Change-Id: Id8f68d53e00e7ed32a5da8681c0263a683eef724
Adjusting badge size per Vibha

Change-Id: Iabb660fdcd4494442bd33b9b402f3fe8d24b0ff1
Documentation improvements in includes/actions

- Separate file and class documentation
- Add some missing class documentation
- Fix erroneous documentation

Change-Id: I35c846ad63e837165b79456dc89d330498aebf64
getBools doesn't exist in Translate anymore

Change-Id: Id22e87dee426fbbb685f61c2dddff9d14baa521b
Correct case of Title::getPrefixedDBkey() calls

Change-Id: Ic9ef0cc6dbb0a8eb0ee93432299ef59759223e2c
Use User::groupHasPermission

Instead of getting the rights of group '*' and searching for 'read',
there is a method to do a direct lookup for group '*' and right 'read',
makes the code easier to read.

Change-Id: I1d5d6e1f4a94ded2b3f87144e031d0c2aac62020
Changed formatting of "anontalkpagetext"

Change-Id: Ie551f08c4409b7515e4b10b598789051b44c8c42
Don't use isset() to check whether an existing variable is null

Change-Id: Ie63f060fb7928fd51a8ad71293955f923f6a18c3
Format jquery.ui.button.css so it's easier to work with

Change-Id: Ifdb01057f80bae529d15d357cd4b28d0d14b82f4
IcuCollation::$tailoringFirstLetters: implement letter removal

This is necessary for Swedish, where 'Þ' ("thorn") - considered a
separate letter by default in the first-letters-root.ser file - is
sorted as 'th', causing unexpected output on category pages - words
starting with 'th'..'u' were placed under a heading with the thorn.

There were three obvious ways to do this:
* somehow include information that this letter is to be removed in the
  string itself, as in 'sv' => array( "Å", "Ä", "Ö", "-Þ" ) - could
  potentially clash with valid uses
* create a separate array other than $tailoringFirstLetters to store
  this information - would cause the data to be fragmented all over
  the file
* include information about letters to be removed in a separate key
  "linked" to the regular one, as in '-sv' => array( "Þ" ) - I see no
  obvious downsides, so this is what I ended up doing

Bug: 45446
Change-Id: I57e07a2027c391c5baa767a68f4409b9de7b4618
Merge "IcuCollation::$tailoringFirstLetters: implement letter removal"
Rewrite user_touched comment, since apparently it is not clear enough

Change-Id: Ib993e5a6dc56963e9afbbdc2ada77762e1594f0b
[JobQueue] Try to cut down on waitForBackups() calls in runJobs.php.

Change-Id: I2fc97ef8dbc02d1184959ba962dcafdae9fae808
Update docs

Change-Id: I65fb974f159a7b317843b44e90f8225ab1bf722d
Merge "Update docs"
[LockManager] Various fixes to lock managers.

* Improved handling of corrupt values in cache for MemcLockManager.
  Also improved the use of Status warnings a bit.
* Removed broken special-case handling for SH->EX lock escalation.
  Updated MysqLockManager to compensate.
* Made FSLockManager only use one handle per file, which is more
  efficient and avoids errors when escalating locks (SH->EX).
* Made lock unit tests have more useful output on failure.

Change-Id: Ib304712fa2b6b3fd02bfc1b08b6f238c771960c2