/**
* Constructor
* If $format ends with 'fm', pretty-print the output in HTML.
- * @param $main ApiMain
+ * @param ApiMain $main
* @param string $format Format name
*/
public function __construct( $main, $format ) {
return $this->mDisabled;
}
+ /**
+ * Whether this formatter can handle printing API errors. If this returns
+ * false, then on API errors the default printer will be instantiated.
+ * @since 1.23
+ * @return bool
+ */
+ public function canPrintErrors() {
+ return true;
+ }
+
/**
* Initialize the printer function and prepare the output headers, etc.
* This method must be the first outputting method during execution.
* The main format printing function. Call it to output the result
* string to the user. This function will automatically output HTML
* when format name ends in 'fm'.
- * @param $text string
+ * @param string $text
*/
public function printText( $text ) {
if ( $this->mDisabled ) {
/**
* Set the flag to buffer the result instead of printing it.
- * @param $value bool
+ * @param bool $value
*/
public function setBufferResult( $value ) {
$this->mBufferResult = $value;
/**
* Sets whether the pretty-printer should format *bold*
- * @param $help bool
+ * @param bool $help
*/
public function setHelp( $help = true ) {
$this->mHelp = $help;
/**
* Pretty-print various elements in HTML format, such as xml tags and
* URLs. This method also escapes characters like <
- * @param $text string
+ * @param string $text
* @return string
*/
protected function formatHTML( $text ) {
// identify requests to api.php
$text = preg_replace( '#^(\s*)(api\.php\?[^ <\n\t]+)$#m', '\1<a href="\2">\2</a>', $text );
if ( $this->mHelp ) {
- // make strings inside * bold
- $text = preg_replace( "#\\*[^<>\n]+\\*#", '<b>\\0</b>', $text );
+ // make lines inside * bold
+ $text = preg_replace( '#^(\s*)(\*[^<>\n]+\*)(\s*)$#m', '$1<b>$2</b>$3', $text );
}
// Armor links (bug 61362)
/**
* Call this method to initialize output data. See execute()
- * @param $result ApiResult
- * @param $feed object an instance of one of the $wgFeedClasses classes
+ * @param ApiResult $result
+ * @param object $feed An instance of one of the $wgFeedClasses classes
* @param array $feedItems of FeedItem objects
*/
public static function setResult( $result, $feed, $feedItems ) {
return true;
}
+ /**
+ * ChannelFeed doesn't give us a method to print errors in a friendly
+ * manner, so just punt errors to the default printer.
+ * @return bool
+ */
+ public function canPrintErrors() {
+ return false;
+ }
+
/**
* This class expects the result data to be in a custom format set by self::setResult()
* $result['_feed'] - an instance of one of the $wgFeedClasses classes