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

Revision: 73696
Author:   jeroendedauw
Date:     2010-09-25 00:04:11 +0000 (Sat, 25 Sep 2010)

Log Message:
-----------
Changes for 0.4 - follow up to r73672

Modified Paths:
--------------
    trunk/extensions/Validator/includes/ItemParameterManipualtion.php

Added Paths:
-----------
    
trunk/extensions/Validator/includes/manipulations/ParamManipualtionBoolean.php

Modified: trunk/extensions/Validator/includes/ItemParameterManipualtion.php
===================================================================
--- trunk/extensions/Validator/includes/ItemParameterManipualtion.php   
2010-09-24 23:11:50 UTC (rev 73695)
+++ trunk/extensions/Validator/includes/ItemParameterManipualtion.php   
2010-09-25 00:04:11 UTC (rev 73696)
@@ -16,6 +16,18 @@
 abstract class ItemParameterManipulation extends ParameterManipulation {
        
        /**
+        * Manipulate an actual value.
+        * 
+        * @param string $value
+        * @param array $parameters
+        * 
+        * @since 0.4
+        * 
+        * @return mixed
+        */     
+       protected abstract function doManipulation( &$value, array &$parameters 
);      
+       
+       /**
         * Constructor.
         * 
         * @since 0.4
@@ -30,5 +42,23 @@
        public function isForLists() {
                return false;
        }
+       /**
+        * Validate a parameter against the criterion.
+        * 
+        * @param Parameter $parameter
+        * @param array $parameters
+        * 
+        * @since 0.4
+        */     
+       public abstract function manipulate( Parameter &$parameter, array 
&$parameters ) {
+               if ( is_array( $parameter->value ) ) {
+                       foreach ( $parameter->value as &$item ) {
+                               $this->doManipulation( $item, $parameters );
+                       }
+               }
+               else {
+                       $this->doManipulation( $parameter->value, $parameters );
+               }       
+       }       
        
 }
\ No newline at end of file

Added: 
trunk/extensions/Validator/includes/manipulations/ParamManipualtionBoolean.php
===================================================================
--- 
trunk/extensions/Validator/includes/manipulations/ParamManipualtionBoolean.php  
                            (rev 0)
+++ 
trunk/extensions/Validator/includes/manipulations/ParamManipualtionBoolean.php  
    2010-09-25 00:04:11 UTC (rev 73696)
@@ -0,0 +1,34 @@
+<?php
+
+/**
+ * Parameter manipulation converting the value to a boolean.
+ * 
+ * @since 0.4
+ * 
+ * @file ParamManipulationBoolean.php
+ * @ingroup Validator
+ * @ingroup ParameterManipulations
+ * 
+ * @author Jeroen De Dauw
+ */
+class ParamManipulationBoolean extends ItemParameterManipulation {
+       
+       /**
+        * Constructor.
+        * 
+        * @since 0.4
+        */
+       public function __construct() {
+               parent::__construct();
+       }       
+       
+       /**
+        * @see ItemParameterManipulation::doManipulation
+        * 
+        * @since 0.4
+        */     
+       public function doManipulation( &$value, array &$parameters ) {
+               $value = in_array( $value, array( 'yes', 'on' ) );
+       }
+       
+}
\ No newline at end of file


Property changes on: 
trunk/extensions/Validator/includes/manipulations/ParamManipualtionBoolean.php
___________________________________________________________________
Added: svn:eol-style
   + native



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

Reply via email to