http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73730
Revision: 73730
Author: jeroendedauw
Date: 2010-09-25 07:30:05 +0000 (Sat, 25 Sep 2010)
Log Message:
-----------
Changes for 0.7 - Added OpenLayers layers parameter manipulation class
Modified Paths:
--------------
trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayers.php
trunk/extensions/Maps/includes/services/OpenLayers/OpenLayers.php
Added Paths:
-----------
trunk/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php
Modified: trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayers.php
===================================================================
--- trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayers.php
2010-09-25 07:08:06 UTC (rev 73729)
+++ trunk/extensions/Maps/includes/services/OpenLayers/Maps_OpenLayers.php
2010-09-25 07:30:05 UTC (rev 73730)
@@ -43,9 +43,6 @@
protected function initParameterInfo( array &$params ) {
global $egMapsOLLayers, $egMapsOLControls,
$egMapsOpenLayersZoom;
- // TODO
- //Validator::addOutputFormat( 'olgroups', array( __CLASS__,
'unpackLayerGroups' ) );
-
//$params['zoom']->addCriterion( new CriterionInRange( 0, 19 )
);
//$params['zoom']->setDefault( self::getDefaultZoom() );
@@ -74,9 +71,7 @@
// TODO
$params['layers']->outputTypes = array(
- 'unique_items' => array( 'unique_items' ),
'olgroups' => array( 'olgroups' ),
- 'filtered_array' => array( 'filtered_array',
self::getLayerNames() )
);
}
@@ -217,28 +212,4 @@
}
}
- /**
- * Removed the layer groups from the layer list, and adds their members
back in.
- *
- * @param array $layers
- * @param string $name
- * @param array $parameters
- */
- public static function unpackLayerGroups( array &$layers, $name, array
$parameters ) {
- global $egMapsOLLayerGroups;
-
- $unpacked = array();
-
- foreach ( $layers as $layerOrGroup ) {
- if ( array_key_exists( $layerOrGroup,
$egMapsOLLayerGroups ) ) {
- $unpacked = array_merge( $unpacked,
$egMapsOLLayerGroups[$layerOrGroup] );
- }
- else {
- $unpacked[] = $layerOrGroup;
- }
- }
-
- $layers = $unpacked;
- }
-
}
\ No newline at end of file
Added: trunk/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php
===================================================================
--- trunk/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php
(rev 0)
+++ trunk/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php
2010-09-25 07:30:05 UTC (rev 73730)
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * Parameter manipulation ensuring the value is
+ *
+ * @since 0.7
+ *
+ * @file Maps_ParamOLLayers.php
+ * @ingroup Maps
+ * @ingroup ParameterManipulations
+ * @ingroup MapsOpenLayers
+ *
+ * @author Jeroen De Dauw
+ */
+class MapsParamOLLayers extends ListParameterManipulation {
+
+ /**
+ * Constructor.
+ *
+ * @since 0.7
+ */
+ public function __construct() {
+ parent::__construct();
+ }
+
+ /**
+ * @see ParameterManipulation::manipulate
+ *
+ * @since 0.7
+ */
+ public function manipulate( Parameter &$parameter, array &$parameters )
{
+ global $egMapsOLLayerGroups;
+
+ $unpacked = array();
+
+ foreach ( $parameter->value as $layerOrGroup ) {
+ if ( array_key_exists( $layerOrGroup,
$egMapsOLLayerGroups ) ) {
+ $unpacked = array_merge( $unpacked,
$egMapsOLLayerGroups[$layerOrGroup] );
+ }
+ else {
+ $unpacked[] = $layerOrGroup;
+ }
+ }
+
+ $parameter->value = $unpacked;
+ }
+
+}
\ No newline at end of file
Property changes on:
trunk/extensions/Maps/includes/services/OpenLayers/Maps_ParamOLLayers.php
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/extensions/Maps/includes/services/OpenLayers/OpenLayers.php
===================================================================
--- trunk/extensions/Maps/includes/services/OpenLayers/OpenLayers.php
2010-09-25 07:08:06 UTC (rev 73729)
+++ trunk/extensions/Maps/includes/services/OpenLayers/OpenLayers.php
2010-09-25 07:30:05 UTC (rev 73730)
@@ -33,9 +33,10 @@
function efMapsInitOpenLayers() {
global $wgAutoloadClasses;
- $wgAutoloadClasses['MapsOpenLayers'] = dirname( __FILE__ ) .
'/Maps_OpenLayers.php';
- $wgAutoloadClasses['MapsOpenLayersDispMap'] = dirname( __FILE__ ) .
'/Maps_OpenLayersDispMap.php';
- $wgAutoloadClasses['MapsOpenLayersDispPoint'] = dirname( __FILE__ ) .
'/Maps_OpenLayersDispPoint.php';
+ $wgAutoloadClasses['MapsOpenLayers'] =
dirname( __FILE__ ) . '/Maps_OpenLayers.php';
+ $wgAutoloadClasses['MapsOpenLayersDispMap'] = dirname(
__FILE__ ) . '/Maps_OpenLayersDispMap.php';
+ $wgAutoloadClasses['MapsOpenLayersDispPoint'] = dirname(
__FILE__ ) . '/Maps_OpenLayersDispPoint.php';
+ $wgAutoloadClasses['MapsParamOLLayers'] =
dirname( __FILE__ ) . '/Maps_ParamOLLayers.php';
MapsMappingServices::registerService(
'openlayers',
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs