title['message-yours'] = $params['title-message-yours']; } if ( isset( $params['content-message-yours'] ) ) { $this->content['message-yours'] = $params['content-message-yours']; } if ( isset( $params['email-subject-message-yours'] ) ) { $this->email['subject']['message-yours'] = $params['email-subject-message-yours']; } if ( isset( $params['email-body-message-yours'] ) ) { $this->email['body']['message-yours'] = $params['email-body-message-yours']; } } /** * @param $details * @param $event EchoEvent * @param $user User * @return Message */ protected function formatFragment( $details, $event, $user ) { $userTalkPage = $user->getUserPage()->getTalkPage(); $title = $event->getTitle(); if ( $title && $title->equals( $userTalkPage ) && isset( $details['message-yours'] ) ) { $details['message'] = $details['message-yours']; } return parent::formatFragment( $details, $event, $user ); } /** * @param EchoEvent $event * @param $param * @param Message $message * @param User $user */ protected function processParam( $event, $param, $message, $user ) { $extra = $event->getExtra(); if ( $param === 'subject' ) { if ( isset( $extra['section-title'] ) && $extra['section-title'] ) { $message->params( $extra['section-title'] ); } else { $message->params( '' ); } } elseif ( $param === 'commentText' ) { /** * @var $wgLang Language */ global $wgLang; // Message::language is protected :( if ( isset( $extra['content'] ) && $extra['content'] ) { $content = $extra['content']; $content = EchoDiscussionParser::stripHeader( $content ); $content = EchoDiscussionParser::stripSignature( $content ); $content = EchoDiscussionParser::stripIndents( $content ); $content = EchoDiscussionParser::getTextSnippet( $content, 200 ); $message->params( $content ); } else { $message->params( '' ); } } elseif ( $param === 'content-page' ) { if ( $event->getTitle() ) { $message->params( $event->getTitle()->getSubjectPage()->getPrefixedText() ); } else { $message->params( '' ); } } else { parent::processParam( $event, $param, $message, $user ); } } }