Commit graph

898 commits

Author SHA1 Message Date
grunny 36f77e2a8d Add comment explaining where the Mercury PI replacements occur 2016-06-20 18:24:38 +10:00
grunny c006c42035 (CE-3844) Refactor fix for PI and parser tag fix
A security fix from MW core added quotes to the Parser's strip tag
markers in order to prevent an XSS vulnerability. When this was deployed
PIs and our Wikia tag extensions broke in Mercury because ArticlesAsJson
JSON encodes the parser output in the ParserAfterTidy, but then PI and
the tag extensions were manually replacing the Parser tag strip markers
on the already JSON encoded string within their own ParserAfterTidy methods
(which were always run after the ArticlesAsJson method). This meant that the
strip marker had the quote escaped with a backslash in the encoded string,
so the string replacements failed.

This change follows the previous quick and dirty fix by moving the replacements
in PI and the tag extensions to just before ArticlesAsJson encodes the output.
Which also removes the need from before the fix in #10701 to JSON encode the
parser output of the tags that will be replaced into the text.
2016-06-17 20:57:12 +10:00
grunny 61bdc6e652 (DAT-4494) Only decode when it's the main JSON array 2016-06-17 04:14:47 +10:00
grunny ddd6c61e79 (DAT-4494) We don't need to json encode here anymore 2016-06-17 03:59:52 +10:00
grunny e191fbd396 Fix unit tests 2016-06-17 03:52:32 +10:00
grunny 899b127b00 (DAT-4494) Don't perform replacements on JSON encoded content 2016-06-16 17:39:06 +00:00
grunny 8186618eb9 (DAT-4494) Fix galleries and tabber in PortableInfoboxes 2016-06-16 16:59:48 +00:00
Warkot 10f96eaa96 XW-1478 | extendImageData has to be run even for the first PI 2016-05-31 00:20:39 +02:00
Warkot 1fa29ea03b XW-1478 | don't render the whole hero module including the title on Mercury 2016-05-30 21:30:25 +02:00
Warkot 908327db5d XW-1478 | don't render hero image in first infobox on Mercury 2016-05-30 18:35:11 +02:00
Igor Rogatty 27e695e569 XW-1225 | remove $wgEnableSeoFriendlyImagesForMobile and clean up 2016-05-18 14:44:36 +02:00
Igor Rogatty 3ef5a8e72b XW-1429 | remove whitespace after original marker and put a single space after new marker position 2016-05-09 15:14:02 +02:00
Igor Rogatty bc7f3efb35 XW-1429 | add unit tests for moveFirstMarkerToTop method 2016-05-09 14:50:37 +02:00
Igor Rogatty 464bd9ccee XW-1429 | move whitespace together with marker 2016-05-09 14:49:56 +02:00
Igor Rogatty 81830d7024 XW-1429 | use ArticleAsJsonBeforeEncode hook to move the first infobox marker 2016-05-09 13:56:28 +02:00
Igor Rogatty c5ff6c70df XW-1429 | move the first infobox to the top of article content 2016-05-09 12:46:23 +02:00
idradm 9ceba1d2d0 DAT-3942 make sure isVideo param is always set, update tests 2016-04-20 10:38:44 +02:00
Bogna Knychala 1dc864dd5a Merge remote-tracking branch 'origin/dev' into XW-1300 2016-04-08 13:13:17 +02:00
Daniel Grunwell e8c9a1611a Merge pull request #10117 from Wikia/CE-3554
CE-3554: Improve infobox input fields labels in VE dialog
2016-04-08 17:40:54 +10:00
Igor Rogatty 81ca93b542 XW-1300 | use portable-infobox-hero-image component in tests 2016-04-07 15:14:26 +02:00
Igor Rogatty 111a15dce4 XW-1300 | use portable-infobox-hero-image component 2016-04-07 15:08:24 +02:00
Lukasz Konieczny 56e5697cfd CE-3554: Fix typo 2016-04-07 10:24:18 +00:00
Lukasz Konieczny 6cc68eaa19 CE-3554: Add doc and comment 2016-04-07 09:29:26 +00:00
Lukasz Konieczny 1a92b184bb CE-3554: Add fallback for existing infobox page props data 2016-04-07 09:27:59 +00:00
Igor Rogatty 7a2b770707 XW-1300 | add article-media-placeholder class to tests 2016-04-06 15:40:25 +02:00
Igor Rogatty c48a6a1635 XW-1300 | add article-media-placeholder class 2016-04-06 15:33:56 +02:00
Igor Rogatty 498aa90f26 Merge branches 'XW-1300' and 'dev' of https://github.com/Wikia/app into XW-1300 2016-04-06 12:30:54 +02:00
grunny a1bcf879a8 (MAIN-6855) Make hasInfobox and filterInfoboxes private 2016-04-06 19:55:36 +10:00
grunny 369a81faa6 (MAIN-6855) Move adding to the querypage cache to the QueryPage class
Fixes fatal error:

    PHP Fatal error: Cannot access private property
    AllinfoboxesQueryPage::$subpagesBlacklist in /extensions/wikia/
    PortableInfobox/PortableInfoboxHooks.class.php on line 166
