X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FLogPage.php;h=b79ff10b5707f4db1d6734205032cbfe3ac495c2;hb=b512a8a1974d8317ab848a261ec18510ff1fac26;hp=8cd9dea14feed5197c0b92cdb0ff57e8f5ca3b94;hpb=a989843cd0e1612814d6a1c051a4dec6c0e5722c;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/LogPage.php b/includes/LogPage.php index 8cd9dea14f..b79ff10b57 100644 --- a/includes/LogPage.php +++ b/includes/LogPage.php @@ -104,7 +104,7 @@ class LogPage { */ public function getRcComment() { $rcComment = $this->actionText; - if( '' != $this->comment ) { + if( $this->comment != '' ) { if ($rcComment == '') $rcComment = $this->comment; else @@ -159,14 +159,16 @@ class LogPage { public static function logHeader( $type ) { global $wgLogHeaders, $wgMessageCache; $wgMessageCache->loadAllMessages(); - return wfMsgExt($wgLogHeaders[$type],array('parseinline')); + return wfMsgExt($wgLogHeaders[$type], array( 'parseinline' ) ); } /** * @static + * Note that if $skin is null, we want to use the wiki content language, since that + * will go to the irc feed. * @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; @@ -187,7 +189,7 @@ class LogPage { $rightsnone = wfMsg( 'rightsnone' ); foreach ( $params as &$param ) { $groupArray = array_map( 'trim', explode( ',', $param ) ); - $groupArray = array_map( array( 'User', 'getGroupName' ), $groupArray ); + $groupArray = array_map( array( 'User', 'getGroupMember' ), $groupArray ); $param = $wgLang->listToText( $groupArray ); } } else { @@ -217,6 +219,7 @@ class LogPage { } $params[2] = isset( $params[2] ) ? self::formatBlockFlags( $params[2], is_null( $skin ) ) : ''; + // Page protections } else if ( $type == 'protect' && count($params) == 3 ) { // Restrictions and expiries @@ -233,6 +236,7 @@ class LogPage { $details .= ' ['.wfMsgForContent('protect-summary-cascade').']'; } } + // Page moves } else if ( $type == 'move' && count( $params ) == 3 ) { if( $params[2] ) { @@ -242,19 +246,22 @@ class LogPage { $details .= ' [' . wfMsgForContent( 'move-redirect-suppressed' ) . ']'; } } + // Revision deletion } else if ( preg_match( '/^(delete|suppress)\/revision$/', $key ) && count( $params ) == 5 ) { $count = substr_count( $params[2], ',' ) + 1; // revisions $ofield = intval( substr( $params[3], 7 ) ); // $nfield = intval( substr( $params[4], 7 ) ); // - $details .= ': '.RevisionDeleter::getLogMessage( $count, $nfield, $ofield, false ); + $details .= ': ' . RevisionDeleter::getLogMessage( $count, $nfield, $ofield, false, is_null($skin) ); + // Log deletion } else if ( preg_match( '/^(delete|suppress)\/event$/', $key ) && count( $params ) == 4 ) { $count = substr_count( $params[1], ',' ) + 1; // log items $ofield = intval( substr( $params[2], 7 ) ); // $nfield = intval( substr( $params[3], 7 ) ); // - $details .= ': '.RevisionDeleter::getLogMessage( $count, $nfield, $ofield, true ); + $details .= ': ' . RevisionDeleter::getLogMessage( $count, $nfield, $ofield, true, is_null($skin) ); } + if ( $skin ) { $rv = wfMsgHtml( $wgLogActions[$key], $params ) . $details; } else { @@ -291,7 +298,7 @@ class LogPage { } protected static function getTitleLink( $type, $skin, $title, &$params ) { - global $wgLang, $wgContLang; + global $wgLang, $wgContLang, $wgUserrightsInterwikiDelimiter; if( !$skin ) { return $title->getPrefixedText(); } @@ -327,6 +334,13 @@ class LogPage { 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': @@ -371,6 +385,8 @@ class LogPage { $params = array( $params ); } + if ( $comment === null ) $comment = ""; + $this->action = $action; $this->target = $target; $this->comment = $comment; @@ -385,7 +401,7 @@ class LogPage { $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(); }