From 8f416baead93a48e5799e44b8bd2e2c4859f4e04 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 14 Sep 2007 13:18:58 +0200 Subject: auf Version 1.11 aktualisiert; Login-Bug behoben --- includes/api/ApiResult.php | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) (limited to 'includes/api/ApiResult.php') diff --git a/includes/api/ApiResult.php b/includes/api/ApiResult.php index 79fd34a1..a318d808 100644 --- a/includes/api/ApiResult.php +++ b/includes/api/ApiResult.php @@ -5,7 +5,7 @@ * * API for MediaWiki 1.8+ * - * Copyright (C) 2006 Yuri Astrakhan + * Copyright (C) 2006 Yuri Astrakhan @gmail.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,6 +29,20 @@ if (!defined('MEDIAWIKI')) { } /** + * This class represents the result of the API operations. + * It simply wraps a nested array() structure, adding some functions to simplify array's modifications. + * As various modules execute, they add different pieces of information to this result, + * structuring it as it will be given to the client. + * + * Each subarray may either be a dictionary - key-value pairs with unique keys, + * or lists, where the items are added using $data[] = $value notation. + * + * There are two special key values that change how XML output is generated: + * '_element' This key sets the tag name for the rest of the elements in the current array. + * It is only inserted if the formatter returned true for getNeedsRawData() + * '*' This key has special meaning only to the XML formatter, and is outputed as is + * for all others. In XML it becomes the content of the current element. + * * @addtogroup API */ class ApiResult extends ApiBase { @@ -44,6 +58,9 @@ class ApiResult extends ApiBase { $this->reset(); } + /** + * Clear the current result data. + */ public function reset() { $this->mData = array (); } @@ -56,10 +73,16 @@ class ApiResult extends ApiBase { $this->mIsRawMode = true; } + /** + * Returns true if the result is being created for the formatter that requested raw data. + */ public function getIsRawMode() { return $this->mIsRawMode; } + /** + * Get result's internal data array + */ public function & getData() { return $this->mData; } @@ -103,11 +126,6 @@ class ApiResult extends ApiBase { } } - // public static function makeContentElement($tag, $value) { - // $result = array(); - // ApiResult::setContent($result, ) - // } - // /** * In case the array contains indexed values (in addition to named), * all indexed values will have the given tag name. @@ -125,7 +143,8 @@ class ApiResult extends ApiBase { /** * Add value to the output data at the given path. * Path is an indexed array, each element specifing the branch at which to add the new value - * Setting $path to array('a','b','c') is equivalent to data['a']['b']['c'] = $value + * Setting $path to array('a','b','c') is equivalent to data['a']['b']['c'] = $value + * If $name is empty, the $value is added as a next list element data[] = $value */ public function addValue($path, $name, $value) { @@ -145,7 +164,10 @@ class ApiResult extends ApiBase { } } - ApiResult :: setElement($data, $name, $value); + if (empty($name)) + $data[] = $value; // Add list element + else + ApiResult :: setElement($data, $name, $value); // Add named element } public function execute() { @@ -153,7 +175,7 @@ class ApiResult extends ApiBase { } public function getVersion() { - return __CLASS__ . ': $Id: ApiResult.php 21402 2007-04-20 08:55:14Z nickj $'; + return __CLASS__ . ': $Id: ApiResult.php 23531 2007-06-29 01:19:14Z simetrical $'; } } -?> + -- cgit v1.2.3-54-g00ecf