MediaWiki
REL1_31
ApiFormatFeedWrapper.php
Go to the documentation of this file.
1
<?php
27
class
ApiFormatFeedWrapper
extends
ApiFormatBase
{
28
29
public
function
__construct
(
ApiMain
$main ) {
30
parent::__construct( $main,
'feed'
);
31
}
32
39
public
static
function
setResult
( $result, $feed, $feedItems ) {
40
// Store output in the Result data.
41
// This way we can check during execution if any error has occurred
42
// Disable size checking for this because we can't continue
43
// cleanly; size checking would cause more problems than it'd
44
// solve
45
$result->addValue(
null
,
'_feed'
, $feed,
ApiResult::NO_VALIDATE
);
46
$result->addValue(
null
,
'_feeditems'
, $feedItems,
ApiResult::NO_VALIDATE
);
47
}
48
54
public
function
getMimeType
() {
55
return
null
;
56
}
57
63
public
function
canPrintErrors
() {
64
return
false
;
65
}
66
73
public
function
initPrinter
( $unused =
false
) {
74
parent::initPrinter( $unused );
75
76
if
( $this->
isDisabled
() ) {
77
return
;
78
}
79
80
$data = $this->
getResult
()->getResultData();
81
if
( isset( $data[
'_feed'
] ) && isset( $data[
'_feeditems'
] ) ) {
82
$data[
'_feed'
]->httpHeaders();
83
}
else
{
84
// Error has occurred, print something useful
85
ApiBase::dieDebug
( __METHOD__,
'Invalid feed class/item'
);
86
}
87
}
88
94
public
function
execute
() {
95
$data = $this->
getResult
()->getResultData();
96
if
( isset( $data[
'_feed'
] ) && isset( $data[
'_feeditems'
] ) ) {
97
$feed = $data[
'_feed'
];
98
$items = $data[
'_feeditems'
];
99
100
// execute() needs to pass strings to $this->printText, not produce output itself.
101
ob_start();
102
$feed->outHeader();
103
foreach
( $items as & $item ) {
104
$feed->outItem( $item );
105
}
106
$feed->outFooter();
107
$this->
printText
( ob_get_clean() );
108
}
else
{
109
// Error has occurred, print something useful
110
ApiBase::dieDebug
( __METHOD__,
'Invalid feed class/item'
);
111
}
112
}
113
}
ApiBase\dieDebug
static dieDebug( $method, $message)
Internal code errors should be reported with this method.
Definition
ApiBase.php:2078
ApiBase\getResult
getResult()
Get the result object.
Definition
ApiBase.php:641
ApiFormatBase
This is the abstract base class for API formatters.
Definition
ApiFormatBase.php:28
ApiFormatBase\printText
printText( $text)
Append text to the output buffer.
Definition
ApiFormatBase.php:347
ApiFormatBase\isDisabled
isDisabled()
Whether the printer is disabled.
Definition
ApiFormatBase.php:123
ApiFormatFeedWrapper
This printer is used to wrap an instance of the Feed class.
Definition
ApiFormatFeedWrapper.php:27
ApiFormatFeedWrapper\initPrinter
initPrinter( $unused=false)
This class expects the result data to be in a custom format set by self::setResult() $result['_feed']...
Definition
ApiFormatFeedWrapper.php:73
ApiFormatFeedWrapper\__construct
__construct(ApiMain $main)
Definition
ApiFormatFeedWrapper.php:29
ApiFormatFeedWrapper\getMimeType
getMimeType()
Feed does its own headers.
Definition
ApiFormatFeedWrapper.php:54
ApiFormatFeedWrapper\execute
execute()
This class expects the result data to be in a custom format set by self::setResult() $result['_feed']...
Definition
ApiFormatFeedWrapper.php:94
ApiFormatFeedWrapper\setResult
static setResult( $result, $feed, $feedItems)
Call this method to initialize output data.
Definition
ApiFormatFeedWrapper.php:39
ApiFormatFeedWrapper\canPrintErrors
canPrintErrors()
ChannelFeed doesn't give us a method to print errors in a friendly manner, so just punt errors to the...
Definition
ApiFormatFeedWrapper.php:63
ApiMain
This is the main API class, used for both external and internal processing.
Definition
ApiMain.php:43
ApiResult\NO_VALIDATE
const NO_VALIDATE
For addValue(), setValue() and similar functions, do not validate data.
Definition
ApiResult.php:64
includes
api
ApiFormatFeedWrapper.php
Generated on Mon Nov 25 2024 15:34:27 for MediaWiki by
1.10.0