Commit graph

656 commits

Author SHA1 Message Date
jenkins-bot
85d95e6abd Merge "Use i18n instead of hardcoded brackets and spaces" 2013-10-25 09:00:29 +00:00
Brad Jorsch
33c5d1dbcf Use restriction-level-* messages in Linker::formatTemplates
The current implementation of Linker::formatTemplates only checks for
"sysop" and "autoconfirmed", and completely ignores any other protection
levels. That needs fixing.

Rather than introducing additional messages "template-protected-*" to
match template-protected and template-semiprotected, let's just use the
existing restriction-level-foo messages and wrap them in parentheses.

The old messages are kept for backwards compatability, but could
probably be considered deprecated.

Bug: 43462
Change-Id: I0c507f4ecc1921f599acbda834fa55e96388fa7b
2013-10-23 03:21:57 +00:00
Siebrand Mazeland
16c2a52df5 Use i18n instead of hardcoded brackets and spaces
Change-Id: If914e26f2af23f04c46f011ad8a276a9d3190583
2013-10-21 21:39:43 +00:00
MatmaRex
435491fb25 skin: Convert table of contents from <table> to <div>
It makes no sense semantically; it was only used to make the TOC not
span full width of the page, which is easily achieved with CSS.

Bug: 658
Change-Id: I4ecd0659d1f955a9b593d281a3fef0a81c218a52
2013-07-02 01:08:45 +02:00
MatmaRex
a0beab8a61 Remove the space from between headline and its section edit link
I kept it in I6a6c12a9, but really there's no reason for it to be
there, as the link is delineated with square brackets and visually
with a 1 em padding. It only causes funkiness when copying text.

Change-Id: I7bde0e4fd646108f9319d5d5d00e7ea49fee9252
2013-05-11 20:40:39 +02:00
MatmaRex
7833589c5d (bug 41729) Move section edit links to after the headings
This requires minor changes in various parts of MediaWiki, and
being extra careful about cached rendered pages' HTML.

Fun fact: editsection links are not made in Parser. They're made in
Linker, in Skin *and* in ParserOutput.

Client-side code and screen-scrapers will have to be adjusted to
handle both cases (old HTML will still be visible on cached page
renders until they are purged); extensions using the DoEditSectionLink
or EditSectionLink hooks might need adjustments as well.

* Linker: Change the HTML of pages to move the link itself from the
  beginning of the heading (before <span class="mw-headline">) to the end
  of the  heading (after the span).
* Skin: Change the class from .editsection to .mw-editsection; we use this
  opportunity to clean up old cruft, and this makes it much easier to
  handle cached renders (by just detecting the old class).
* ParserOutput: Implement a horrible hack to support cached parser
  outputs with the old order of items.
* Ensure everything that should support both classes supports both
  classes (this includes print stylesheets and some scripts).
* Implement styles for the new look for all the skins (did this in
  shared.css; the styles are non-intrusive and can be overridden
  easily, and all of the skins were using the same look before).

Change-Id: I6a6c12a90de3604012420b20c1f520e0ece170ab
2013-04-29 00:00:09 +00:00
umherirrender
ef2f507d23 Fixed spacing in files direct in includes folder
Added spaces before if, foreach
Added some braces for one line statements

Change-Id: Ibb8dd102db045522d12ff939075ba7420d95ab6b
2013-04-21 06:38:49 +00:00
umherirrender
7c9a49082c Use wfAppendQuery to append a query
Also pass a array to wfAppendQuery, which than does the urlencoding.

Prefer a wfScript() over the global or string

Change-Id: Icada534cb4c99c9441938a2e8dcbc11a142360c6
2013-04-12 07:31:52 +00:00
C. Scott Ananian
11adcad08b Fix link target and retina thumbnails for manual thumbnails. (Bug 45405.)
The output for [[Image:Bad.jpg|thumb=Foobar.jpg|Title]] used to be:

<div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a
href="/wiki/File:Foobar.jpg" class="image"><img alt=""
src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220"
class="thumbimage" srcset="http://example.com/images/0/09/Bad.jpg 1.5x,
http://example.com/images/0/09/Bad.jpg 2x" /></a>  <div
class="thumbcaption"><div class="magnify"><a href="/wiki/File:Bad.jpg"
class="internal" title="Enlarge"><img
src="/skins/common/images/magnify-clip.png" width="15" height="11" alt=""
/></a></div>Title</div></div></div>

Note that the target of the <a> is the thumb, not the original image,
and that the srcset is loading the full resolution version of Bad.jpg.

The attached patches fix the link target and srcset issues
(suppressing the srcset when a manual thumb is used).  It also adds a
new "Thumb.png" pseudo-file to the parserTests so that we can write
new tests documenting how manual thumbnails are expected to work,
and adds the 'php' option to the thumbnail tests (since the Parsoid
parser generates different output).

Change-Id: I5be80bfce855b85f9debf3ef1776b877d1f84b9f
2013-03-29 12:12:02 -04:00
Alexandre Emsenhuber
df5265e14d Fix case of some Title methods
Change-Id: I37ce7fe392f4941c500fa0a88007664501d7e338
2013-03-27 14:36:05 +01:00
Alexandre Emsenhuber
15833dafdf Fix case of some Title methods
Change-Id: I1a37ffb0e8cde4deac027721b0e463585b58d634
2013-03-26 10:54:15 +01:00
Yuri Astrakhan
9506e3d812 Spellchecked /includes directory
* Ran spell-checker over code comments in /includes/
* A few spellchecking fixes for wfDebug() calls

Found one very strange (NOOP?) line in Linker.php - see "TODO: BUG?"

Change-Id: Ibb86b51073b980eda9ecce2cf0b8dd33f058adbf
2013-03-13 03:42:41 -04:00
jenkins-bot
fac1ec45f1 Merge "Don't use isset() to check whether an existing variable is null" 2013-03-12 15:08:56 +00: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
Alexandre Emsenhuber
c6a889acc4 Don't use isset() to check whether an existing variable is null
Change-Id: Ie63f060fb7928fd51a8ad71293955f923f6a18c3
2013-03-10 16:23:46 +01: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
Siebrand Mazeland
9b7889b84b Use American English spelling for behavior
Spotted in ipbreason-dropdown by Shirayuki.

Change-Id: I576ed4bc0abe5ab980aaee3fb9f9e4b43087311f
2013-03-04 10:24:57 +01:00
jenkins-bot
88e01ff9d6 Merge "Fix documentation in Linker::formatTemplates." 2013-02-20 15:39:55 +00:00
umherirrender
1044b0b8df fix some spacing
Change-Id: I8f976013f33c5818e4402604fe8610aa3f43b0c6
2013-02-04 20:18:33 +00:00
Tyler Anthony Romeo
eb95f300b8 Fix documentation in Linker::formatTemplates.
Follow up to 265404d93c.
Make it clear that when a string is passed to the function,
it has to be already escaped. Also added Message as a
possible parameter type.

Change-Id: I4fb309d0dfcdf61b92c42db4b7ca2ea651d5f071
2013-01-23 00:43:53 -05:00
jenkins-bot
78f603d87c Merge "Links created by Linker::makeExternalLink didn't include rel=nofollow" 2013-01-21 22:33:07 +00:00
Platonides
5d064a7433 Reorganise the functions doing wfProfileOut and returning on all if branches.
Makes life easier for static analysis, since they don't need to
handle if the end of a function where a wfProfileOut was not called
was reachable or not.

It is recommended to review this change ignoring whitespaces
(specially for includes/parser/Tidy.php)

Also documented the rationale for the elseif chain in UploadBase::detectVirus()

Change-Id: Ic4f65937fa9e6f926d8fcfd670e3b0e99e06eefc
2013-01-13 17:53:05 +01:00
Marius Hoch
a53fe6f080 (bug 39397) Only show rollback links if they work
To only show rollback links if they work I had to patch Linker
to have a function (Linker::rollbackData) which can verify
that the editor isn't the only editor of the page. Furthermore
it is checked that the user name or the text of the revision
we might rollback to isn't deleted. Due to the fact that I've
altered the already existing method which showed how many edits
a rollback will revert for that, this wont affect the performance.

Change-Id: I5d1adec993370c39ae8c5c712edd919d456441c6
2013-01-09 17:04:44 +01:00
jenkins-bot
5e2eb7f385 Merge "Miscellaneous profiling fixes" 2013-01-09 08:24:16 +00:00
Tyler Anthony Romeo
265404d93c (bug 41365) Added transclusion count to InfoAction.
Currently InfoAction lists the pages that are transcluded
onto the specified page. This adds a list of pages on which
the current page is transcluded. Also, it adds an option to
limit the list size for transclusion links due to memory
concerns.

