*/
public function __construct( $maxSize ) {
if ( $maxSize instanceof ApiMain ) {
- /// @todo: After fixing Wikidata unit tests, warn
- //wfDeprecated( 'Passing ApiMain to ' . __METHOD__ . ' is deprecated', '1.25' );
+ wfDeprecated( 'ApiMain to ' . __METHOD__, '1.25' );
$this->errorFormatter = $maxSize->getErrorFormatter();
$this->mainForContinuation = $maxSize;
$maxSize = $maxSize->getConfig()->get( 'APIMaxResultSize' );
* Clear the current result data.
*/
public function reset() {
- $this->data = array();
+ $this->data = array(
+ self::META_TYPE => 'assoc', // Usually what's desired
+ );
$this->size = 0;
}
*
* BC: (array) This transformation does various adjustments to bring the
* output in line with the pre-1.25 result format. The value array is a
- * list of flags: 'nobools', 'no*', 'nosub'.
+ * list of flags: 'nobool', 'no*', 'nosub'.
* - Boolean-valued items are changed to '' if true or removed if false,
* unless listed in META_BC_BOOLS. This may be skipped by including
- * 'nobools' in the value array.
+ * 'nobool' in the value array.
* - The tag named by META_CONTENT is renamed to '*', and META_CONTENT is
* set to '*'. This may be skipped by including 'no*' in the value
* array.
* @param int $flags Zero or more OR-ed flags like OVERRIDE | ADD_ON_TOP.
*/
public static function setValue( array &$arr, $name, $value, $flags = 0 ) {
+ if ( !( $flags & ApiResult::NO_VALIDATE ) ) {
+ $value = self::validateValue( $value );
+ }
+
if ( $name === null ) {
if ( $flags & ApiResult::ADD_ON_TOP ) {
array_unshift( $arr, $value );
return;
}
- if ( !( $flags & ApiResult::NO_VALIDATE ) ) {
- $value = self::validateValue( $value );
- }
-
$exists = isset( $arr[$name] );
if ( !$exists || ( $flags & ApiResult::OVERRIDE ) ) {
if ( !$exists && ( $flags & ApiResult::ADD_ON_TOP ) ) {
* @return array
*/
public function getData() {
- /// @todo: Warn after fixing remaining callers: Wikibase, Gather
+ wfDeprecated( __METHOD__, '1.25' );
return $this->getResultData( null, array(
'BC' => array(),
'Types' => array(),
* new method signature.
*/
public static function setElement( &$arr, $name, $value, $flags = 0 ) {
- /// @todo: Warn after fixing remaining callers: Wikibase
+ wfDeprecated( __METHOD__, '1.25' );
return self::setValue( $arr, $name, $value, $flags );
}
* format "<elem>text</elem>" without attributes.
*/
public static function setContent( &$arr, $value, $subElemName = null ) {
- /// @todo: Warn after fixing remaining callers: Wikibase
+ wfDeprecated( __METHOD__, '1.25' );
if ( is_array( $value ) ) {
throw new InvalidArgumentException( __METHOD__ . ': Bad parameter' );
}
* @param string $tag Tag name
*/
public function setIndexedTagName_recursive( &$arr, $tag ) {
- /// @todo: Warn after fixing remaining callers: Wikibase
+ wfDeprecated( __METHOD__, '1.25' );
if ( !is_array( $arr ) ) {
return;
}
- self::setIndexedTagNameOnSubarrays( $arr, $tag );
- }
-
- /**
- * Set indexed tag name on all subarrays of $arr
- *
- * Does not set the tag name for $arr itself.
- *
- * @since 1.25
- * @deprecated For backwards compatibility, do not use
- * @todo: Remove after updating callers to use self::setIndexedTagNameRecursive
- * @param array &$arr
- * @param string $tag Tag name
- */
- public static function setIndexedTagNameOnSubarrays( array &$arr, $tag ) {
if ( !is_string( $tag ) ) {
throw new InvalidArgumentException( 'Bad tag name' );
}
foreach ( $arr as $k => &$v ) {
if ( !self::isMetadataKey( $k ) && is_array( $v ) ) {
$v[self::META_INDEXED_TAG_NAME] = $tag;
- self::setIndexedTagNameOnSubarrays( $v, $tag );
+ $this->setIndexedTagName_recursive( $v, $tag );
}
}
}
/**
- * Alias for self::defineIndexedTagName()
+ * Alias for self::addIndexedTagName()
* @deprecated since 1.25, use $this->addIndexedTagName() instead
* @param array $path Path to the array, like addValue()'s $path
* @param string $tag
*/
public function setIndexedTagName_internal( $path, $tag ) {
- /// @todo: Warn after fixing remaining callers: Wikibase, Gather
+ wfDeprecated( __METHOD__, '1.25' );
$this->addIndexedTagName( $path, $tag );
}
public function beginContinuation(
$continue, array $allModules = array(), array $generatedModules = array()
) {
- /// @todo: Warn after fixing remaining callers: Gather
+ wfDeprecated( __METHOD__, '1.25' );
if ( $this->mainForContinuation->getContinuationManager() ) {
throw new UnexpectedValueException(
__METHOD__ . ': Continuation already in progress from ' .
* the style used in 1.20 and earlier.
*/
public function endContinuation( $style = 'standard' ) {
- /// @todo: Warn after fixing remaining callers: Gather
+ wfDeprecated( __METHOD__, '1.25' );
if ( !$this->mainForContinuation->getContinuationManager() ) {
return;
}
* @return array
*/
public function convertStatusToArray( $status, $errorType = 'error' ) {
- /// @todo: Warn after fixing remaining callers: CentralAuth
+ wfDeprecated( __METHOD__, '1.25' );
return $this->errorFormatter->arrayFromStatus( $status, $errorType );
}
- /**
- * Alias for self::addIndexedTagName
- *
- * A bunch of extensions were updated for an earlier version of this
- * extension which used this name.
- * @deprecated For backwards compatibility, do not use
- * @todo: Remove after updating callers to use self::addIndexedTagName
- */
- public function defineIndexedTagName( $path, $tag ) {
- return $this->addIndexedTagName( $path, $tag );
- }
-
- /**
- * Alias for self::stripMetadata
- *
- * A bunch of extensions were updated for an earlier version of this
- * extension which used this name.
- * @deprecated For backwards compatibility, do not use
- * @todo: Remove after updating callers to use self::stripMetadata
- */
- public static function removeMetadata( $data ) {
- return self::stripMetadata( $data );
- }
-
- /**
- * Alias for self::stripMetadataNonRecursive
- *
- * A bunch of extensions were updated for an earlier version of this
- * extension which used this name.
- * @deprecated For backwards compatibility, do not use
- * @todo: Remove after updating callers to use self::stripMetadataNonRecursive
- */
- public static function removeMetadataNonRecursive( $data, &$metadata = null ) {
- self::stripMetadataNonRecursive( $data, $metadata );
- }
-
- /**
- * @deprecated For backwards compatibility, do not use
- * @todo: Remove after updating callers
- */
- public static function transformForBC( array $data ) {
- return self::applyTransformations( $data, array(
- 'BC' => array(),
- ) );
- }
-
- /**
- * @deprecated For backwards compatibility, do not use
- * @todo: Remove after updating callers
- */
- public static function transformForTypes( $data, $options = array() ) {
- $transforms = array(
- 'Types' => array(),
- );
- if ( isset( $options['assocAsObject'] ) ) {
- $transforms['Types']['AssocAsObject'] = $options['assocAsObject'];
- }
- if ( isset( $options['armorKVP'] ) ) {
- $transforms['Types']['ArmorKVP'] = $options['armorKVP'];
- }
- if ( !empty( $options['BC'] ) ) {
- $transforms['BC'] = array( 'nobool', 'no*', 'nosub' );
- }
- return self::applyTransformations( $data, $transforms );
- }
-
/**@}*/
}