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

Revision: 72496
Author:   jeroendedauw
Date:     2010-09-06 16:03:54 +0000 (Mon, 06 Sep 2010)

Log Message:
-----------
Changes for 0.4 - Partial fix to non-functioning formatting

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

Added Paths:
-----------
    trunk/extensions/Validator/includes/criteria/CriterionTrue.php

Modified: trunk/extensions/Validator/Validator.php
===================================================================
--- trunk/extensions/Validator/Validator.php    2010-09-06 15:35:38 UTC (rev 
72495)
+++ trunk/extensions/Validator/Validator.php    2010-09-06 16:03:54 UTC (rev 
72496)
@@ -73,7 +73,8 @@
 $wgAutoloadClasses['CriterionIsNumeric']       = $incDir . 
'criteria/CriterionIsNumeric.php';
 $wgAutoloadClasses['CriterionItemCount']       = $incDir . 
'criteria/CriterionItemCount.php';
 $wgAutoloadClasses['CriterionMatchesRegex']    = $incDir . 
'criteria/CriterionMatchesRegex.php';
-$wgAutoloadClasses['CriterionNotEmpty']                = $incDir . 
'criteria/CriterionNotEmpty.php';
+$wgAutoloadClasses['CriterionNotEmpty']                = $incDir . 
'criteria/CriterionNotEmpty.php'; 
+$wgAutoloadClasses['CriterionTrue']                    = $incDir . 
'criteria/CriterionTrue.php';
 $wgAutoloadClasses['CriterionUniqueItems']     = $incDir . 
'criteria/CriterionUniqueItems.php';
 
 $wgAutoloadClasses['ValidatorListErrors']      = $incDir . 
'parserHooks/Validator_ListErrors.php';

Modified: trunk/extensions/Validator/includes/Parameter.php
===================================================================
--- trunk/extensions/Validator/includes/Parameter.php   2010-09-06 15:35:38 UTC 
(rev 72495)
+++ trunk/extensions/Validator/includes/Parameter.php   2010-09-06 16:03:54 UTC 
(rev 72496)
@@ -134,11 +134,13 @@
        /**
         * The value of the parameter. 
         * 
+        * TODO: protected
+        * 
         * @since 0.4 
         * 
         * @var mixed
         */     
-       protected $value;
+       public $value;
        
        /**
         * Keeps track of how many times the parameter has been set by the user.

Modified: trunk/extensions/Validator/includes/ParameterCriterion.php
===================================================================
--- trunk/extensions/Validator/includes/ParameterCriterion.php  2010-09-06 
15:35:38 UTC (rev 72495)
+++ trunk/extensions/Validator/includes/ParameterCriterion.php  2010-09-06 
16:03:54 UTC (rev 72496)
@@ -51,7 +51,7 @@
                        'unique_items' => 'CriterionUniqueItems',
                );
                
-               $className = $bcMap[$name];
+               $className = array_key_exists( $name, $bcMap ) ? $bcMap[$name] 
: 'CriterionTrue';
                
                switch ( $name ) {
                        case 'in_array':

Modified: trunk/extensions/Validator/includes/Validator.php
===================================================================
--- trunk/extensions/Validator/includes/Validator.php   2010-09-06 15:35:38 UTC 
(rev 72495)
+++ trunk/extensions/Validator/includes/Validator.php   2010-09-06 16:03:54 UTC 
(rev 72496)
@@ -295,42 +295,18 @@
         */
        public function formatParameters() {
                foreach ( $this->parameters as $parameter ) {
-                       foreach ( $parameter->outputTypes as $outputType ) {
-                               $this->setOutputType( $parameter->getName(), 
$outputType );
+                       foreach ( $parameter->outputTypes as $outputType => 
$arguments ) {
+                               if ( array_key_exists( $outputType, 
self::$mOutputFormats ) ) {
+                                       $parameters = array( 
&$parameter->value, $parameter->getName(), $this->parameters );
+                                       $parameters = array_merge( $parameters, 
$arguments );
+                                       call_user_func_array( 
self::$mOutputFormats[$outputType], $parameters );
+                               }
+                               else {
+                                       throw new Exception( 'There is no 
formatting function for output format ' . $outputType );
+                               }                               
                        }                       
                }
        }
-       
-       /**
-        * @deprecated TODO: remove
-        * 
-        * Calls the formatting function for the provided output format with 
these parameters:
-        * - parameter value: ByRef for easy manipulation.
-        * - parameter name: For lookups in the param info array.
-        * - parameter array: All data about the parameters gathered so far 
(this includes dependencies!).
-        * - output type info: Type info as provided by the parameter 
definition. This can be zero or more parameters.
-        * 
-        * @param string $name
-        * @param array $typeInfo
-        */
-       protected function setOutputType( $name, array $typeInfo ) {
-               // The output type is the first value in the type info array.
-               // The remaining ones will be any extra arguments.
-               $outputType = strtolower( array_shift( $typeInfo ) );
-               
-               if ( !array_key_exists( 'formatted-value', 
$this->parameters[$name] ) ) {
-                       $this->parameters[$name]['formatted-value'] = 
$this->parameters[$name]['value'];
-               }
-               
-               if ( array_key_exists( $outputType, self::$mOutputFormats ) ) {
-                       $parameters = array( 
&$this->parameters[$name]['formatted-value'], $name, $this->parameters );
-                       $parameters = array_merge( $parameters, $typeInfo );
-                       call_user_func_array( 
self::$mOutputFormats[$outputType], $parameters );
-               }
-               else {
-                       throw new Exception( 'There is no formatting function 
for output format ' . $outputType );
-               }
-       }
 
        /**
         * Returns the parameters.

Added: trunk/extensions/Validator/includes/criteria/CriterionTrue.php
===================================================================
--- trunk/extensions/Validator/includes/criteria/CriterionTrue.php              
                (rev 0)
+++ trunk/extensions/Validator/includes/criteria/CriterionTrue.php      
2010-09-06 16:03:54 UTC (rev 72496)
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * Parameter criterion that is always true.
+ * 
+ * @since 0.4
+ * 
+ * @file CriterionTrue.php
+ * @ingroup Validator
+ * @ingroup Criteria
+ * 
+ * @author Jeroen De Dauw
+ */
+class CriterionTrue extends ParameterCriterion {
+       
+       /**
+        * Constructor.
+        * 
+        * @since 0.4
+        */
+       public function __construct() {
+               parent::__construct();
+       }
+       
+       /**
+        * @see ParameterCriterion::validate
+        */     
+       public function validate( $value ) {
+               return true;
+       }
+       
+}
\ No newline at end of file


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



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

Reply via email to