2016-04-06 19:13:13 +10:00
Igor Rogatty 455e4b5e75 XW-1300 | support for image collections 2016-04-05 17:42:21 +02:00
Lukasz Konieczny 9f7c54012b CE-3554: Combine two lines to one 2016-04-05 09:58:19 +00:00
Lukasz Konieczny d340841e17 CE-3554: Improve code after CR 2016-04-05 07:27:18 +00:00
Igor Rogatty 3bc774edaa XW-1300 | use global properly 2016-04-04 17:09:08 +02:00
Igor Rogatty 17a045e1aa XW-1300 | add tests for Mercury experimental markup 2016-04-04 15:50:36 +02:00
Igor Rogatty 065bf53428 XW-1300 | add hero-mobile-wikiamobile to sanitizer builder 2016-04-04 13:49:48 +02:00
Igor Rogatty 55c6cf6c11 XW-1300 | use isMercury helper method 2016-04-04 13:13:52 +02:00
Igor Rogatty 4c150d9885 XW-1300 | support for WikiaMobile 2016-04-01 17:33:29 +02:00
idradm dc868173b3 DAT-4041 fix regex to much only empty infobox tags 2016-04-01 16:54:04 +02:00
idradm c15314dd7b DAT-4041 empty portable infobox will be supported 2016-04-01 16:43:41 +02:00
Lukasz Konieczny 06fad58042 CE-3554: Support more sources 2016-04-01 12:54:43 +00:00
Lukasz Konieczny 4f11b96e48 CE-3554: Changes after CR 2016-04-01 11:07:30 +00:00
Igor Rogatty 52f6c9b389 XW-1300 | remove accidental var_dump 2016-04-01 12:29:36 +02:00
Igor Rogatty 07cdefb0f5 XW-1300 | use mercury-component-attrs name and fix unit tests 2016-04-01 12:06:10 +02:00
Igor Rogatty d5587fbc25 XW-1300 | use new media components in portable infoboxes 2016-03-31 18:08:57 +02:00
grunny 7976e3be75 (CE-3571) Insert new infobox into querycache on creation
When a new portable infobox is created, add it to the querycache for the
AllInfoboxes list and purge its cache.
2016-03-31 22:30:02 +10:00
Lukasz Konieczny 88030ff0d2 CE-3554: Add unit tests for extracting labels 2016-03-31 10:00:03 +00:00
Lukasz Konieczny a773ee1a49 CE-3554: Extract labels from infobox markup and save them in page props 2016-03-31 09:58:34 +00:00
idradm 25dd444a80 DAT-4018 add test for europa theme enabled 2016-03-29 12:57:07 +02:00
idradm 508635c08f DAT-4018 make europa theme solely var dependent 2016-03-29 12:31:03 +02:00
Rafal Leszczynski 677b272351 add pi-europa class to infobox if europa is enabled 2016-03-29 12:12:11 +02:00