Commit graph

983 commits

Author SHA1 Message Date
Kevin Israel
5b40c74620 Combine SpecialPageBeforeFormDisplay set of hooks into one
Hooks with dynamically generated names cannot be documented in the normal
manner, and indeed this set, added in r86482 / 10d93c34cb, was not.

In contrast, every other hook in core has a name that is a fixed string
and thus is easy to grep for, create a manual page title for, and so on.
Conceptually, each hook's name should correspond to one or more locations
at which code can be inserted.

So I changed the code to use hook name "SpecialPageBeforeFormDisplay"
for all FormSpecialPages and added the special page name as a parameter,
which is consistent with existing hook "ActionBeforeFormDisplay".

From extensions in Gerrit, the only use I found was in StopForumSpam,
which is updated to use the new hook in Id474915a. So I chose to break
backward compatibility instead of using a hack to hide the old hooks
from maintenance/findHooks.php.

After three years, the script again reports, "Looks good!"

Change-Id: I7ea6521b47fb034bc367a1d06d477a7654035a5f
2014-06-28 17:33:14 -07:00
umherirrender
82efaa9e61 Do not mention deprecated User::isValidEmailAddr() in hooks.txt
Replaced by Sanitizer::validateEmail()

Change-Id: I7b4ef438dd31a2dbc641bb06bea8e256e0f5dd1f
2014-06-27 19:57:58 +00:00
jenkins-bot
a30854859e Merge "Remove SearchEngineReplacePrefixesComplete hook" 2014-06-24 07:20:18 +00:00
umherirrender
e1219dea55 Do not mention deprecated RawPage in hooks.txt
Replaced by RawAction

Change-Id: Ic7d24ccf41c2571c76da486c6513b2dd325b8fd0
2014-06-23 20:28:47 +02:00
Chad Horohoe
da0070e9d1 Remove SearchEngineReplacePrefixesComplete hook
This hook is poorly thought out. The only extension that uses it
can't possibly think it works how they're expecting.

Change-Id: I853a01afc8e922f22e949321a2f2343d264632a6
2014-06-23 08:48:45 -07:00
Kevin Israel
4bbd1c44d9 Fix some findHooks.php errors
* Correct typo in docs/hooks.txt.
* Add a few directories.

Left unfixed is "Undocumented: Special{$this->getName()}BeforeFormDisplay",
which will be addressed separately.

Change-Id: I4fda8960642c23500bd20e0b89c1d1327456313b
2014-06-20 21:35:51 -04:00
jenkins-bot
cc54e1fa85 Merge "Create PostLoginRedirect Hook for changing the redirect behavior" 2014-06-12 14:24:50 +00:00
Rob Moen
750a98bb56 Create PostLoginRedirect Hook for changing the redirect behavior
Allows for modifying returnTo url, url parameters, and the redirect
type.

New return to condition 'signup' if redirecting after signup
Treated same as 'success', though now explicitly marking as such

Part of making GettingStarted not dependent on CentralAuth

Bug: 65619
Change-Id: I219353d9825918e22d4772611a38d72c4e674e10
2014-06-05 19:31:46 -04:00
Reedy
dcc9d4a3c8 Remove 'SpecialVersionExtensionTypes' hook, deprecated in 1.17.
Change-Id: I98d15e2bbbec2ba754c4754c97a46f32e714398a
2014-06-01 00:14:26 +00:00
jenkins-bot
27f8aa732e Merge "Add SelfLinkBeginHook" 2014-05-28 22:07:37 +00:00
Yuri Astrakhan
cf1d36d56b Added BeforeHttpsRedirect hook allowing extensions to cancel forceHTTPS
For ZERO, we need to be able to avoid forceHTTPS from taking place in
case user logged in while on wifi, and later switched to
zero.wikipedia.org for the carrier who doesn't support HTTPS.
In that case, the extension will need to be able to cancel redirect
and force regular HTTP handling.

Open Question: should this code log off user in case hook returns false?

Bug 65567

Change-Id: If04c83066c5d47b3c04ad7674e3c4e95a4cd464b
2014-05-28 12:46:11 -04:00
cicalese
4202d4a881 Add SelfLinkBeginHook
Called before a link to the current article is displayed to allow the display
of the link to be customized.

Bug: 63592
Change-Id: I343e1b1b08ec841d22a1b22bcb8af43bb65a5a50
2014-05-27 19:54:44 -04:00
jenkins-bot
92f5c2bf38 Merge "Removed double hook explanation AfterFinalPageOutput" 2014-05-25 06:28:53 +00:00
florianschmidtwelzow
179a096210 Removed double hook explanation AfterFinalPageOutput
Bug: 65690
Change-Id: I0990568875db854579974f611e7378bca0b0eaed
2014-05-25 08:23:02 +02:00
Matthew Flaschen
b76fb1329f Document ArticleUndelete change
Change-Id: I157cab408598878e9483b60e656026f0ddbbb0b2
2014-05-20 22:37:19 -04:00
jenkins-bot
5f56facb3d Merge "Update kss style guide wording and README" 2014-05-20 21:14:33 +00:00
jenkins-bot
67ad578c42 Merge "Improve rendering of Living Style Guide sections, examples, and modifiers." 2014-05-20 21:08:18 +00:00
kaldari
97a145f1fb Always render copyright notice in user language
All other footer content is rendered in the user language and the
copyright notice on the edit page is also in the user language.
See EditPage::getCopyrightWarning().

We already do this on WMF wikis through the WikimediaMessages
extension (which sets $forContent to false). The same behaviour has
been requested for 3rd party wikis as well.

Bug: 49116
Change-Id: I1dddfa7771c7063ec319fa441c2e400a374abc92
2014-05-16 17:12:23 -07:00
Bartosz Dziewoński
0da7a40876 Load shared MediaWiki styles when generating the style guide
Among other things it defines styles for .errorbox and friends, which
are showcased in the guide.

Change-Id: I14279400b9aa362d19040e8083032e4e7c1c4ba6
2014-05-16 16:31:34 +02:00
Subramanya Sastry
91de7e350b Minor fix to contenthandler.txt doc.
Change-Id: I45c1a750b2308dc30d609910d802d25a4252a7e5
2014-05-15 12:09:37 -05:00
Alexandre Emsenhuber
7c7dbce0f0 Remove messageTypes.inc and replace it by a hook
The list is now maintained in the translatewiki repo:
https://git.wikimedia.org/blob/translatewiki.git/HEAD/groups%2FMediaWiki%2FMediaWiki.yaml

Change-Id: I4a33b22e425cbc1eeaf8b53870ef7b7947e91b40
2014-05-13 21:45:28 +02:00
Alexandre Emsenhuber
29c34d0cc8 Don't use $this for docuementing hook parameters
It is a reserved keyword, so this only confuses people.

Change-Id: I6553bd93ac6f72be42493a0c3ca59c63d4a97e18
2014-05-11 12:02:21 +02:00
Nemo bis
ccd7758c1e Extend AbortEmailNotification hook to access log type etc.
Bug: 42458
Change-Id: Ifc3935f031c49f9b49ae76c5a8af8334e70ca2b1
2014-05-11 09:39:14 +00:00
Matthew Flaschen
986034ef5f Update kss style guide wording and README
This should explain the conventions of the MediaWiki project.
Wikimedia is a prominent user of MediaWiki, but not the only one.

Other MediaWiki installations do not share all of Wikimedia's
values and mission.  However, it is possible to express common values
that should guide this work in core.

Thus, I retained some of the existing text, as well as adding one other
point, accessibility (which we have discussed but was not mentioned
here).

Change-Id: Iafc8641c9b89138b3e4b7f6e274395279ddad43c
2014-05-11 01:33:25 +02:00
jenkins-bot
aed188f0c0 Merge "Adds the SidebarBeforeOutput hook" 2014-05-10 18:30:25 +00:00
Tpt
0c6c03050c Adds the SidebarBeforeOutput hook
Allows to modify sidebar abstract representation just before its output

Required by change Ib4014253016db1c3d6b624be9ebbdaf452115145

Change-Id: I170e7253825c8dab5cad38e6b0ba59f28572efbf
2014-05-10 17:38:23 +02:00
daniel
48d5e5b3c9 Introduce ContentGetParserOutput hook
This hooks allows extensions to override the normal model-specific
rendering of page content. A typical use would be to provide syntax
highlighting for pages that contain scripts. In that sense,
ContentGetParserOutput is a generalization of the old ShowRawCssJs
hook.

This, together with I76412f9d, is a (hopefully) fixed version of the
reverted Ibfb2cbefea44.

Change-Id: I979e2438689648ba4c959d8083197ef14ce524e8
2014-05-10 14:27:33 +02:00
Shahyar
a6850e52ae Improve rendering of Living Style Guide sections, examples, and modifiers.
Change-Id: I5ca69ff5889239eed2f369917bf7bcbbd751e397
2014-05-10 10:57:33 +02:00
Andrew Garrett
c9100d3616 Add WhatLinksHereProps hook, to allow extensions to annotate WhatLinksHere entries.
Needed by change 110090

Change-Id: I679abfbbdbd56498ec87579b4fe4e49ad486c84c
2014-04-30 21:23:35 -07:00
Matthew Flaschen
eda1642a94 Explain make kss environment variable in README
Change-Id: I9e83187050ed360c57a1c3d4aeba913d69211349
2014-04-21 23:12:24 -04:00
Ori Livneh
e8b46e5e66 Deprecate ResourceLoaderGetStartupModules
In bug 63240, Roan calls it a 'misfeature', which I think is exactly right. It
has been used as a lazy workaround for having to think about load-order,
dependency management, and race conditions.

Bug: 63240
Change-Id: Ic48ad39c6d3d166d6bb8f60dfdd5f95aa7ed16a6
2014-04-20 14:07:54 -07:00
Chad Horohoe
f234aa61f5 Remove 2 unused Special:Search hooks
Nothing is listed on mw.org as using these and nothing in Git uses
them either. Less hooks is a good thing, we've still got 11 here :(

Change-Id: I2dd1dbb269820b192f8d9e9a496a161f4ef851bf
2014-04-18 08:23:38 -07:00
jenkins-bot
b101f05438 Merge "includes/Linker.php: Added hook for "Media:" links" 2014-04-17 19:39:37 +00:00
Bartosz Dziewoński
a931293184 Properly deprecate the SpecialVersionExtensionTypes hook
wfRunHooks() has recently gained a new parameter for this.

Change-Id: If8dd90d03334ca6007f5af5e79c2545886c88b5f
2014-04-15 22:16:41 +02:00
Mwalker
c45d497eda Merge "New hook for readonly editpages" 2014-04-15 18:15:59 +00:00
Derk-Jan Hartman
61c9dcf696 New hook for readonly editpages
EditPage::showReadOnlyForm:initial which is analogous to
EditPage::showEditForm:initial

Bug: 45258
Change-Id: I6885d617e18562acf0331e8db5790b53b489dbc2
2014-04-15 08:46:01 +02:00
Robert Vogel
020fc0b649 includes/Linker.php: Added hook for "Media:" links
The static method 'Linker::makeMediaLinkFile' produced a HTML string
without usage of MediaWiki 'Html' class. It also lacked a hook to allow
modifications of the output HTML.

I altered the implementation and added a hook that provides a signature
and behaviour similar to the existing 'LinkerMakeExternalLink' and
'LinkBegin'/'LinkEnd' hooks. It provides all available context information
and allows modification of single attributes or the output HTML as a
whole. I have updated the 'docs/hooks.txt' file to provide proper
documentation.

Change-Id: I6d7769298a4ca6cbbf807fcebb91fb0d2222f8d8
2014-04-14 14:39:54 +02:00
jenkins-bot
a580d5d60e Merge "ChangesListSpecialPage: Implement two new hooks superseding 4 old ones" 2014-04-14 03:13:53 +00:00
Juliusz Gonera
070ef42720 Fix KSS mediawiki.ui style guide (docs)
Broken after a change in directory structure...

Change-Id: Ibe208302c30483ee9476a176efe8dd88b21d30a5
2014-04-11 14:25:22 -07:00
Bartosz Dziewoński
a4aa71c6cf ChangesListSpecialPage: Implement two new hooks superseding 4 old ones
Old hooks (called by SpecialWatchlist, SpecialRecentChanges and
SpecialRecentChangesLinked) have been deprecated, but I'm not planning
to remove them anytime soon. (They have lots of usages in extensions
as of this writing.)

The new hooks (and their deprecated friends) are:

* ChangesListSpecialPageFilters:
  * Replaces: SpecialRecentChangesFilters and SpecialWatchlistFilters
  * The signature for this one is exactly the same as signatures for
    the other two. We might want to pass something else than $this
    here…

