* rc_patrolled boolean whether or not someone has marked this edit as patrolled
* rc_old_len integer byte length of the text before the edit
* rc_new_len the same after the edit
+ * rc_deleted partial deletion
+ * rc_logid the log_id value for this log entry (or zero)
+ * rc_log_type the log type (or null)
+ * rc_log_action the log action (or null)
+ * rc_params log params
*
* mExtra:
* prefixedDBkey prefixed db key, used by external app via msg queue
$rc->numberofWatchingusers = false;
return $rc;
}
-
+
/**
* Obtain the recent change with a given rc_id value
*
return NULL;
}
}
-
+
/**
* Find the first recent change matching some specific conditions
*
* Mark a given change as patrolled
*
* @param mixed $change RecentChange or corresponding rc_id
+ * @returns integer number of affected rows
*/
public static function markPatrolled( $change ) {
$rcid = $change instanceof RecentChange
),
__METHOD__
);
+ return $dbw->affectedRows();
}
# Makes an entry in the database corresponding to an edit
$oldId, $lastTimestamp, $bot, $ip = '', $oldSize = 0, $newSize = 0,
$newId = 0)
{
-
- global $wgRequest;
-
if ( !$ip ) {
$ip = wfGetIP();
if ( !$ip ) {
'rc_patrolled' => 0,
'rc_new' => 0, # obsolete
'rc_old_len' => $oldSize,
- 'rc_new_len' => $newSize
+ 'rc_new_len' => $newSize,
+ 'rc_deleted' => 0,
+ 'rc_logid' => 0,
+ 'rc_log_type' => null,
+ 'rc_log_action' => '',
+ 'rc_params' => ''
);
$rc->mExtra = array(
'rc_moved_to_title' => '',
'rc_ip' => $ip,
'rc_patrolled' => 0,
- 'rc_new' => 1, # obsolete
+ 'rc_new' => 1, # obsolete
'rc_old_len' => 0,
- 'rc_new_len' => $size
+ 'rc_new_len' => $size,
+ 'rc_deleted' => 0,
+ 'rc_logid' => 0,
+ 'rc_log_type' => null,
+ 'rc_log_action' => '',
+ 'rc_params' => ''
);
$rc->mExtra = array(
'rc_patrolled' => 1,
'rc_old_len' => NULL,
'rc_new_len' => NULL,
+ 'rc_deleted' => 0,
+ 'rc_logid' => 0, # notifyMove not used anymore
+ 'rc_log_type' => null,
+ 'rc_log_action' => '',
+ 'rc_params' => ''
);
$rc->mExtra = array(
RecentChange::notifyMove( $timestamp, $oldTitle, $newTitle, $user, $comment, $ip, true );
}
- # A log entry is different to an edit in that previous revisions are
- # not kept
- public static function notifyLog( $timestamp, &$title, &$user, $comment, $ip='',
- $type, $action, $target, $logComment, $params )
+ # A log entry is different to an edit in that previous revisions are not kept
+ public static function notifyLog( $timestamp, &$title, &$user, $actionComment, $ip='',
+ $type, $action, $target, $logComment, $params, $newId=0 )
{
global $wgRequest;
$rc->mAttribs = array(
'rc_timestamp' => $timestamp,
'rc_cur_time' => $timestamp,
- 'rc_namespace' => $title->getNamespace(),
- 'rc_title' => $title->getDBkey(),
+ 'rc_namespace' => $target->getNamespace(),
+ 'rc_title' => $target->getDBkey(),
'rc_type' => RC_LOG,
'rc_minor' => 0,
- 'rc_cur_id' => $title->getArticleID(),
+ 'rc_cur_id' => $target->getArticleID(),
'rc_user' => $user->getID(),
'rc_user_text' => $user->getName(),
- 'rc_comment' => $comment,
+ 'rc_comment' => $logComment,
'rc_this_oldid' => 0,
'rc_last_oldid' => 0,
'rc_bot' => $user->isAllowed( 'bot' ) ? $wgRequest->getBool( 'bot' , true ) : 0,
'rc_new' => 0, # obsolete
'rc_old_len' => NULL,
'rc_new_len' => NULL,
+ 'rc_deleted' => 0,
+ 'rc_logid' => $newId,
+ 'rc_log_type' => $type,
+ 'rc_log_action' => $action,
+ 'rc_params' => $params
);
$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();
}
'rc_new' => $row->page_is_new, # obsolete
'rc_old_len' => $row->rc_old_len,
'rc_new_len' => $row->rc_new_len,
+ 'rc_params' => isset($row->rc_params) ? $row->rc_params : '',
+ 'rc_log_type' => isset($row->rc_log_type) ? $row->rc_log_type : null,
+ 'rc_log_action' => isset($row->rc_log_action) ? $row->rc_log_action : null,
+ 'rc_log_id' => isset($row->rc_log_id) ? $row->rc_log_id: 0,
+ // this one REALLY should be set...
+ 'rc_deleted' => isset($row->rc_deleted) ? $row->rc_deleted: 0,
);
$this->mExtra = array();
$titleObj =& $this->getTitle();
if ( $rc_type == RC_LOG ) {
- $title = Namespace::getCanonicalName( $titleObj->getNamespace() ) . $titleObj->getText();
+ $title = MWNamespace::getCanonicalName( NS_SPECIAL ) . "Log/$rc_log_type";
} else {
$title = $titleObj->getPrefixedText();
}
$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;
+ $comment = $this->cleanupForIRC( str_replace( $title, "\00302$title\00310", $actionComment ) );
+ $flag = $rc_log_action;
} else {
$comment = $this->cleanupForIRC( $rc_comment );
$flag = ($rc_minor ? "M" : "") . ($rc_new ? "N" : "");
}
}
}
-
-