<?php
/**
- *
- *
- * Created on Feb 2, 2009
- *
* Copyright © 2009 Roan Kattouw "<Firstname>.<Lastname>@gmail.com"
*
* This program is free software; you can redistribute it and/or modify
*/
public function __construct( ApiMain $main, ApiFormatBase $errorFallback = null ) {
parent::__construct( $main, 'raw' );
- if ( $errorFallback === null ) {
- $this->errorFallback = $main->createPrinterByName( $main->getParameter( 'format' ) );
- } else {
- $this->errorFallback = $errorFallback;
- }
+ $this->errorFallback = $errorFallback ?:
+ $main->createPrinterByName( $main->getParameter( 'format' ) );
}
public function getMimeType() {
return $data['mime'];
}
+ public function getFilename() {
+ $data = $this->getResult()->getResultData();
+ if ( isset( $data['error'] ) ) {
+ return $this->errorFallback->getFilename();
+ } elseif ( !isset( $data['filename'] ) || $this->getIsWrappedHtml() || $this->getIsHtml() ) {
+ return parent::getFilename();
+ } else {
+ return $data['filename'];
+ }
+ }
+
public function initPrinter( $unused = false ) {
$data = $this->getResult()->getResultData();
if ( isset( $data['error'] ) || isset( $data['errors'] ) ) {