(bug 12701) Use diff of all unseen revisions in the "new messages" bar.

Also pluralize properly.

"You have a new message from another user (last change)"
if only one unseen revision, or
"You have new messages [from another user|from N users|]
(last changes)" if there are several unseen revisions.

Contains a fix in Title::countAuthorsBetween() adding options to include
(one or both of) the delimiting revisions in the count.

Change-Id: I8870111802085d0bd188cb508c4f4b852985634d
[LockManager] Cleaned up DBLockManager and reduced code duplication.

Change-Id: If2b56935b8e89c4a2f3b9d0c790bbd6d6d88c520
Update migrateUserGroup to deal with primary key issue

Update migrateUserGroup so that if a user is in both the old group and
the new group, the script still succeeds.  Otherwise, it will fail
with violations to the PRIMARY KEY index on the user_groups table.

Change-Id: I7bfda03f5735633d03b81092dad29d73293cd182
(bug 38406) Properly quote table names in DatabaseBase::tableName()

Currently the logic is the following:
$database = ( $format == 'quoted' || $this->isQuotedIdentifier( $database ) ? $database : $this->addIdentifierQuotes( $database ) );
This means that $database will *not* be quoted if $format is set to 'quoted',
which is the opposite of what we want here. Instead I just copied the code
used to quote $table just below and replace the variable.

This causes SQL syntax errors when the shared table name contain hyphens
since it is not quoted.

No RELEASE-NOTES entry since this should be backported to 1.19 once merged.

Patchset #2: added some tests
Patchset #3: fix tests for SQLite

Change-Id: Idda844cb470454a9a22001a31b6692de49892ca2
Fix permissions check to show "hide" buttons.

The 'deletedhistory' is needed to access Special:RevisionDelete
and LogEventsList already checks for that right, but not
Special:Log. This caused the user to see "Hide log entries"
buttons when they had the 'deletelogentry' but not the
'deletedhistory', which was not correct.

Change-Id: Ie6274b30ffb98e2376d14e6fcac525f901d14f3d
(bug 36776) Changing User::getNewtalk to use $wgDisableAnonTalk.

Previously, $wgDisableAnonTalk was only used as a visual
hack in includes/Linker.php. Now, if the variable is set,
no queries will be made to user_newtalk at all.

Change-Id: Id5521abbec7f05f2de7230f9f0316176abc7f215
Signed-off-by: parent5446 <tylerromeo@gmail.com>
Setting up a way to have uploading by URL, but not on Special:Upload

This is for the new Flickr uploading interface for UploadWizard

Change-Id: Ifb1f612596cf83e8cea7204787bfc99e7b89547d
(bug 31817) Teach Tidy about the HTML5 inline tag bdi.

This is a follow up to change Ib7e6553f

Change-Id: I4d172e85f103e5fa1f8abbf73ad40cbd7bfbe06e
(bug 24521) Move hard coded "code error!" to messages

Change-Id: I43f064ce577da9918fea7430e5bda0853af236e3
Follow-up I0b781c11 (2a55449): use User::getAutomaticGroups().

No need to duplicate the code of User::getAutomaticGroups() in
ApiQueryUsers::getAutoGroups(), instead just call that method
directly.
Also deprecated the latter in favour of the former and replaced
all calls in core.

Change-Id: I224cb610cbd6a927a4c7f7137951416368f8cb5d
Follow-up SVN r98012: pass Title objects to LogEventsList::showLogExtract().

It seems that I forgot to update Article.php in that revision.

Change-Id: Ia29cc62dc88abb7f58d5f8cec68f67b126763f6f
store text length in local var in Preprocess::processToObj/Xml

The $text is constant and that means, the length of $text is also
constant, store it in a local var is easy than.

Change-Id: I9631b862f40eef7f8b18559ffd474a0037077d18
Added some docs, fixed some docs and made implicit checks explicit

Change-Id: Ib8ed516bc1114c58bec6e6213b52658fb34f5c98
Set form name for HTMLForms in FormAction subclasses.

Used FormAction::getName() to set the form name for
FormAction subclasses. Without a form name, HTMLForm
creates weird messages names for certain fields (e.g.,
in a form with sections, HTMLForm will use the message
"$prefix-$key" for the legend, but if no prefix exists,
it just becomes "-$key").

Change-Id: I1c19775e44163f4335e30f1d1f73a6e002cb57ec
Signed-off-by: Tyler Anthony Romeo <tylerromeo@gmail.com>
Add a Uri class.

Add a Uri class matching our mw.Uri JS class for handling uris.
This class should be helpful in a bunch of places where we end up doing manual
concatenation of things like the path + '?' + query of a url parsed with wfParseUrl.

[tylerromeo@gmail.com: Removed cat() function, fixed wfWarn() usage for aliases
 and added visibility to all functions. Also added test for aliases.]
Signed-off-by: Tyler Romeo <tylerromeo@gmail.com>

Change-Id: Iefdedb7c80cf1d4aab58050edab3ab44ba868a58
Merge "Add a Uri class."
Linker::link() prints deprecated warning if $query is a string

Change-Id: I47412b67b964ff0d868f181903628de3fd41365a
Allowing Message objects to be passed as error page title.

Changed OutputPage::showErrorPage() so that the title parameter
can be either a string or a Message object, just like the
message parameter. This allows titles that take parameters.

Change-Id: Icb7f7b0db8599984774f438333b60d66956b6075
Signed-off-by: Tyler Anthony Romeo <tylerromeo@gmail.com>
(bug 24437) Add nofollow to image link

Add Parser's extLinkAttribs attributes when an image has a link
parameter, when generating the html. Currently, these may include
rel="nofollow" and the target attribute.

This will correctly add rel="nofollow", respecting $wgNoFollowLinks,
$wgNoFollowDomainExceptions, and $wgNoFollowNsExceptions settings.

Updated parser tests for expected results, added new tests for
$wgNoFollowLinks and $wgNoFollowDomainExceptions exceptions.

Change-Id: Ib4677760ec78a3f0c4ba781d893e0484cc8db3ed
Merge "Allowing Message objects to be passed as error page title."