http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73802

Revision: 73802
Author:   jeroendedauw
Date:     2010-09-27 10:58:47 +0000 (Mon, 27 Sep 2010)

Log Message:
-----------
Changes for 0.7 - Added helper function to deal with MWs changed way of inline 
script "handling"

Modified Paths:
--------------
    trunk/extensions/Maps/includes/Maps_Mapper.php
    
trunk/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMapsDispMap.php
    
trunk/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMapsDispPoint.php
    
trunk/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3DispMap.php
    
trunk/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3DispPoint.php
    trunk/extensions/Maps/includes/services/OSM/Maps_OSMDispMap.php
    
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayersDispMap.php
    
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayersDispPoint.php
    trunk/extensions/Maps/includes/services/YahooMaps/Maps_YahooMapsDispMap.php
    
trunk/extensions/Maps/includes/services/YahooMaps/Maps_YahooMapsDispPoint.php

Modified: trunk/extensions/Maps/includes/Maps_Mapper.php
===================================================================
--- trunk/extensions/Maps/includes/Maps_Mapper.php      2010-09-27 08:45:55 UTC 
(rev 73801)
+++ trunk/extensions/Maps/includes/Maps_Mapper.php      2010-09-27 10:58:47 UTC 
(rev 73802)
@@ -112,6 +112,29 @@
        }
        
        /**
+        * Adds a string of JavaScript to the page after wrapping it in a 
script tag.
+        * This function takes care of incompatible changes between MW 1.16 and 
1.17.
+        * 
+        * @since 0.7
+        * 
+        * @param Parser $parser
+        * @param string $script
+        */
+       public static function addInlineScript( Parser $parser, $script ) {
+               $script = Html::inlineScript( $script );
+               
+               if ( method_exists( 'ParserOutput', 'addModules' ) ) {
+                       // 1.17 and later
+                       // TODO
+                       throw new Exception( "MediaWiki doesn't like inline 
JS!" );
+               }
+               else {
+                       // 1.16 and earlier
+                       $parser->getOutput()->addHeadItem( $script );
+               }
+       }
+       
+       /**
         * This function returns the definitions for the parameters used by 
every map feature.
         *
         * @return array

Modified: 
trunk/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMapsDispMap.php
===================================================================
--- 
trunk/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMapsDispMap.php   
    2010-09-27 08:45:55 UTC (rev 73801)
+++ 
trunk/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMapsDispMap.php   
    2010-09-27 10:58:47 UTC (rev 73802)
@@ -30,8 +30,7 @@
                        wfMsg( 'maps-loading-map' )
                );
                
-               $parser->getOutput()->addHeadItem(
-                       Html::inlineScript( <<<EOT
+               MapsMapper::addInlineScript( $parser, <<<EOT
 addOnloadHook(
        function() {
                initializeGoogleMap("$mapName", 
@@ -49,7 +48,7 @@
        }
 );
 EOT
-               ) );
+               );
        }
        
 }
\ No newline at end of file

Modified: 
trunk/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMapsDispPoint.php
===================================================================
--- 
trunk/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMapsDispPoint.php 
    2010-09-27 08:45:55 UTC (rev 73801)
+++ 
trunk/extensions/Maps/includes/services/GoogleMaps/Maps_GoogleMapsDispPoint.php 
    2010-09-27 10:58:47 UTC (rev 73802)
@@ -1,25 +1,13 @@
 <?php
 
 /**
- * File holding the MapsGoogleMapsDispPoint class.
+ * Class for handling the display_point(s) parser functions with Google Maps.
  *
  * @file Maps_GoogleMapsDispPoint.php
  * @ingroup MapsGoogleMaps
  *
  * @author Jeroen De Dauw
  */
-
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( 'Not an entry point.' );
-}
-
-/**
- * Class for handling the display_point(s) parser functions with Google Maps.
- *
- * @ingroup MapsGoogleMaps
- *
- * @author Jeroen De Dauw
- */
 final class MapsGoogleMapsDispPoint extends MapsBasePointMap {
 
        protected function initSpecificParamInfo( array &$parameters ) {
@@ -29,6 +17,8 @@
         * @see MapsBaseMap::addSpecificMapHTML
         */
        public function addSpecificMapHTML( Parser $parser ) {
+               global $wgOut;
+               
                $mapName = $this->service->getMapId();
                
                $this->service->addOverlayOutput( $this->output, $mapName, 
$this->overlays, $this->controls );
@@ -42,9 +32,7 @@
                        wfMsg( 'maps-loading-map' )
                );
                
-               $parser->getOutput()->addHeadItem(
-                       Html::inlineScript(
-                               <<<EOT
+               MapsMapper::addInlineScript( $parser, <<<EOT
 addOnloadHook(
        function() {
                initializeGoogleMap("$mapName", 
@@ -63,7 +51,6 @@
        }
 );
 EOT
-                       )
                );
        }
        

Modified: 
trunk/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3DispMap.php
===================================================================
--- 
trunk/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3DispMap.php 
    2010-09-27 08:45:55 UTC (rev 73801)
+++ 
trunk/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3DispMap.php 
    2010-09-27 10:58:47 UTC (rev 73802)
@@ -37,8 +37,7 @@
                        null
                );
                
-               $parser->getOutput()->addHeadItem(
-                       Html::inlineScript( <<<EOT
+               MapsMapper::addInlineScript( $parser, <<<EOT
 addOnloadHook(
        function() {
                initGMap3(
@@ -55,7 +54,6 @@
        }
 );
 EOT
-                       )
                );
        }
        

Modified: 
trunk/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3DispPoint.php
===================================================================
--- 
trunk/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3DispPoint.php
   2010-09-27 08:45:55 UTC (rev 73801)
+++ 
trunk/extensions/Maps/includes/services/GoogleMaps3/Maps_GoogleMaps3DispPoint.php
   2010-09-27 10:58:47 UTC (rev 73802)
@@ -26,8 +26,7 @@
                        null
                );
                
-               $parser->getOutput()->addHeadItem(
-                       Html::inlineScript( <<<EOT
+               MapsMapper::addInlineScript( $parser, <<<EOT
 addOnloadHook(
        function() {
                initGMap3(
@@ -44,7 +43,6 @@
        }
 );
 EOT
-                       )
                );
        }
        

Modified: trunk/extensions/Maps/includes/services/OSM/Maps_OSMDispMap.php
===================================================================
--- trunk/extensions/Maps/includes/services/OSM/Maps_OSMDispMap.php     
2010-09-27 08:45:55 UTC (rev 73801)
+++ trunk/extensions/Maps/includes/services/OSM/Maps_OSMDispMap.php     
2010-09-27 10:58:47 UTC (rev 73802)
@@ -30,7 +30,9 @@
         * @since 0.6.4
         */
        public function addSpecificMapHTML( Parser $parser ) {  
-               $this->output .= Html::element(
+               global $wgOut;
+               
+               $wgOut->addHtml( Html::element(
                        'iframe',
                        array(
                                'id' => $this->service->getMapId(),
@@ -38,7 +40,7 @@
                                'src' => 
"http://toolserver.org/~kolossos/openlayers/kml-on-ol.php?zoom={$this->zoom}&lat={$this->centreLat}&lon={$this->centreLon}&lang=en"
                        ),
                        wfMsg( 'maps-loading-map' )
-               );
+               ) );
        }
        
 }
\ No newline at end of file

Modified: 
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayersDispMap.php
===================================================================
--- 
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayersDispMap.php   
    2010-09-27 08:45:55 UTC (rev 73801)
+++ 
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayersDispMap.php   
    2010-09-27 10:58:47 UTC (rev 73802)
@@ -31,8 +31,7 @@
                
                $langCode = $wgLang->getCode();
                
-               $parser->getOutput()->addHeadItem(
-                       Html::inlineScript( <<<EOT
+               MapsMapper::addInlineScript( $parser, <<<EOT
 addOnloadHook(
        function() {
                initOpenLayer(
@@ -48,7 +47,7 @@
        }
 );
 EOT
-               ) );
+               );
        }
 
 }
\ No newline at end of file

Modified: 
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayersDispPoint.php
===================================================================
--- 
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayersDispPoint.php 
    2010-09-27 08:45:55 UTC (rev 73801)
+++ 
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayersDispPoint.php 
    2010-09-27 10:58:47 UTC (rev 73802)
@@ -31,8 +31,7 @@
                
                $langCode = $wgLang->getCode();
                
-               $parser->getOutput()->addHeadItem(
-                       Html::inlineScript( <<<EOT
+               MapsMapper::addInlineScript( $parser, <<<EOT
 addOnloadHook(
        function() {
                initOpenLayer(
@@ -48,7 +47,7 @@
        }
 );
 EOT
-               ) );
+               );
        }
 
 }
