PARAM_TYPE 'user' now works for multi-values
authorX! <soxred93@users.mediawiki.org>
Wed, 24 Feb 2010 17:04:21 +0000 (17:04 +0000)
committerX! <soxred93@users.mediawiki.org>
Wed, 24 Feb 2010 17:04:21 +0000 (17:04 +0000)
includes/api/ApiBase.php

index 25b5690..3905995 100644 (file)
@@ -645,11 +645,18 @@ abstract class ApiBase {
                                                $value = wfTimestamp( TS_MW, $value );
                                                break;
                                        case 'user':
-                                               $title = Title::makeTitleSafe( NS_USER, $value );
-                                               if ( is_null( $title ) ) {
-                                                       $this->dieUsage( "Invalid value for user parameter $encParamName", "baduser_{$encParamName}" );
+                                               if( !is_array( $value ) ) $value = array( $value );
+                                               
+                                               foreach( $value as $val ) {
+                                                       $title = Title::makeTitleSafe( NS_USER, $value );
+                                                       if ( is_null( $title ) ) {
+                                                               $this->dieUsage( "Invalid value for user parameter $encParamName", "baduser_{$encParamName}" );
+                                                       }
+                                                       $value = $title->getText();
                                                }
-                                               $value = $title->getText();
+                                               
+                                               if( !$multi ) $value = $value[0];
+                                               
                                                break;
                                        default:
                                                ApiBase::dieDebug( __METHOD__, "Param $encParamName's type is unknown - $type" );