http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73380
Revision: 73380
Author: jeroendedauw
Date: 2010-09-20 14:34:39 +0000 (Mon, 20 Sep 2010)
Log Message:
-----------
Changes for 0.4 - added parameter type based criteria and made a small
improvement to the inArray criteria constructor
Modified Paths:
--------------
trunk/extensions/Validator/includes/Parameter.php
trunk/extensions/Validator/includes/criteria/CriterionInArray.php
Modified: trunk/extensions/Validator/includes/Parameter.php
===================================================================
--- trunk/extensions/Validator/includes/Parameter.php 2010-09-20 14:33:46 UTC
(rev 73379)
+++ trunk/extensions/Validator/includes/Parameter.php 2010-09-20 14:34:39 UTC
(rev 73380)
@@ -535,30 +535,27 @@
protected function getCriteriaForType() {
$criteria = array();
- /* TODO
switch( $this->type ) {
- case TYPE_INTEGER:
- $criteria[] = 'is_integer';
+ case self::TYPE_INTEGER:
+ $criteria[] = new CriterionIsInteger();
break;
- case TYPE_FLOAT:
- $criteria[] = 'is_float';
+ case self::TYPE_FLOAT:
+ $criteria[] = new CriterionIsFloat();
break;
- case TYPE_NUMBER: // Note: This accepts non-decimal
notations!
- $criteria[] = 'is_numeric';
+ case self::TYPE_FLOAT: // Note: This accepts
non-decimal notations!
+ $criteria[] = new CriterionIsNumeric();
break;
- case TYPE_BOOLEAN:
- // TODO: work with list of true and false
values.
- // TODO: i18n
- $criteria[] = array( 'in_array' => array(
'yes', 'no', 'on', 'off' ) );
+ case self::TYPE_BOOLEAN:
+ // TODO: work with list of true and false
values and i18n.
+ $criteria[] = new CriterionInArray( 'yes',
'no', 'on', 'off' );
break;
- case TYPE_CHAR:
- $criteria[] = array( 'has_length' => array( 1,
1 ) );
+ case self::TYPE_CHAR:
+ $criteria[] = new CriterionHasLength( 1, 1 );
break;
- case TYPE_STRING: default:
+ case self::TYPE_STRING: default:
// No extra criteria for strings.
break;
}
- */
return $criteria;
}
@@ -571,7 +568,6 @@
* @return array
*/
public function getListCriteria() {
- // TODO
return array();
}
Modified: trunk/extensions/Validator/includes/criteria/CriterionInArray.php
===================================================================
--- trunk/extensions/Validator/includes/criteria/CriterionInArray.php
2010-09-20 14:33:46 UTC (rev 73379)
+++ trunk/extensions/Validator/includes/criteria/CriterionInArray.php
2010-09-20 14:34:39 UTC (rev 73380)
@@ -29,10 +29,20 @@
*
* @since 0.4
*/
- public function __construct( $allowedValues ) {
+ public function __construct() {
parent::__construct();
- $this->allowedValues = (array)$allowedValues;
+ $args = func_get_args();
+
+ if ( count( $args ) > 1 ) {
+ $this->allowedValues = $args;
+ }
+ elseif ( count( $args ) == 1 ) {
+ $this->allowedValues = (array)$args[0];
+ }
+ else {
+ $this->allowedValues = array();
+ }
}
/**
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs