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