const DELETED_ACTION = 1;
const DELETED_COMMENT = 2;
const DELETED_USER = 4;
- const DELETED_RESTRICTED = 8;
+ const DELETED_RESTRICTED = 8;
+ // Convenience fields
+ const SUPPRESSED_USER = 12;
+ const SUPPRESSED_ACTION = 9;
/* @access private */
var $type, $action, $comment, $params, $target, $doer;
/* @acess public */
global $wgLogRestrictions;
$dbw = wfGetDB( DB_MASTER );
- $log_id = $dbw->nextSequenceValue( 'log_log_id_seq' );
+ $log_id = $dbw->nextSequenceValue( 'logging_log_id_seq' );
$this->timestamp = $now = wfTimestampNow();
$data = array(
'log_user_text' => $this->doer->getName(),
'log_namespace' => $this->target->getNamespace(),
'log_title' => $this->target->getDBkey(),
+ 'log_page' => $this->target->getArticleId(),
'log_comment' => $this->comment,
'log_params' => $this->params
);
*/
public function getRcComment() {
$rcComment = $this->actionText;
- if( '' != $this->comment ) {
+ if( $this->comment != '' ) {
if ($rcComment == '')
$rcComment = $this->comment;
else
/**
* @static
+ * @param string $type logtype
*/
public static function logName( $type ) {
global $wgLogNames, $wgMessageCache;
* @static
* @return HTML string
*/
- public static function actionText( $type, $action, $title = NULL, $skin = NULL,
+ public static function actionText( $type, $action, $title = null, $skin = null,
$params = array(), $filterWikilinks = false )
{
global $wgLang, $wgContLang, $wgLogActions, $wgMessageCache;
self::formatBlockFlags( $params[2], is_null( $skin ) ) : '';
// Page protections
} else if ( $type == 'protect' && count($params) == 3 ) {
+ // Restrictions and expiries
+ if( $skin ) {
+ $details .= htmlspecialchars( " {$params[1]}" );
+ } else {
+ $details .= " {$params[1]}";
+ }
+ // Cascading flag...
if( $params[2] ) {
if ( $skin ) {
- $details .= htmlspecialchars( " {$params[1]}" ); // restrictions and expiries
$details .= ' ['.wfMsg('protect-summary-cascade').']';
} else {
- $details .= " {$params[1]}";
$details .= ' ['.wfMsgForContent('protect-summary-cascade').']';
}
}
$details .= ': '.RevisionDeleter::getLogMessage( $count, $nfield, $ofield, true );
}
if ( $skin ) {
- $rv = htmlspecialchars( wfMsg( $wgLogActions[$key], $params ) ) . $details;
+ $rv = wfMsgHtml( $wgLogActions[$key], $params ) . $details;
} else {
$rv = wfMsgExt( $wgLogActions[$key], array( 'parsemag', 'escape', 'replaceafter', 'content' ), $params ) . $details;
}
}
protected static function getTitleLink( $type, $skin, $title, &$params ) {
- global $wgLang, $wgContLang;
+ global $wgLang, $wgContLang, $wgUserrightsInterwikiDelimiter;
if( !$skin ) {
return $title->getPrefixedText();
}
break;
case 'rights':
$text = $wgContLang->ucfirst( $title->getText() );
+ $parts = explode( $wgUserrightsInterwikiDelimiter, $text, 2 );
+ if ( count( $parts ) == 2 ) {
+ $titleLink = WikiMap::foreignUserLink( $parts[1], $parts[0],
+ htmlspecialchars( $title->getPrefixedText() ) );
+ if ( $titleLink !== false )
+ break;
+ }
$titleLink = $skin->link( Title::makeTitle( NS_USER, $text ) );
break;
case 'merge':
$this->doer = $doer;
- $this->actionText = LogPage::actionText( $this->type, $action, $target, NULL, $params );
+ $this->actionText = LogPage::actionText( $this->type, $action, $target, null, $params );
return $this->saveContent();
}