\ No newline at end of file

Modified: 
trunk/extensions/Maps/includes/services/YahooMaps/Maps_YahooMapsDispMap.php
===================================================================
--- trunk/extensions/Maps/includes/services/YahooMaps/Maps_YahooMapsDispMap.php 
2010-09-27 08:45:55 UTC (rev 73801)
+++ trunk/extensions/Maps/includes/services/YahooMaps/Maps_YahooMapsDispMap.php 
2010-09-27 10:58:47 UTC (rev 73802)
@@ -30,8 +30,7 @@
                        wfMsg( 'maps-loading-map' )
                );
                
-               $parser->getOutput()->addHeadItem(
-                       Html::inlineScript( <<<EOT
+               MapsMapper::addInlineScript( $parser, <<<EOT
 addOnloadHook(
        function() {
                initializeYahooMap(
@@ -48,7 +47,7 @@
        }
 );
 EOT
-               ) );
+               );
        }
 
 }
\ No newline at end of file

Modified: 
trunk/extensions/Maps/includes/services/YahooMaps/Maps_YahooMapsDispPoint.php
===================================================================
--- 
trunk/extensions/Maps/includes/services/YahooMaps/Maps_YahooMapsDispPoint.php   
    2010-09-27 08:45:55 UTC (rev 73801)
+++ 
trunk/extensions/Maps/includes/services/YahooMaps/Maps_YahooMapsDispPoint.php   
    2010-09-27 10:58:47 UTC (rev 73802)
@@ -25,8 +25,7 @@
                        wfMsg( 'maps-loading-map' )
                );
                
-               $parser->getOutput()->addHeadItem(
-                       Html::inlineScript( <<<EOT
+               MapsMapper::addInlineScript( $parser, <<<EOT
 addOnloadHook(
        function() {
                initializeYahooMap(
@@ -43,7 +42,7 @@
        }
 );
 EOT
-               ) );
+               );
        }
 
 }
\ No newline at end of file



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to