Change-Id: I45b077cf3f241b1927f7b1818b04b72115d55c28
2013-01-08 11:45:45 -05:00
Platonides
fb0966908b Miscellaneous profiling fixes
Change-Id: I8d8ce0bc0383e4feb4ed38fd96b2dd516dcb742e
2013-01-06 22:35:11 +01:00
Kaldari
3fd7bacbba Improving function descriptions in Linker
Change-Id: Id3aff70f8b5813f80e5b44bf14cb8198b2e16d4b
2012-12-20 06:44:22 +00:00
Marius Hoch
a92e7fb58b Links created by Linker::makeExternalLink didn't include rel=nofollow
The links created by Linker::makeExternalLink didn't obey $wgNoFollowLinks
(and $wgNoFollowNsExceptions, $wgNoFollowDomainExceptions). To
fix this I made the function call Parser::getExternalLinkRel which
I implemented earlier.

Fixes bug 41983.

Change-Id: I2ff35f89502db2e1f8266f3a943e38c0ea67aced
2012-12-05 22:28:03 +01:00
Kevin Israel
a80bc92245 Add comments to Linker::formatLinksInComment()
Per Tim Starling's suggestion, added comments to the regex in
Linker::formatLinksInComment().

Change-Id: If85567e5a2e57dd56f5f263f3512e9ed2f9c940c
2012-11-29 22:33:48 +00:00
Kevin Israel
3a751a39b1 Optimized regex in Linker.php
Optimized the regex in Linker::formatLinksInComment().

Change-Id: Idea5554bcb8d7e78ddf972ce4c9827fa738ff837
2012-11-29 22:33:38 +00:00
csteipp
ebc73c7df7 (bug 36780) Improve display of IPv6 addresses
Also add partial tests for Linker::userLink()

Change-Id: I680a59bb0ec3ca1d85ed12b0debb3446c73a3aab
2012-11-26 23:00:33 +00:00
umherirrender
49de213dc1 deprecate make(Known?)LinkObj methods
Restore deprecation warnings from 1.16. The methods Linker::makeLinkObj
and Linker::makeKnownLinkObj should be replaced by calls to link().

Change-Id: I658289ac2b52a193b76edd946368e228cfa389cb
2012-10-25 10:33:57 +02:00
Liangent
7323171000 Localize parentheses in Linker::formatTemplates()
Change-Id: I27c4c26206ba1e9c27a5c120a95491eb30e55522
2012-10-23 21:32:41 +08:00
umherirrender
9d19d7342a Remove a bunch of trailing spaces and unneeded newlines
Change-Id: I7db616db8c969567d420c0161fa207b366e292b6
2012-10-19 22:03:05 +02:00
Siebrand
7d4c391e25 Merge "Deprecate static User::edits() in favour of User::getEditCount()" 2012-10-18 00:00:11 +00:00
Marius Hoch
63ed4ac0e4 Deprecate static User::edits() in favour of User::getEditCount()
Moved the logic from the old static User::edits() into
User::getEditCount() and deprecated User::edits() as it's
not following the class hierarchy.

Change-Id: Id2b939ffb903accb8f4dc132a6ac6b6576f81beb
2012-10-18 01:41:00 +02:00
Brion Vibber
966cda2f80 Initial stab at responsive images for screen densities.
* adds $wgResponsiveImages setting, defaulting to true, to enable the feature
* adds 'srcset' attribute with 1.5x and 2x URLs to image links and image thumbs
* adds jquery.hidpi plugin to check pixel density and implement partial 'srcset' polyfill
** $.devicePixelRatio() returns window.devicePixelRatio, with compat fallback for IE 10
** $().hidpi() performs a 'srcset' polyfill for browsers with no native 'srcset' support
* adds mediawiki.hidpi RL script to trigger hidpi loads after main images load

Note that this is a work in progress. There will be places where this doesn't yet work which output their imgs differently. If moving from a low to high-DPI screen on a MacBook Pro Retina display, you won't see images load until you reload.

Confirmed basic images and thumbs in wikitext appear to work in Safari 6, Chrome 21, Firefox 18 nightly on MacBook Pro Retina display, and IE 10 in Windows 8 at 150% zoom, 200% zoom, and 140% and 180%-ratio Metro tablet sizes.

