Commit graph

947 commits

Author SHA1 Message Date
umherirrender
2e8da558ba fix some spacing
Change-Id: Id7eda67a43f9040117edd79fdbeb678f1c3a6da2
2013-01-26 22:11:09 +01:00
jeroendedauw
5157242009 Added typehint
Change-Id: Ic71419e72f8cf0a12d9ea1be84fd0fcd838337d9
2013-01-25 20:29:10 +00:00
jeroendedauw
c19ec2d8f9 Simplified code. Removed not needed if-else
Change-Id: I9660f543deefb5154a03535b668ee68eb3394e75
2013-01-25 20:07:27 +00:00
jenkins-bot
a8d72e1faa Merge "(bug 43964) Invalid value of "link" parameter in <gallery> no longer produces a fatal error" 2013-01-24 19:32:59 +00:00
jenkins-bot
cb4b29fd96 Merge "Further tweaks to pipe trick documentation (follow-up Iaf365e31)" 2013-01-24 15:48:24 +00:00
Alexandre Emsenhuber
6f74a93d1b (bug 43964) Invalid value of "link" parameter in <gallery> no longer produces a fatal error
Also added a test for this just in case someone wants to break this :)

Change-Id: I2782cf1a45b574eb5fd69b1c1be561e7bdaef59e
2013-01-23 07:40:27 +01:00
Alexandre Emsenhuber
782ea7acae Use better variable name in CoreParserFunctions::pagesize()
Also moved the retrieval of the revision ID near the one of the
page ID so that the call of ParserOutput::addTemplate() is much
clearer than the actual one.

Change-Id: Ie71ee76e90cc131eac25c0f339d5250d5163ce2e
2013-01-22 02:06:25 +00:00
Pavel Selitskas
0ed9be373b (Bug 17970) {{PROTECTIONLEVEL}} should be able to return the status for pages besides the one it's on
Change-Id: I4c60a5f25c739583eb087024c5e949ebcd2def72
2013-01-18 22:03:01 +03: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
Reedy
a3fbdaaa2c Remove $wgBug34832TransitionalRollback
Per "@todo This variable should be removed (implicitly false) in 1.20 or earlier."

Change-Id: Ibd6d0199848ef4631d13e1a27044c793ef15ec02
2013-01-11 15:49:33 +00:00
Platonides
fb0966908b Miscellaneous profiling fixes
Change-Id: I8d8ce0bc0383e4feb4ed38fd96b2dd516dcb742e
2013-01-06 22:35:11 +01:00
Liangent
d266580c5b (bug 33210) Don't convert blue categorylinks to another variant.
By the way the check $oldkey != $vardbk is unnecessary because
there's already $variant != $category check.

Change-Id: I963be065723059073c9cb83c6ef636af8d023faf
2013-01-04 11:48:56 +00:00
Siebrand Mazeland
2575b8cf2b Update docs
Change-Id: I96c04c4ce9384816e120baef3572dfc4fd216b9a
2012-12-17 11:23:02 +01:00
Reedy
dd16606d7a Fixup a couple of uses of return values of functions that return void
Change-Id: I7c8f08c5b436cb3209fd98b9479a50abe223cccc
2012-12-09 03:16:14 +00:00
Waldir Pimenta
546322662b Further tweaks to pipe trick documentation (follow-up Iaf365e31)
- call them pipe tricks (plural) as there's more than one
- mention double-width comma as well
- use one tab character for alignment due to double-width chars
- document reverse pipe trick

Change-Id: I27a1d04362eb3988fc1318fa1f73f69877019439
2012-12-06 06:19:13 +00:00
Nikerabbit
d5f42a2077 Merge "Improve documentation for "pipe trick"" 2012-12-05 09:56:56 +00:00
Nikerabbit
0a32a34775 Merge "Implement static public Parser::getExternalLinkRel" 2012-11-30 20:29:54 +00:00
Marius Hoch
d067e090ea Implement static public Parser::getExternalLinkRel
I've implemented the function Parser::getExternalLinkRel which
gives the 'rel' attribute for a given link in a given NS. Per Tim's
suggestion, as it's currently impossible to invoke the logic in
Parser::getExternalLinkAttribs externally.

Change-Id: Id0bfed81e2afd6730d820b6c9a4a09155a557f37
2012-11-30 21:20:38 +01:00
Stephan Gambke
a7c837a086 Allow null for title in preprocess
Additionally remove creation of bogus title in transformMsg.

The only place preprocess uses the title is in startParse. And that explicitly allows null.

