Chad has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/382075 )
Change subject: Remove ancient PARSERFIRSTCALLINIT support ...................................................................... Remove ancient PARSERFIRSTCALLINIT support Some whitespace removal too because I used wrong editor settings Change-Id: I11f7ded27031ae63d16e4c58917e05fb06736234 --- M checkbox.php M multi.php M slider.php 3 files changed, 41 insertions(+), 64 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wigo3 refs/changes/75/382075/1 diff --git a/checkbox.php b/checkbox.php index 94f5896..787f707 100644 --- a/checkbox.php +++ b/checkbox.php @@ -9,18 +9,10 @@ 'description' => 'Checkbox voting. Requires the wigo and slider extensions' ); -//Avoid unstubbing $wgParser on setHook() too early on modern (1.12+) MW versions, as per r35980 -if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) { - $wgHooks['ParserFirstCallInit'][] = 'checkboxinit'; -} else { // Otherwise do things the old fashioned way - $wgExtensionFunctions[] = 'checkboxinit'; -} - -function checkboxinit() { - global $wgParser; - $wgParser->setHook('checkbox','checkboxrender'); - $wgParser->setHook('checkboxes','checkboxesrender'); - return true; +$wgHooks['ParserFirstCallInit'][] = function( $parser ) { + $parser->setHook('checkbox','checkboxrender'); + $parser->setHook('checkboxes','checkboxesrender'); + return true; } function checkboxesrender($input, $args, $parser) @@ -37,10 +29,10 @@ $output = $parser->recursiveTagParse($input); return "<p><span style='color:red;'>{$err}</span> {$output}</p>"; } - + #avoid conflicts - checkbox will add check prefix $voteid = "set" . $voteid; - + $set = $args['set']; if (!$set) { @@ -55,12 +47,12 @@ if (array_key_exists('embedded',$args) && strcasecmp($args['embedded'],"yes") === 0) { $embedded = true; } - + //Get the checkbox set $list = wfMsg("checkboxes/{$set}"); $list = preg_replace("/\*/","",$list); $options = split("\n",$list); - + $output = '<div class="checkboxset">'; $ids = array(); $jshacka = array(); @@ -85,7 +77,7 @@ $votebutton = "<p>" . (($closed || $embedded) ? "" : " <a class=\"votebutton\" href=\"javascript:wigovotesendarray({$jshack},0,1,true)\" title=\"" . wfMsg("slider-votetitle") . "\">" . wfMsg("slider-votebutton") . "</a>") . "</p>"; - + //get all the votes in one request $ids_l = implode(",",$ids); $myvotesscript = "<script type=\"text/javascript\">" . @@ -101,7 +93,7 @@ "}" . "}" . "});" . "</script>"; - + return $parser->recursiveTagParse($output) . $votebutton . $myvotesscript; } @@ -120,11 +112,11 @@ $output = $parser->recursiveTagParse($input); return "<p><span style='color:red;'>{$err}</span> {$output}</p>"; } - + //inject js global $wgJsMimeType, $wgScriptPath; $parser->mOutput->addHeadItem("<script type=\"{$wgJsMimeType}\" src=\"{$wgScriptPath}/extensions/wigo3/js/wigo3.js\"></script>",'wigo3js'); - + if (array_key_exists('bulkmode',$args) && strcasecmp($args['bulkmode'],"yes") === 0) { $bulkmode = true; } else { @@ -179,7 +171,7 @@ "}" . "});" . "</script>"; } - + wfLoadExtensionMessages('slider'); if (array_key_exists('closed',$args) && strcasecmp($args['closed'],"yes") === 0) { return "<input type=\"checkbox\" class=\"checkbox-input\" id=\"checkbox-input-{$voteid}\" name=\"checkbox-input-{$voteid}\" disabled=\"disabled\"" . ($myvote === 1 ? " checked=\"checked\"" : "") . "/> " . diff --git a/multi.php b/multi.php index 5005c38..37e911f 100644 --- a/multi.php +++ b/multi.php @@ -10,18 +10,10 @@ 'version' => '3.5' ); -//Avoid unstubbing $wgParser on setHook() too early on modern (1.12+) MW versions, as per r35980 -if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) { - $wgHooks['ParserFirstCallInit'][] = 'multiinit'; -} else { // Otherwise do things the old fashioned way - $wgExtensionFunctions[] = 'multiinit'; -} -function multiinit() { - global $wgParser; - wfLoadExtensionMessages('multi'); - $wgParser->setHook('multi','multirender'); - return true; +$wgHooks['ParserFirstCallInit'][] = function( $parser ) { + $parser->setHook('multi','multirender'); + return true; } global $wgUseAjax; @@ -184,7 +176,7 @@ } $output .= "<tr>" . - "<td class=\"multioption\" style=\"width:20em;\">" . + "<td class=\"multioption\" style=\"width:20em;\">" . $line . "</td>" . "<td class=\"multiresult\" style=\"width:2em;\">" . @@ -193,7 +185,7 @@ "<td style=\"margin:0; padding:0;\">" . "<div class=\"votecolumnback\" style=\"border: 1px solid black; background:#F0F0F0; width:220px; height:1em;\">" . "<div id=\"{$voteid}-{$i}-column\" class=\"votecolumnfront\" style=\"background:blue; width:{$percent}%; height:100%;\"></div>" . - "</div>" . + "</div>" . "</td>" . "</tr>"; } @@ -209,19 +201,19 @@ } $output .= "<tr>" . - "<td class=\"multioption\" style=\"width:14em;\">" . + "<td class=\"multioption\" style=\"width:14em;\">" . $line . "</td>" . "<td class=\"multiresult\" style=\"width:2em;\">" . $resultstr[$i] . "</td>" . - "<td class=\"multibutton\" style=\"padding-left:1em; padding-right:1em;\">" . + "<td class=\"multibutton\" style=\"padding-left:1em; padding-right:1em;\">" . "<a href=\"javascript:multivotesend('{$voteid}',$i," . count($outputlines) . ")\" title=\"" . wfMsg("multi-votetitle") . "\">" . wfMsg("multi-votebutton") . "</a>" . "</td>" . "<td style=\"margin:0; padding:0;\">" . "<div class=\"votecolumnback\" style=\"border: 1px solid black; background:#F0F0F0; width:220px; height:1em;\">" . "<div id=\"{$voteid}-{$i}-column\" class=\"votecolumnfront\" style=\"background:blue; width:{$percent}%; height:100%;\"></div>" . - "</div>" . + "</div>" . "</td>" . "</tr>"; } diff --git a/slider.php b/slider.php index ad16dc0..22814a5 100644 --- a/slider.php +++ b/slider.php @@ -9,12 +9,12 @@ 'description' => 'Creates a slider for voting. Requires the wigo extension' ); -//Avoid unstubbing $wgParser on setHook() too early on modern (1.12+) MW versions, as per r35980 if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) { - $wgHooks['ParserFirstCallInit'][] = 'sliderinit'; -} else { // Otherwise do things the old fashioned way - $wgExtensionFunctions[] = 'sliderinit'; -} + $wgHooks['ParserFirstCallInit'][] = function( $parser ) { + $parser->setHook('slider','sliderrender'); + $parser->setHook('sliders','slidersrender'); + return true; + } //$wgHooks['BeforePageDisplay'][] = 'slideraddjscss'; @@ -22,15 +22,9 @@ $wgSliderIP = dirname( __FILE__ ); $wgExtensionMessagesFiles['slider'] = "$wgSliderIP/slider.i18n.php"; -function sliderinit() { - global $wgParser; - wfLoadExtensionMessages('slider'); - $wgParser->setHook('slider','sliderrender'); - $wgParser->setHook('sliders','slidersrender'); - return true; -} -function slideraddjscss(&$out, &$sk) + +function slideraddjscss(&$out, &$sk) { global $wgJsMimeType, $wgScriptPath; /*$out->addScript("<script type=\"{$wgJsMimeType}\" src=\"{$wgScriptPath}/extensions/slider/js/range.js\"></script>"); @@ -56,10 +50,10 @@ $output = $parser->recursiveTagParse($input); return "<p><span style='color:red;'>{$err}</span> {$output}</p>"; } - + #avoid conflicts - sliders will add slider prefix $voteid = "set" . $voteid; - + $set = $args['set']; if (!$set) { @@ -74,7 +68,7 @@ if (array_key_exists('embedded',$args) && strcasecmp($args['embedded'],"yes") === 0) { $embedded = true; } - + //get minimum and maximum values if supplied if (array_key_exists('min',$args) && (intval($args['min'],10) !== 0 || $args['min'] == '0')) { $minvalue = $args['min']; @@ -86,12 +80,12 @@ } else { $maxvalue = 10; } - + //Get the slider set $list = wfMsg("sliders/{$set}"); $list = preg_replace("/\*/","",$list); $options = split("\n",$list); - + $output = '<div class="sliderset">' . "<table class=\"slidervote\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">"; $ids = array(); //$jshacka = array(); @@ -116,7 +110,7 @@ /*$votebutton = "<p>" . (($closed || $embedded) ? "" : " <a href=\"javascript:wigovotesendarray({$jshack},{$minvalue},{$maxvalue})\" title=\"" . wfMsg("slider-votetitle") . "\">" . wfMsg("slider-votebutton") . "</a>") . "</p>";*/ - + //get all the votes in one request $ids_l = implode(",",$ids); $myvotesscript = "<script type=\"text/javascript\">" . @@ -132,7 +126,7 @@ "}" . "}" . "});" . "</script>"; - + return $parser->recursiveTagParse($output) /*. $votebutton*/ . $myvotesscript; } @@ -151,14 +145,14 @@ $output = $parser->recursiveTagParse($input); return "<p><span style='color:red;'>{$err}</span> {$output}</p>"; } - + //inject js and css - global $wgJsMimeType, $wgScriptPath; + global $wgJsMimeType, $wgScriptPath; $parser->mOutput->addHeadItem("<script type=\"{$wgJsMimeType}\" src=\"{$wgScriptPath}/extensions/wigo3/js/wigo3.js\"></script>",'wigo3js'); $parser->mOutput->addHeadItem("<script type=\"{$wgJsMimeType}\" src=\"{$wgScriptPath}/extensions/wigo3/js/slider-combined.js\"></script>",'sliderjs'); global $wgOut; $wgOut->addStyle("{$wgScriptPath}/extensions/wigo3/css/rational/rational.css"); - + //get minimum and maximum values if supplied if (array_key_exists('min',$args) && (intval($args['min'],10) !== 0 || $args['min'] == '0')) { $minvalue = $args['min']; @@ -170,7 +164,7 @@ } else { $maxvalue = 10; } - + if (array_key_exists('bulkmode',$args) && strcasecmp($args['bulkmode'],"yes") === 0) { $bulkmode = true; } else { @@ -220,7 +214,7 @@ # script to get my vote if (!$bulkmode) { - $myvotescript = + $myvotescript = "sajax_do_call('wigogetmyvotes',['{$voteid}'],function (req) {" . "if (req.readyState == 4) if (req.status == 200)" . "{". @@ -275,7 +269,7 @@ "<a class=\"votebutton\" href=\"javascript:wigovotesend('{$voteid}',document.getElementById('slider-input-{$voteid}').value,$minvalue,$maxvalue)\" title=\"" . wfMsg("slider-votetitle") . "\">" . wfMsg("slider-votebutton") . "</a>" . "</td>" . "</tr>" . - ($bulkmode ? "" : "</table>") . + ($bulkmode ? "" : "</table>") . "<script type=\"text/javascript\">" . "var s = new Slider(document.getElementById(\"slider-{$voteid}\")," . "document.getElementById(\"slider-input-{$voteid}\"));" . @@ -285,4 +279,3 @@ $myvotescript . "</script>"; } } - -- To view, visit https://gerrit.wikimedia.org/r/382075 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I11f7ded27031ae63d16e4c58917e05fb06736234 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wigo3 Gerrit-Branch: master Gerrit-Owner: Chad <ch...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits