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

Reply via email to