mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-11-12 09:26:05 +00:00
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' );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|