mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-11-14 11:16:16 +00:00
0b1275b9e3
http://www.mediawiki.org/wiki/Echo_%28Notifications%29/Feature_requirements#Improved_Notification_Structure Change-Id: I2da35e8ed092c42ac95ae34012426834a37c3cde
45 lines
1.6 KiB
PHP
45 lines
1.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Custom formatter for 'edit-user-talk' notifications
|
|
*/
|
|
class EchoEditUserTalkFormatter extends EchoEditFormatter {
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
protected function applyChangeBeforeFormatting( EchoEvent $event, User $user, $type ) {
|
|
parent::applyChangeBeforeFormatting( $event, $user, $type );
|
|
|
|
$extra = $event->getExtra();
|
|
|
|
// Replace default generic notification message with 'Someone left a message
|
|
// on your talk page in "xxxx"' if
|
|
// * the message is not bundled and
|
|
// * there is a section title
|
|
//
|
|
// We could go with the approach of creating a new notification type, but
|
|
// * this is variant is too small to introduce a new type
|
|
// * may not fall back to default for talk page post with oversighted content
|
|
// * message bundling is supposed to bundle the same notfication type, creating
|
|
// a new type will not be able to bundle them together
|
|
if ( !$this->bundleData['use-bundle'] && $this->getSectionTitle( $event, $user ) ) {
|
|
$this->title = array(
|
|
'message' => 'notification-edit-talk-page-with-section',
|
|
'params' => array( 'agent', 'user', 'subject-anchor', 'section-title' )
|
|
);
|
|
$this->flyoutTitle = array(
|
|
'message' => 'notification-edit-talk-page-flyout-with-section',
|
|
'params' => array( 'agent', 'user', 'subject-anchor', 'section-title' )
|
|
);
|
|
$this->email['batch-body'] = array(
|
|
'message' => 'notification-edit-talk-page-email-batch-body-with-section',
|
|
'params' => array( 'agent', 'section-title' )
|
|
);
|
|
// Display the summary if there is a section title
|
|
$this->payload = array( 'summary' );
|
|
}
|
|
}
|
|
|
|
}
|