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

Reply via email to