Change-Id: I33d090bf250092fc541e284eb19dbd4053f40ae5
2012-11-24 10:40:06 +01:00
Nikerabbit
bb7d20b87a Merge "Clean up Language::markNoConversion()." 2012-11-23 13:01:08 +00:00
Daniel Friesen
e185d4a2a4 support for HTML5/Microdata elements
Patch let us handle the <data>, <time>, <meta>, and <link> elements.

* handles one part of bug 32545 requesting us to support the <time>
  element in WikiText.
* Partially fix bug 28776 about whitelisting global HTML5 semantic
  attributes and inline meta element.
* <meta> and <link> are only permitted when Microdata is enabled using
* the global $wgAllowMicrodataAttributes. For for security reason, the
  links are only allowed to be actual elements when they have a
  strict set of attributes set.

Change-Id: Ica11be186bd62eb154e1ebc400acb515c10fb65f
2012-11-19 09:00:50 +01:00
Liangent
e01adbfc0b Clean up Language::markNoConversion().
* IRIs are getting more and more widely used these days so Chinese
  characters are also needed to be prevented from being converted
  in text of external links.
* So now all markNoConversion() functions in languages with variants
  do the same thing. Merge them into a single function in the
  Language class and drop implementations in individual languages.
* By the way rephrase phpdoc of that function, and (bug 24798) fix
  the link detection regex to use wfUrlProtocolsWithoutProtRel().
  Protocol-relative regex is excluded to avoid false positives.
* Add parser test for it.

Change-Id: I2ec0ac2b9b11221584adb72555168498de209d57
2012-11-18 03:46:53 +08:00
Brad Jorsch
7c9d6c0d10 (bug 32368) Add ParserCloned hook
We store various bits of data as "expando" properties on the Parser
object, to pass information from one stage of the parser to another. If
the parser is cloned, however, we can run into trouble because two
different Parser objects are now manipulating the same extension data
structure; this often shows up when ParserClearState is called on one
clone and clears the state of the other as well.

Since a deep clone might be too expensive and still might be wrong in
some cases, it seems most useful to simply provide a ParserCloned hook
so extensions can just do The Right Thing.

Change-Id: Ieec65c908d71e89b9a66f83b9a626f842aadacbb
2012-11-16 11:27:13 -05:00
daniel
c2172d45e4 Beware that getContent() may return null
Before the introduction of the content handler, missing content was
signified by getText() returning null instead of a string. null will
work much like an empty string in most contexts, so in many places,
it was not checked explcitely whether the conent was null.

Now, when getContent() returns null, this often caused a fatal error,
because the code would access whatever getContent() returned as an object,
without checking whether it was null (because no such check was performed
previously, when the content was represented as a string).

This check introduces explicite checks for getContent() returning null
in the most essential core classes.

Change-Id: I551a90b0b67b8edc7570ca5d252ecc1de903f097
2012-11-09 19:45:12 +01:00
Waldir Pimenta
600ecaf7be Improve documentation for "pipe trick"
- Actually mention "pipe trick" so the code is searchable
- Use spaces rather than tabs for vertical alignment
- Clarify comment for double-width brackets and mention revision it was added

Change-Id: Iaf365e313144e378133fb16c64efa5b7e47d4a6a
2012-11-07 12:54:24 +00:00
Hashar
fbe10c4b3d Merge "Document what ParserOutput::setProperty() is for" 2012-11-02 15:37:35 +00:00
Tim Starling
7474d1388a Document what ParserOutput::setProperty() is for
Change-Id: I88735b1ebc9b8423b4fbe7b196dfc914f95818fd
2012-11-02 15:39:53 +01:00
Nikerabbit
b85839a549 Merge "Fix tabs inside/between statements/text" 2012-10-26 18:57:25 +00:00
umherirrender
82375631c2 Fix tabs inside/between statements/text
This tabs are strange and a space there is better

Change-Id: I0885dff575ee2fcd0668d08fef3226e132c5b319
2012-10-26 18:18:59 +02:00
umherirrender
e5f5e95137 Fix indentation whitespace errors
Change-Id: Ie268bee2098c589c050e1b5b0e93fe1b3feca86f
2012-10-26 17:42:13 +02:00
Gabriel Wicke
31625b54a0 Bug 11748: Handle optionally-closed HTML tags
* Fixes bug 11748 (Parser issue for HTML definition list) and similar
  issues for nested unordered / ordered lists

* Stops wrapping HTML-syntax definition lists into paragraphs
  for consistency with their wikitext variants

* Enables one previously disabled test and adds another for nested
  definition lists with HTML syntax

Change-Id: If75ed54e11452dbcf5e6213cc20923064f811715
2012-10-25 19:31:29 +02:00
umherirrender
85d8ee1f87 Remove a bunch of trailing spaces and unneeded newlines
Change-Id: I00f369641320acd7f087427ef031f3ee7efa0997
2012-10-10 20:14:40 +02:00
IAlex
408a3df1dc Merge "Remove unused variables." 2012-10-09 10:23:38 +00:00
Siebrand Mazeland
632ce2a8fd Remove unused variables.
Change-Id: I4b76cbbca22555eacb8ef4de58993b485f7cdd18
2012-10-09 09:43:14 +00: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
daniel
c546fae8ed merge latest master into Wikidata branch
Change-Id: Id4e0f40c03679c13d8934a6add99b5cd86d0437d
2012-10-08 13:58:54 +02:00
MaxSem
95166fa0b4 Merge "Don't display multiple language links to the same language" 2012-10-05 19:15:44 +00:00
Tim Starling
d5a0ddcca4 Don't display multiple language links to the same language
(bug 24502) Resolve the various issues with this accidental feature
by removing it. I think it could be done properly, along the lines of
my comment #5, but I don't think just changing the DB schema to make
langlinks non-unique is a good direction to take. A comment on
I4e1e08a3 from Daniel Kinzler indicates that duplicate language links
won't be possible with Wikidata anyway, so there's not much value in
I4e1e08a3 for WMF wikis.

Change-Id: Iba5f3f29e20f5119d4414b1e87ce5eee674701a8
2012-10-05 23:14:07 +04:00
Reedy
f6cbdfb5e2 Merge "Show HTTP error (if any) when scary transclusion fails" 2012-10-04 15:11:25 +00:00
umherirrender
a2e470ee68 (bug 32951) Do not register absolute internal externals
Setting $wgRegisterInternalExternals = false for proto server should not
store the http/https links in externallinks table

Also fix detection of own links for links with query or anchor or
nothing

new also detected:
//localhost
//localhost?query
//localhost#anchor

already detected:
//localhost/path

Change-Id: Idd03d309cc3b71728a8cbea460efa12b10348d64
2012-10-03 23:15:38 +00:00
Amir E. Aharoni
0ffe674912 (bug 35167) Allow <span dir="ltr|rtl"> in toc items
Added parser tests accordingly.

Change-Id: Ia77f24f53e77b0b9d6112218c93ea15fdefac5de
2012-09-26 06:50:46 +00:00
Tim Starling
ade7daae2c Log page titles that are more than 10% of the node count limit
Change-Id: I6824d305efd73de95ad15c65d3421886c2f86aa9
2012-09-20 14:39:32 +10:00
daniel
b6b686c13b merged master
Change-Id: I0ef7c7f33a5dc5855f38b20c03ddc5306f38ec66
2012-09-19 12:34:10 +02:00
Liangent
9573209efc (bug 37453) Move $wgDisable(Lang|Title)Conversion to ParserOptions
This allows easier fix of bug 37453, and patch to fix it is
included in this changeset.

Change-Id: I9096534639394755d0a296dea7380e7b938befef
2012-09-16 20:20:36 +02:00
Tim Starling
2caa7829fc Generated node count limit
To prevent large template DOM caches from sending servers into swap,
throw an exception when more than some number of DOM elements are
parsed. Unfortunately, it wasn't possible to return a normal error
message, because it broke PST and extractSections and corrupted the
article text. It's safer to refuse to save the edit, and we don't
have decent ways to do that short of throwing an exception.

Ideally we would like to have an upstream patch that hooks libxml to
allocate memory from PHP's request pool, then a fatal error would be
raised instead of swapping.

Change-Id: I4cb4f6fd313e1e0940b56cc5e586afd1bea9267a
2012-09-15 14:51:58 -07:00
daniel
b6fe213226 merge latest master.
some tests fail due to logical changes, will fix that in a follow-up

Change-Id: I8a5e4087ecf674fbcf6327c5d168cd401be12400
2012-09-05 17:50:13 +02:00
Fran McCrory
d6028a1811 (bug 34939) Handle mixed-case URL protocols in wikitext
This patch marks the regex matching url protocol as being case
insensitive. We will from now render links like [HTTP://ww].

Tests added.

Change-Id: I706acb7a0ae194b50d2318763beae4e5e83671f3
2012-09-04 16:26:46 +02:00
Siebrand
2c88837c1e Merge "Make functions match definitions in Preprocessor interface" 2012-09-01 22:44:48 +00:00
Alexandre Emsenhuber
d3e0168c67 Added missing GPLv2 headers in new files.
Also improved file documentation.

Change-Id: Ia5a383110769cf51603305dc639616d904ebbab2
2012-09-01 21:56:38 +02:00
Reedy
042bafe363 Make functions match definitions in Preprocessor interface
Change-Id: I0bc1f5540bb7aabcd7e54edc180439446af979f4
2012-08-30 22:03:19 +01:00