/** * @param EchoEvent $event * @param $param * @param $message Message * @param $user User */ protected function processParam($event, $param, $message, $user) { if ($param === 'subject-anchor') { $message->params($this->formatSubjectAnchor($event)); } elseif ($param === 'section-title') { $message->params($this->getSectionTitle($event, $user)); } elseif ($param === 'difflink') { $revid = $event->getExtraParam('revid'); if (!$revid) { $message->params(''); return; } $diff = $event->getExtraParam('diffid', 'prev'); $props = array('attribs' => array('class' => 'mw-echo-diff'), 'linkText' => $this->getMessage('parentheses')->params($this->getMessage('showdiff')->text())->escaped(), 'param' => array('oldid' => $revid, 'diff' => $diff), 'fragment' => ''); $this->setTitleLink($event, $message, $props); } elseif ($param === 'summary') { $message->params($this->getRevisionSnippet($event, $user)); } elseif ($param === 'number') { $eventData = $event->getExtra(); // The folliwing is a bit of a hack... // If the edit is a rollback, we want to say 'your edits' in the // notification. If the edit is an undo, we want to say 'your edit' // in the notification. To accomplish this, we pass a 'number' param // to the message which is set to 1 or 2 and formatted with {{PLURAL}}. if (isset($eventData['method']) && $eventData['method'] === 'rollback') { $message->params(2); } else { $message->params(1); } } else { parent::processParam($event, $param, $message, $user); } }
/** * @param $event EchoEvent * @param $param * @param $message Message * @param $user User */ 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-thumbs-up-diff-link')->text(), 'param' => array('oldid' => $eventData['revid'], 'diff' => 'prev'))); } else { parent::processParam($event, $param, $message, $user); } }
protected function processParam($event, $param, $message, $user) { if ($param === 'instance') { $extra = $event->getExtra(); // PHP 5.3 compatability... $instance = $extra['instanceName']; if ($instance) { $message->params($instance); } else { $message->params(''); } } else { parent::processParam($event, $param, $message, $user); } }
/** * * @param EchoEvent $event * @param type $param * @param Message $message * @param User $user */ protected function processParam($event, $param, $message, $user) { if ($param === 'summary') { $aEventData = $event->getExtra(); $message->params($aEventData['summary']); } else { if ($param === 'titlelink') { $this->setTitleLink($event, $message, array('class' => 'mw-echo-title')); } else { if ($param === 'difflink') { $aEvent = $event->getExtra(); $diffparams = isset($aEvent['difflink']) ? $aEvent['difflink']['diffparams'] : ''; $this->setDiffLink($event, $message, array('class' => 'mw-echo-diff', 'param' => $diffparams)); } else { if ($param === 'agentlink') { if ($event->getAgent()->isAnon()) { $message->params("'''" . wfMessage('bs-echo-anon-user') . "'''")->parse(); } else { $this->setUserpageLink($event, $message, array('class' => 'mw-echo-userpage')); } } else { if ($param === 'userlink') { $this->setUserpageLink($event, $message, array('class' => 'mw-echo-userpage', 'created' => true)); } else { if ($param === 'newtitle') { $aExtra = $event->getExtra(); $oNewTitle = $aExtra['newtitle']; $message->params($oNewTitle->getPrefixedText()); } else { if ($param === 'newtitlelink') { $aExtra = $event->getExtra(); $oNewTitle = $aExtra['newtitle']; $this->buildLink($oNewTitle, $message, array('class' => 'mw-echo-title')); } else { if ($param === 'deletereason') { $aExtra = $event->getExtra(); $message->params($aExtra['deletereason']); } else { if ($param === 'shoutmsg') { $aExtra = $event->getExtra(); $sMessage = $aExtra['shoutmsg']; $message->params($sMessage); } else { if ($param === 'username') { $aExtra = $event->getExtra(); $sMessage = $aExtra['username']; $message->params($sMessage); } else { if ($param === 'realname') { $aExtra = $event->getExtra(); $sMessage = $aExtra['realname']; $message->params($sMessage); } else { parent::processParam($event, $param, $message, $user); } } } } } } } } } } } }
/** * @param $event EchoEvent * @param $param string * @param $message Message * @param $user User */ protected function processParam($event, $param, $message, $user) { $extra = self::extractExtra($event->getExtra()); switch ($param) { // 'A' part in this message: link from page A and X others case 'link-from-page': $title = null; if ($this->isTitleSet($extra)) { $title = Title::newFromId($extra['link-from-page-id']); // Link-from page could be a brand new page and page_id would not be replicated // to slave db yet. If job queue is enabled to process web and email notification, // the check against master database is not necessary since there is already a // delay in the job queue if (!$title) { global $wgEchoUseJobQueue; $diff = wfTimestamp() - wfTimestamp(TS_UNIX, $event->getTimestamp()); if (!$wgEchoUseJobQueue && $diff < 5) { $title = Title::newFromID($extra['link-from-page-id'], Title::GAID_FOR_UPDATE); } } if ($title) { if ($this->outputFormat === 'htmlemail') { $message->rawParams(Linker::link($title, $this->formatTitle($title), array('style' => $this->getHTMLLinkStyle()), array(), array('https'))); } else { $message->params($this->formatTitle($title)); } } } if (!$title) { $message->params($this->getMessage('echo-no-title')); } break; // example: {7} other page, {99+} other pages // example: {7} other page, {99+} other pages case 'link-from-page-other-display': global $wgEchoMaxNotificationCount; if ($this->bundleData['link-from-page-other-count'] > $wgEchoMaxNotificationCount) { $message->params($this->getMessage('echo-notification-count')->numParams($wgEchoMaxNotificationCount)->text()); } else { $message->numParams($this->bundleData['link-from-page-other-count']); } break; // the number used for plural support // the number used for plural support case 'link-from-page-other-count': $message->params($this->bundleData['link-from-page-other-count']); break; default: parent::processParam($event, $param, $message, $user); break; } }