Internally this is still a bit of a hack; Linker::makeImageLink and Linker::makeThumbLink explicitly ask for 1.5x and 2x scaled versions and insert their URLs, if different, into the original thumbnail object which (in default handler) outputs the srcset. This means that a number of places that handle images differently won't see the higher-resolution versions, such as <gallery> and the large thumbnail on the File: description page.

At some point we may wish to redo some of how the MediaHandler stuff works so that requesting a single thumbnail automatically produces the extra sizes in all circumstances. We might also consider outputting a 'srcset' or multiple src sizes in 'imageinfo' API requests, which would make ApiForeignRepo/InstantCommons more efficient. (Currently it has to make three requests for each image to get the three sizes.)

Change-Id: Id80ebd07a1a9f401a2c2bfeb21aae987e5aa863b
2012-10-11 10:54:21 -07:00
Siebrand Mazeland
d4b046a893 Update docs for return and exception info
* Removed some inline tabs in the process.
* IDE fixed some incorrect leading spaces, too.

Change-Id: Ic9303eff6db4424ac3f1fa2816839692b43e6190
2012-10-09 09:41:58 +00:00
Tyler Anthony Romeo
0a1e291036 Added protocol option to Linker and OutputPage::addReturnTo.
Added new argument to the Linker options array to allow
the forcing of an HTTP or HTTPS protocol. In order to facilitate
this, a protocol argument was added to Title::getLinkURL.

Also, an options argument was added to OutputPage::addReturnTo
so that options can be passed to the linker and so that the
returnto URL can be forced to a certain protocol.

Change-Id: Ia9cc11e310ad6ef23c221bdba3a4834e7c5556e7
2012-09-27 13:47:42 -04:00
csteipp
21971b28bc (bug 39700) Add htmlspecialchars encoding to label
Adds htmlspecialchars encoding to the link label, passed
into Linker::makeBrokenImageLinkObj.

This fixes a stored XSS (HTML injection) vulnerability.

* Released as part of 1.20wmf10, 1.19.2, 1.18.5

Change-Id: I0e5f9eeb1f3561b1354aecced74f68ae2fa20dfa
2012-08-31 14:51:25 -07:00
Platonides
0168a529a9 Remove a couple of unused globals
Change-Id: I173334c43e1bc2ed5f404f82e770d3e20fa65914
2012-08-27 22:31:01 +02:00
Catrope
873ac24d32 Document Linker::tocList()'s $lang parameter correctly
Change-Id: I6982dc30a0ceeedc8e549ee3bdaa5bc139d6364c
2012-08-22 12:49:39 -07:00
Siebrand Mazeland
3ff6874d2f Follow up I66fb2d11: use wfGetLangObj() instead
Change-Id: I333021ee4edc7481b664986c27e12fbcac9d0d08
2012-08-22 21:31:05 +02:00
Catrope
f80b212aa2 Fix tocList() breakage in 6fe1f050
The $lang parameter defaults to false, but Message::inLanguage() doesn't
like false, so do an explicit check for false.

Change-Id: I66fb2d11269a988ae92b1594314807a4eed54f1b
2012-08-22 12:21:59 -07:00
tpt
2b9c22deb3 (bug 23226) Add |class= parameter to image links in order to add class(es) to HTML img tag.
Change-Id: If58802ad2c513c1db7bc3488daf4e078b8694b02
2012-08-21 17:25:42 -07:00
Siebrand Mazeland
6fe1f0509b Replace deprecated wfMsg* calls with Message class calls.
Doing this in steps of roughly 100 changes per commit, so that it remains reviewable.

Change-Id: Ib15e670badd3f6aecae8b60e2f9129a31341ce16
2012-08-21 18:38:44 +02:00
Catrope
9846b1c1e9 Merge "(bug 24437) Add nofollow to image link" 2012-08-15 01:37:24 +00:00
Alexandre Emsenhuber
e08852997a Follow-up I47412b67: pass an array of query parameters to Linker::link()
Change-Id: I3cdc0a57a9cda740c482addd2c9c833a70897381
2012-08-14 13:27:54 +02:00
Alexandre Emsenhuber
419129ae67 Follow-up I47412b67 (dde8471): convert string query to array
If we detect and warn that the $query parameter is in an incorrect
format, we may as well convert it to the correct one.

Change-Id: Ief137ab758c65ec562c2a523f76b1a4f8c2617b5
2012-08-14 11:51:26 +02:00
Aaron Schulz
eeb7300f60 Merge "Linker::link() prints deprecated warning if $query is a string" 2012-08-07 19:31:42 +00:00