class ApiImageRotate extends ApiBase {
private $mPageSet = null;
- /**
- * Add all items from $values into the result
- * @param array $result Output
- * @param array $values Values to add
- * @param string $flag The name of the boolean flag to mark this element
- * @param string $name If given, name of the value
- */
- private static function addValues( array &$result, $values, $flag = null, $name = null ) {
- foreach ( $values as $val ) {
- if ( $val instanceof Title ) {
- $v = [];
- ApiQueryBase::addTitleInfo( $v, $val );
- } elseif ( $name !== null ) {
- $v = [ $name => $val ];
- } else {
- $v = $val;
- }
- if ( $flag !== null ) {
- $v[$flag] = true;
- }
- $result[] = $v;
- }
- }
-
public function execute() {
$this->useTransactionalTimeLimit();
$result = [];
- self::addValues( $result, $pageSet->getInvalidTitlesAndReasons(), 'invalid' );
- self::addValues( $result, $pageSet->getSpecialTitles(), 'special', 'title' );
- self::addValues( $result, $pageSet->getMissingPageIDs(), 'missing', 'pageid' );
- self::addValues( $result, $pageSet->getMissingRevisionIDs(), 'missing', 'revid' );
- self::addValues( $result, $pageSet->getInterwikiTitlesAsResult() );
+ $result = $pageSet->getInvalidTitlesAndRevisions( [
+ 'invalidTitles', 'special', 'missingIds', 'missingRevIds', 'interwikiTitles',
+ ] );
foreach ( $pageSet->getTitles() as $title ) {
$r = [];
ApiQueryBase::addTitleInfo( $r, $title );
if ( !$title->exists() ) {
$r['missing'] = true;
+ if ( $title->isKnown() ) {
+ $r['known'] = true;
+ }
}
$file = wfFindFile( $title, [ 'latest' => true ] );
continue;
}
$ext = strtolower( pathinfo( "$srcPath", PATHINFO_EXTENSION ) );
- $tmpFile = TempFSFile::factory( 'rotate_', $ext );
+ $tmpFile = TempFSFile::factory( 'rotate_', $ext, wfTempDir() );
$dstPath = $tmpFile->getPath();
$err = $handler->rotate( $file, [
'srcPath' => $srcPath,