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

Revision: 73699
Author:   jeroendedauw
Date:     2010-09-25 01:42:05 +0000 (Sat, 25 Sep 2010)

Log Message:
-----------
Follow up to r73697

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

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

Modified: trunk/extensions/Validator/Validator.php
===================================================================
--- trunk/extensions/Validator/Validator.php    2010-09-25 01:40:56 UTC (rev 
73698)
+++ trunk/extensions/Validator/Validator.php    2010-09-25 01:42:05 UTC (rev 
73699)
@@ -82,6 +82,8 @@
 
 $wgAutoloadClasses['ParamManipulationBoolean'] = $incDir . 
'manipulations/ParamManipulationBoolean.php';
 $wgAutoloadClasses['ParamManipulationBoolstr'] = $incDir . 
'manipulations/ParamManipulationBoolstr.php';
+$wgAutoloadClasses['ParamManipulationFloat']   = $incDir . 
'manipulations/ParamManipulationFloat.php';
+$wgAutoloadClasses['ParamManipulationInteger'] = $incDir . 
'manipulations/ParamManipulationInteger.php';
 
 $wgAutoloadClasses['ValidatorListErrors']              = $incDir . 
'parserHooks/Validator_ListErrors.php';
 unset( $incDir );

Modified: trunk/extensions/Validator/includes/Parameter.php
===================================================================
--- trunk/extensions/Validator/includes/Parameter.php   2010-09-25 01:40:56 UTC 
(rev 73698)
+++ trunk/extensions/Validator/includes/Parameter.php   2010-09-25 01:42:05 UTC 
(rev 73699)
@@ -618,23 +618,17 @@
                
                switch( $this->type ) {
                        case self::TYPE_INTEGER:
-                               //$manipulations[] = new ();
+                               $manipulations[] = new 
ParamManipulationInteger();
                                break;
-                       case self::TYPE_FLOAT:
-                               //$manipulations[] = new ();
+                       case self::TYPE_FLOAT: case self::TYPE_NUMBER: 
+                               $manipulations[] = new ParamManipulationFloat();
                                break;
-                       case self::TYPE_NUMBER: 
-                               //$manipulations[] = new ();
-                               break;
                        case self::TYPE_BOOLEAN:
                                $manipulations[] = new 
ParamManipulationBoolean();
                                break;
-                       case self::TYPE_CHAR:
-                               //$manipulations[] = new ();
+                       case self::TYPE_CHAR: case self::TYPE_STRING: default:
+                               // No extra manipulations for these types
                                break;
-                       case self::TYPE_STRING: default:
-                               // No extra criteria for strings.
-                               break;
                }               
                
                return $manipulations;

Modified: trunk/extensions/Validator/includes/Validator.php
===================================================================
--- trunk/extensions/Validator/includes/Validator.php   2010-09-25 01:40:56 UTC 
(rev 73698)
+++ trunk/extensions/Validator/includes/Validator.php   2010-09-25 01:42:05 UTC 
(rev 73699)
@@ -11,9 +11,6 @@
  * @author Jeroen De Dauw
  *
  * TODO: break on fatal errors, such as missing required parameters that are 
dependencies 
- * TODO: correct invalid parameters in the main loop, as to have correct 
dependency handling
- * TODO: settings of defaults should happen as a default behaviour that can be 
overiden by the output format,
- *              as it is not wished for all output formats in every case, and 
now a hacky approach is required there.
  */
 class Validator {
        

Added: 
trunk/extensions/Validator/includes/manipulations/ParamManipulationFloat.php
===================================================================
--- 
trunk/extensions/Validator/includes/manipulations/ParamManipulationFloat.php    
                            (rev 0)
+++ 
trunk/extensions/Validator/includes/manipulations/ParamManipulationFloat.php    
    2010-09-25 01:42:05 UTC (rev 73699)
@@ -0,0 +1,34 @@
+<?php
+
+/**
+ * Parameter manipulation converting the value to a float.
+ * 
+ * @since 0.4
+ * 
+ * @file ParamManipulationFloat.php
+ * @ingroup Validator
+ * @ingroup ParameterManipulations
+ * 
+ * @author Jeroen De Dauw
+ */
+class ParamManipulationFloat extends ItemParameterManipulation {
+       
+       /**
+        * Constructor.
+        * 
+        * @since 0.4
+        */
+       public function __construct() {
+               parent::__construct();
+       }       
+       
+       /**
+        * @see ItemParameterManipulation::doManipulation
+        * 
+        * @since 0.4
+        */     
+       public function doManipulation( &$value, array &$parameters ) {
+               $value = (float)$value;
+       }
+       
+}
\ No newline at end of file


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

Added: 
trunk/extensions/Validator/includes/manipulations/ParamManipulationInteger.php
===================================================================
--- 
trunk/extensions/Validator/includes/manipulations/ParamManipulationInteger.php  
                            (rev 0)
+++ 
trunk/extensions/Validator/includes/manipulations/ParamManipulationInteger.php  
    2010-09-25 01:42:05 UTC (rev 73699)
@@ -0,0 +1,34 @@
+<?php
+
+/**
+ * Parameter manipulation converting the value to a integer.
+ * 
+ * @since 0.4
+ * 
+ * @file ParamManipulationInteger.php
+ * @ingroup Validator
+ * @ingroup ParameterManipulations
+ * 
+ * @author Jeroen De Dauw
+ */
+class ParamManipulationInteger extends ItemParameterManipulation {
+       
+       /**
+        * Constructor.
+        * 
+        * @since 0.4
+        */
+       public function __construct() {
+               parent::__construct();
+       }       
+       
+       /**
+        * @see ItemParameterManipulation::doManipulation
+        * 
+        * @since 0.4
+        */     
+       public function doManipulation( &$value, array &$parameters ) {
+               $value = (int)$value;
+       }
+       
+}
\ No newline at end of file


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



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

Reply via email to