* ChangesListSpecialPageQuery
  * Replaces: SpecialRecentChangesQuery and SpecialWatchlistQuery
  * These hooks have wildly different signatures. The new one is a
    superset of the old ones, in a more reasonable order, with the
    addition of the name of the special page we're doing right now.

Change-Id: I9cceda5d2dcfc53c852c5682c466b48ad8f31202
2014-04-11 22:53:35 +02:00
James D. Forrester
648667ac9f Split /resources into /resources/lib and /resources/src
Currently, MediaWiki has a mess of resources, some but not all of which are upstream libraries.
This means that occasionally people will attempt to make local modifications of the libraries
by accident, or deliberately but do not flag it, making dependency management a challenge (and
fixing upstream-related bugs a headache).

Instead, we now split the /resources directory into a /resources/lib directory for those items
which are used purely as intact upstream libraries, and a /resources/src directroy for those
which are either local libraries written for MediaWiki and mastered here, or downstream forks
of upstream libraries which require particular care and attention when being upgraded. Also,
some incidental files which are not to be loaded as part of a module have been moved to better
locations.

Upstream libaries

* jquery
	resources/jquery/jquery.js

* jquery.appear
	resources/jquery/jquery.appear.js

* jquery.async
	resources/jquery/jquery.async.js

* jquery.chosen
	resources/jquery.chosen/*

* jquery.cookie
	resources/jquery/jquery.cookie.js

* jquery.form
	resources/jquery/jquery.form.js

* jquery.fullscreen.js
	resources/jquery/jquery.fullscreen.js

* jquery.hoverIntent
	resources/jquery/jquery.hoverIntent.js

* jquery.json
	resources/jquery/jquery.json.js

* jquery.mockjax
	resources/jquery/jquery.mockjax.js

* jquery.qunit
	resources/jquery/jquery.qunit.css
	resources/jquery/jquery.qunit.js

* jquery.jStorage
	resources/jquery/jquery.jStorage.js

* jquery.throttle-debounce
	resources/jquery/jquery.ba-throttle-debounce.js

* jquery.validate
	resources/jquery/jquery.validate.js

* jquery.xmldom
	resources/jquery/jquery.xmldom.js

* moment
	resources/moment/*

* OOjs
	resource/oojs/*

* OOjs UI
	resources/oojs-ui/*

* jquery.ui.*
	resources/jquery.ui/*
		resources/jquery.ui/themes/default moved to resources/lib/jquery.ui/themes/
		resources/jquery.ui/themes/vector moved to resources/src/jquery.ui-themes/

* jquery.effects.*
	resources/jquery.effects/*

* sinon
	resources/sinonjs/*

Upstream libraries forked for MediaWiki

* jquery.color
	resources/jquery/jquery.color.js

* jquery.tipsy
	resources/jquery.tipsy/*

Local libraries

* jquery.arrowSteps
	resources/jquery/jquery.arrowSteps.css
	resources/jquery/jquery.arrowSteps.js
	resources/jquery/images/jquery.arrowSteps.divider-ltr.png
	resources/jquery/images/jquery.arrowSteps.divider-rtl.png
	resources/jquery/images/jquery.arrowSteps.head-ltr.png
	resources/jquery/images/jquery.arrowSteps.head-rtl.png
	resources/jquery/images/jquery.arrowSteps.tail-ltr.png
	resources/jquery/images/jquery.arrowSteps.tail-rtl.png

* jquery.autoEllipsis
	resources/jquery/jquery.autoEllipsis.js

* jquery.badge
	resources/jquery/jquery.badge.css
	resources/jquery/jquery.badge.js

* jquery.byteLength
	resources/jquery/jquery.byteLength.js

* jquery.byteLimit
	resources/jquery/jquery.byteLimit.js

* jquery.checkboxShiftClick
	resources/jquery/jquery.checkboxShiftClick.js

* jquery.client
	resources/jquery/jquery.client.js

* jquery.colorUtil
	resources/jquery/jquery.colorUtil.js

* jquery.delayedBind
	resources/jquery/jquery.delayedBind.js

* jquery.expandableField
	resources/jquery/jquery.expandableField.js

* jquery.farbtastic
	resources/jquery/jquery.farbtastic.css
	resources/jquery/jquery.farbtastic.js
	resources/jquery/images/marker.png
	resources/jquery/images/mask.png
	resources/jquery/images/wheel.png

* jquery.footHovzer
	resources/jquery/jquery.footHovzer.css
	resources/jquery/jquery.footHovzer.js

* jquery.getAttrs
	resources/jquery/jquery.getAttrs.js

* jquery.hidpi
	resources/jquery/jquery.hidpi.js

* jquery.highlightText
	resources/jquery/jquery.highlightText.js

* jquery.localize
	resources/jquery/jquery.localize.js

* jquery.makeCollapsible
	resources/jquery/jquery.makeCollapsible.css
	resources/jquery/jquery.makeCollapsible.js

* jquery.mw-jump
	resources/jquery/jquery.mw-jump.js

* jquery.mwExtension
	resources/jquery/jquery.mwExtension.js

* jquery.placeholder
	resources/jquery/jquery.placeholder.js

* jquery.spinner
	resources/jquery/jquery.spinner.css
	resources/jquery/jquery.spinner.js
	resources/jquery/images/spinner-large.gif
	resources/jquery/images/spinner.gif

* jquery.suggestions
	resources/jquery/jquery.suggestions.css
	resources/jquery/jquery.suggestions.js

* jquery.tabIndex
	resources/jquery/jquery.tabIndex.js

* jquery.tablesorter
	resources/jquery/jquery.tablesorter.css
	resources/jquery/jquery.tablesorter.js
	resources/jquery/images/sort_both.gif
	resources/jquery/images/sort_down.gif
	resources/jquery/images/sort_none.gif
	resources/jquery/images/sort_up.gif

* jquery.textSelection
	resources/jquery/jquery.textSelection.js

* jquery.qunit.completenessTest
	resources/jquery/jquery.qunit.completenessTest.js

* mediawiki
	resources/mediawiki/mediawiki.js
	resources/mediawiki/mediawiki.log.js

* mediawiki.api
	resources/mediawiki.api/mediawiki.api.js

* mediawiki.api.category
	resources/mediawiki.api/mediawiki.api.category.js

* mediawiki.api.edit
	resources/mediawiki.api/mediawiki.api.edit.js

* mediawiki.api.login
	resources/mediawiki.api/mediawiki.api.login.js

* mediawiki.api.parse
	resources/mediawiki.api/mediawiki.api.parse.js

* mediawiki.api.watch
	resources/mediawiki.api/mediawiki.api.watch.js

* mediawiki.debug
	resources/mediawiki/mediawiki.debug.js
	resources/mediawiki/mediawiki.debug.less
	resources/mediawiki/mediawiki.debug.profile.css
	resources/mediawiki/mediawiki.debug.profile.js

* mediawiki.debug.init
	resources/mediawiki/mediawiki.debug.init.js

* mediawiki.feedback
	resources/mediawiki/mediawiki.feedback.css
	resources/mediawiki/mediawiki.feedback.js
	resources/mediawiki/mediawiki.feedback.spinner.gif

* mediawiki.hidpi
	resources/mediawiki/mediawiki.hidpi.js

* mediawiki.hlist
	resources/mediawiki/mediawiki.hlist.css
	resources/mediawiki/mediawiki.hlist.js

* mediawiki.htmlform
	resources/mediawiki/mediawiki.htmlform.js

* mediawiki.icon
	resources/mediawiki/mediawiki.icon.less
	resources/mediawiki/images/arrow-collapsed-ltr.png
	resources/mediawiki/images/arrow-collapsed-ltr.svg
	resources/mediawiki/images/arrow-collapsed-rtl.png
	resources/mediawiki/images/arrow-collapsed-rtl.svg
	resources/mediawiki/images/arrow-expanded.png
	resources/mediawiki/images/arrow-expanded.svg

* mediawiki.inspect
	resources/mediawiki/mediawiki.inspect.js

* mediawiki.notification
	resources/mediawiki/mediawiki.notification.css
	resources/mediawiki/mediawiki.notification.hideForPrint.css
	resources/mediawiki/mediawiki.notification.js

* mediawiki.notify
	resources/mediawiki/mediawiki.notify.js

* mediawiki.searchSuggest
	resources/mediawiki/mediawiki.searchSuggest.css
	resources/mediawiki/mediawiki.searchSuggest.js

* mediawiki.Title
	resources/mediawiki/mediawiki.Title.js

* mediawiki.toc
	resources/mediawiki/mediawiki.toc.js

* mediawiki.Uri
	resources/mediawiki/mediawiki.Uri.js

* mediawiki.user
	resources/mediawiki/mediawiki.user.js

* mediawiki.util
	resources/mediawiki/mediawiki.util.js

* mediawiki.action.edit
	resources/mediawiki.action/mediawiki.action.edit.js

* mediawiki.action.edit.styles
	resources/mediawiki.action/mediawiki.action.edit.styles.css

* mediawiki.action.edit.collapsibleFooter
	resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.css
	resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js

* mediawiki.action.edit.preview
	resources/mediawiki.action/mediawiki.action.edit.preview.js

* mediawiki.action.history
	resources/mediawiki.action/mediawiki.action.history.js

* mediawiki.action.history.diff
	resources/mediawiki.action/mediawiki.action.history.diff.css

* mediawiki.action.view.dblClickEdit
	resources/mediawiki.action/mediawiki.action.view.dblClickEdit.js

* mediawiki.action.view.metadata
	resources/mediawiki.action/mediawiki.action.view.metadata.js

* mediawiki.action.view.postEdit
	resources/mediawiki.action/mediawiki.action.view.postEdit.css
	resources/mediawiki.action/mediawiki.action.view.postEdit.js
	resources/mediawiki.action/images/green-checkmark.png

* mediawiki.action.view.redirectToFragment
	resources/mediawiki.action/mediawiki.action.view.redirectToFragment.js

* mediawiki.action.view.rightClickEdit
	resources/mediawiki.action/mediawiki.action.view.rightClickEdit.js

* mediawiki.action.edit.editWarning
	resources/mediawiki.action/mediawiki.action.edit.editWarning.js

* mediawiki.action.watch.ajax
  No files associated with this resource.

* mediawiki.language
	resources/mediawiki.language/mediawiki.language.js
	resources/mediawiki.language/mediawiki.language.numbers.js
	resources/mediawiki.language/languages/bs.js
	resources/mediawiki.language/languages/dsb.js
	resources/mediawiki.language/languages/fi.js
	resources/mediawiki.language/languages/ga.js
	resources/mediawiki.language/languages/he.js
	resources/mediawiki.language/languages/hsb.js
	resources/mediawiki.language/languages/hu.js
	resources/mediawiki.language/languages/hy.js
	resources/mediawiki.language/languages/la.js
	resources/mediawiki.language/languages/os.js
	resources/mediawiki.language/languages/ru.js
	resources/mediawiki.language/languages/sl.js
	resources/mediawiki.language/languages/uk.js

* mediawiki.cldr
	resources/mediawiki.language/mediawiki.cldr.js

* mediawiki.libs.pluralruleparser
  Possibly should be moved to /lib
	resources/mediawiki.libs/CLDRPluralRuleParser.js

* mediawiki.language.init
	resources/mediawiki.language/mediawiki.language.init.js

* mediawiki.jqueryMsg
	resources/mediawiki/mediawiki.jqueryMsg.js
	resources/mediawiki/mediawiki.jqueryMsg.peg

* mediawiki.language.months
	resources/mediawiki.language/mediawiki.language.months.js

* mediawiki.libs.jpegmeta
	resources/mediawiki.libs/mediawiki.libs.jpegmeta.js

* mediawiki.page.gallery
	resources/mediawiki.page/mediawiki.page.gallery.js

* mediawiki.page.ready
	resources/mediawiki.page/mediawiki.page.ready.js

* mediawiki.page.startup
	resources/mediawiki.page/mediawiki.page.startup.js

* mediawiki.page.patrol.ajax
	resources/mediawiki.page/mediawiki.page.patrol.ajax.js

* mediawiki.page.watch.ajax
	resources/mediawiki.page/mediawiki.page.watch.ajax.js

* mediawiki.page.image.pagination
	resources/mediawiki.page/mediawiki.page.image.pagination.js

* mediawiki.special
	resources/mediawiki.special/mediawiki.special.css
	resources/mediawiki.special/mediawiki.special.js

* mediawiki.special.block
	resources/mediawiki.special/mediawiki.special.block.css
	resources/mediawiki.special/mediawiki.special.block.js

* mediawiki.special.changeemail
	resources/mediawiki.special/mediawiki.special.changeemail.css
	resources/mediawiki.special/mediawiki.special.changeemail.js

* mediawiki.special.changeslist
	resources/mediawiki.special/mediawiki.special.changeslist.css

* mediawiki.special.changeslist.legend
	resources/mediawiki.special/mediawiki.special.changeslist.legend.css

* mediawiki.special.changeslist.legend.js
	resources/mediawiki.special/mediawiki.special.changeslist.legend.js

* mediawiki.special.changeslist.enhanced
	resources/mediawiki.special/mediawiki.special.changeslist.enhanced.css

* mediawiki.special.movePage
	resources/mediawiki.special/mediawiki.special.movePage.js

* mediawiki.special.pagesWithProp
	resources/mediawiki.special/mediawiki.special.pagesWithProp.css

* mediawiki.special.preferences
	resources/mediawiki.special/mediawiki.special.preferences.css
	resources/mediawiki.special/mediawiki.special.preferences.js

* mediawiki.special.recentchanges
	resources/mediawiki.special/mediawiki.special.recentchanges.js

* mediawiki.special.search
	resources/mediawiki.special/mediawiki.special.search.css
	resources/mediawiki.special/mediawiki.special.search.js

* mediawiki.special.undelete
	resources/mediawiki.special/mediawiki.special.undelete.js

* mediawiki.special.upload
	resources/mediawiki.special/mediawiki.special.upload.js

* mediawiki.special.userlogin.common.styles
	resources/mediawiki.special/mediawiki.special.userlogin.common.css
	resources/mediawiki.special/images/icon-lock.png

* mediawiki.special.userlogin.signup.styles
	resources/mediawiki.special/mediawiki.special.userlogin.signup.css
	resources/mediawiki.special/images/icon-edits.png
	resources/mediawiki.special/images/icon-pages.png
	resources/mediawiki.special/images/icon-contributors.png

* mediawiki.special.userlogin.login.styles
	resources/mediawiki.special/mediawiki.special.userlogin.login.css
	resources/mediawiki.special/images/glyph-people-large.png

* mediawiki.special.userlogin.common.js
	resources/mediawiki.special/mediawiki.special.userlogin.common.js

* mediawiki.special.userlogin.signup.js
	resources/mediawiki.special/mediawiki.special.userlogin.signup.js

* mediawiki.special.javaScriptTest
	resources/mediawiki.special/mediawiki.special.javaScriptTest.js

* mediawiki.special.version
	resources/mediawiki.special/mediawiki.special.version.css

* mediawiki.ui
	resources/mediawiki.ui/default.less
	resources/mediawiki.ui/vector.less
	resources/mediawiki.ui/components/utilities.less
	resources/mediawiki.ui/components/default/forms.less
	resources/mediawiki.ui/components/vector/containers.less
	resources/mediawiki.ui/components/vector/forms.less
	resources/mediawiki.ui/mixins/effects.less
	resources/mediawiki.ui/mixins/forms.less
	resources/mediawiki.ui/mixins/type.less
	resources/mediawiki.ui/mixins/utilities.less
	resources/mediawiki.ui/settings/colors.less
	resources/mediawiki.ui/settings/typography.less
	resources/mediawiki.ui/styleguide.md

* mediawiki.ui.button
	resources/mediawiki.ui/components/default/buttons.less
	resources/mediawiki.ui/components/vector/buttons.less

Legacy modules, untouched:

* mediawiki.legacy.ajax
* mediawiki.legacy.commonPrint
* mediawiki.legacy.config
* mediawiki.legacy.protect
* mediawiki.legacy.shared
* mediawiki.legacy.oldshared
* mediawiki.legacy.upload
* mediawiki.legacy.wikibits

Miscellaneous files moved elsewhere

* A currently-failing (unused?) script attempting to build some kss style documentation.
  Previously in the root of the resources directory, now moved to a new folder, /docs/kss.
	Makefile
	README.txt
	package.json
	scripts/nodecheck.sh
	styleguide-template/index.html
	styleguide-template/public/kss.less
	styleguide-template/public/less.js

* ResourceLoader startup JS code was also moved to /src
	resources/startup.js

* mediawiki.mixins, hard-coded to be loaded by ResourceLoader, also moved to /src
	resources/mediawiki.less/mediawiki.mixins.animation.less
	resources/mediawiki.less/mediawiki.mixins.less
	resources/mediawiki.less/mediawiki.mixins.rotation.less

* jquery.cycle.all.js appears not to be refered to (?!):
  (added in 2f1f0abc6b)
	resources/jquery/jquery.cycle.all.js

Change-Id: Id5ead1453412e763bdb3763084e43694517088fd
2014-04-07 12:21:21 -07:00
Erik Bernhardson
36a664643b New Hook rc/watchlist hook ChangesListInitRows
An extension hooking into recent changes may need to load additional
data that did not fit into the recentchanges table.  This hook gives
extensions an opportunity to see the full result prior to rendering
and batch load where approprite rather than loading piecemeal during
the render process.

This is implemented as an optional method called by the ChangesList
consumer, since the ChangesList never sees the full result set. Hook
implementers must be able to work regardless of the hook being called,
they just have the oportunity to be more efficient when it is called.

Change-Id: If74ae600ffba949364dd381dd3d466cbbaa27286
2014-04-01 09:38:16 -07:00
Erik Bernhardson
eaf4b3eb2b Update IRCLineURL hook to include RecentChange object
The Flow extension has need to change the url output by
the IRC formatter.  As a temporary fix this allows flow
to conditionally replace the url until RC can be adjusted
to inteligently generate URL's in a cross-extension way.

Change-Id: Ie951e52833a578fecd9423c2e6d3cc10816d7fef
2014-03-24 16:03:21 -07:00
Chad Horohoe
f508561f7b Moved $wgQueryPages stuff out of the global scope and into a function
Change-Id: Ica034bdad89133bfce0b4238d62ed00865936644
2014-03-18 08:36:32 -07:00
Alex Monk
62710b6d82 Mention possibility of $revision being null in PageContentSaveComplete
Lead to a fatal in WMF production, see I40c1412d

Change-Id: I39e05210e77f3dc0a1fcd995201a9c1ec9bc99f3
2014-03-15 13:23:42 +00:00
Kartik Mistry
7cf3765ddf Fixed typo: available
Change-Id: If4e28cf04699084ed325835d5ebe1c5900002040
2014-03-15 13:02:30 +00:00
aude
53ab861a2f Add BaseTemplateAfterPortlet hook to add html after portlets
Allows extensions to move away from using (or abusing) the
SkinTemplateOutputPageBeforeExec hook to add things in places
such as after the list of language links.

Also explicitly check that $template->data['language_urls'] is not false.
Extensions can set it to an empty array to have the language links
header be displayed.

Bug: 57094
Change-Id: I099fb2ff48e02a2e3564a484aea906263e40bb53
2014-03-12 16:52:17 +01:00
bsitu
ee9fcbb671 Add new Hook 'SendWatchlistEmailNotification'
Bug: 53569
Change-Id: I73d5eef9a18d59b022c353c4b7d2aee18bfa6591
2014-02-25 17:04:00 -08:00
csteipp
01c8c421f8 Password Expiration
Add functionality to expire users' passwords:
 * Adds column to the user table to keep a password expiration
 * Adds $wgPasswordExpirationDays, which will force users to reset
   their passwords after a set number of days. By default, this set
   to false, so passwords never expire.
 * Adds a default grace period of 7 days, where if the user's password
   is expired, they can still login, but are encouraged to reset their
   password.
 * Adds hook 'LoginPasswordResetMessage' to update reset message, in
   case an extension wants to vary the message on a particular reset
   event.
 * Adds hook 'ResetPasswordExpiration' to allow extensions to change
   the expiration date when the user resets their password. E.g., if
   an extension wants to vary the expiration based on the user's group.

If the user is in the grace period, they get a password reset form
added to the login successful page. If an extension prevents showing
the login successful page (like CentralAuth), it should be updated to
show a password change form during the grace period. After the grace
period, the user will not be able to login without changing their
password.

Also prevents a successful reset if the user is "changing" their
password to their existing password.

No passwords will expire by default. Sites will have to call
User->expirePassword() from their own maintenance script to trigger a
password reset for a user.

Bug: 54997
Change-Id: I92a9fc63b409b182b1d7b48781d73fc7216f8061
2014-02-20 09:41:51 -08:00
Sam Smith
6f1061562e Include the reason when firing the TitleMoveComplete hook
As with the ArticleDeletionComplete hook, include the reason for
moving the title (article) when firing the TitleMoveComplete hook.

See I98703f99a47d5786b7a567df954ba09f6d8862ff for a supporting use
case.

Change-Id: I875446dddacff7e5a52a0b6e577e6a46a9ae2e6f
2014-02-17 14:30:15 +00:00