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