<?php
-/**
- *
- */
/**
* Utility class for creating new RC entries
}
# E-mail notifications
- global $wgUseEnotif;
- if( $wgUseEnotif ) {
- # this would be better as an extension hook
- global $wgUser;
- $enotif = new EmailNotification;
+ global $wgUseEnotif, $wgShowUpdatedMarker, $wgUser;
+ if( $wgUseEnotif || $wgShowUpdatedMarker ) {
+ // Users
+ if( $this->mAttribs['rc_user'] ) {
+ $editor = ($wgUser->getId() == $this->mAttribs['rc_user']) ?
+ $wgUser : User::newFromID( $this->mAttribs['rc_user'] );
+ // Anons
+ } else {
+ $editor = ($wgUser->getName() == $this->mAttribs['rc_user_text']) ?
+ $wgUser : User::newFromName( $this->mAttribs['rc_user_text'], false );
+ }
+ # FIXME: this would be better as an extension hook
+ $enotif = new EmailNotification();
$title = Title::makeTitle( $this->mAttribs['rc_namespace'], $this->mAttribs['rc_title'] );
- $enotif->notifyOnPageChange( $wgUser, $title,
+ $enotif->notifyOnPageChange( $editor, $title,
$this->mAttribs['rc_timestamp'],
$this->mAttribs['rc_comment'],
$this->mAttribs['rc_minor'],
'rc_type' => RC_EDIT,
'rc_minor' => $minor ? 1 : 0,
'rc_cur_id' => $title->getArticleID(),
- 'rc_user' => $user->getID(),
+ 'rc_user' => $user->getId(),
'rc_user_text' => $user->getName(),
'rc_comment' => $comment,
'rc_this_oldid' => $newId,
'rc_type' => RC_NEW,
'rc_minor' => $minor ? 1 : 0,
'rc_cur_id' => $title->getArticleID(),
- 'rc_user' => $user->getID(),
+ 'rc_user' => $user->getId(),
'rc_user_text' => $user->getName(),
'rc_comment' => $comment,
'rc_this_oldid' => $newId,
'rc_type' => $overRedir ? RC_MOVE_OVER_REDIRECT : RC_MOVE,
'rc_minor' => 0,
'rc_cur_id' => $oldTitle->getArticleID(),
- 'rc_user' => $user->getID(),
+ 'rc_user' => $user->getId(),
'rc_user_text' => $user->getName(),
'rc_comment' => $comment,
'rc_this_oldid' => 0,
}
# A log entry is different to an edit in that previous revisions are not kept
- public static function notifyLog( $timestamp, &$title, &$user, $comment, $ip='',
+ public static function notifyLog( $timestamp, &$title, &$user, $actionComment, $ip='',
$type, $action, $target, $logComment, $params, $newId=0 )
{
global $wgRequest;
'rc_type' => RC_LOG,
'rc_minor' => 0,
'rc_cur_id' => $target->getArticleID(),
- 'rc_user' => $user->getID(),
+ 'rc_user' => $user->getId(),
'rc_user_text' => $user->getName(),
'rc_comment' => $logComment,
'rc_this_oldid' => 0,
$rc->mExtra = array(
'prefixedDBkey' => $title->getPrefixedDBkey(),
'lastTimestamp' => 0,
- 'logType' => $type,
- 'logAction' => $action,
- 'logComment' => $logComment,
- 'logTarget' => $target,
- 'logParams' => $params
+ 'actionComment' => $actionComment, // the comment appended to the action, passed from LogPage
);
$rc->save();
}
extract($this->mAttribs);
extract($this->mExtra);
- $titleObj =& $this->getTitle();
if ( $rc_type == RC_LOG ) {
- $title = MWNamespace::getCanonicalName( $titleObj->getNamespace() ) . $titleObj->getText();
+ $titleObj = Title::newFromText( "Log/$rc_log_type", NS_SPECIAL );
} else {
- $title = $titleObj->getPrefixedText();
+ $titleObj =& $this->getTitle();
}
- $title = $this->cleanupForIRC( $title );
-
- $bad = array("\n", "\r");
- $empty = array("", "");
$title = $titleObj->getPrefixedText();
- $title = str_replace($bad, $empty, $title);
+ $title = $this->cleanupForIRC( $title );
// FIXME: *HACK* these should be getFullURL(), hacked for SSL madness --brion 2005-12-26
if ( $rc_type == RC_LOG ) {
$user = $this->cleanupForIRC( $rc_user_text );
if ( $rc_type == RC_LOG ) {
- $logTargetText = $logTarget->getPrefixedText();
- $comment = $this->cleanupForIRC( str_replace( $logTargetText, "\00302$logTargetText\00310", $rc_comment ) );
- $flag = $logAction;
+ $logTargetText = $this->getTitle()->getPrefixedText();
+ $comment = $this->cleanupForIRC( str_replace($logTargetText,"\00302$logTargetText\00310",$actionComment) );
+ $flag = $rc_log_action;
} else {
$comment = $this->cleanupForIRC( $rc_comment );
- $flag = ($rc_minor ? "M" : "") . ($rc_new ? "N" : "");
+ $flag = ($rc_new ? "N" : "") . ($rc_minor ? "M" : "") . ($rc_bot ? "B" : "");
}
# see http://www.irssi.org/documentation/formats for some colour codes. prefix is \003,
# no colour (\003) switches back to the term default