Hi everyone!
I'm trying to write my notification for Echo and I'm a bit stuck coding the formatter. The standard way to write a formatter seems to override the processParam function (like in Thanks extension). There is a lot of magic in the code below, I can't figure out how the processParam function must be handled. My questions are in the comments and if someone can explain a little bit of what's possible to do inside processParam, I'd be very grateful.
class EchoThanksFormatter extends EchoBasicFormatter {
protected function processParam( $event, $param, $message, $user ) { if ( $param === 'difflink' ) { $eventData = $event->getExtra(); if ( !isset( $eventData['revid'] ) ) { $message->params( '' ); return; } $this->setTitleLink( $event, $message, array( 'class' => 'mw-echo-diff', 'linkText' => wfMessage( 'notification-thanks-diff-link' )->text(), 'param' => array( // what is the possible structure of this param array? 'oldid' => $eventData['revid'], 'diff' => 'prev', //what is that? Are diff and prev some kind of reserved words? Where can I find the whole list of these words? ) ) );
} else { parent::processParam( $event, $param, $message, $user ); } } }
Cheers,
----- Yury Katkov
wikitech-l@lists.wikimedia.org