X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialLog.php;h=195d08b1c54887aec34b6803461341f2fd5ba3d7;hb=900843f7ee9131ebdbe839fafffb70b8e293a8b9;hp=d4c7c6ad2bad9fd507d2cad24ebc824b2c3dac39;hpb=9ba3fca2d8adc56787c8efc32c41424cb212e387;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialLog.php b/includes/specials/SpecialLog.php index d4c7c6ad2b..195d08b1c5 100644 --- a/includes/specials/SpecialLog.php +++ b/includes/specials/SpecialLog.php @@ -37,6 +37,7 @@ class SpecialLog extends SpecialPage { $this->setHeaders(); $this->outputHeader(); $this->getOutput()->addModules( 'mediawiki.userSuggest' ); + $this->addHelpLink( 'Help:Log' ); $opts = new FormOptions; $opts->add( 'type', '' ); @@ -49,6 +50,7 @@ class SpecialLog extends SpecialPage { $opts->add( 'offset', '' ); $opts->add( 'dir', '' ); $opts->add( 'offender', '' ); + $opts->add( 'subtype', '' ); // Set values $opts->fetchValuesFromRequest( $this->getRequest() ); @@ -94,7 +96,7 @@ class SpecialLog extends SpecialPage { # Some log types are only for a 'User:' title but we might have been given # only the username instead of the full title 'User:username'. This part try - # to lookup for a user by that name and eventually fix user input. See bug 1697. + # to lookup for a user by that name and eventually fix user input. See T3697. if ( in_array( $opts->getValue( 'type' ), self::getLogTypesOnUser() ) ) { # ok we have a type of log which expect a user title. $target = Title::newFromText( $opts->getValue( 'page' ) ); @@ -146,7 +148,8 @@ class SpecialLog extends SpecialPage { private function parseParams( FormOptions $opts, $par ) { # Get parameters - $parms = explode( '/', ( $par = ( $par !== null ) ? $par : '' ) ); + $par = $par !== null ? $par : ''; + $parms = explode( '/', $par ); $symsForAll = [ '*', 'all' ]; if ( $parms[0] != '' && ( in_array( $par, $this->getConfig()->get( 'LogTypes' ) ) || in_array( $par, $symsForAll ) ) @@ -167,6 +170,7 @@ class SpecialLog extends SpecialPage { null, LogEventsList::USE_CHECKBOXES ); + $pager = new LogPager( $loglist, $opts->getValue( 'type' ), @@ -176,26 +180,29 @@ class SpecialLog extends SpecialPage { $extraConds, $opts->getValue( 'year' ), $opts->getValue( 'month' ), - $opts->getValue( 'tagfilter' ) + $opts->getValue( 'tagfilter' ), + $opts->getValue( 'subtype' ) ); $this->addHeader( $opts->getValue( 'type' ) ); # Set relevant user if ( $pager->getPerformer() ) { - $this->getSkin()->setRelevantUser( User::newFromName( $pager->getPerformer() ) ); + $performerUser = User::newFromName( $pager->getPerformer(), false ); + $this->getSkin()->setRelevantUser( $performerUser ); } # Show form options $loglist->showOptions( $pager->getType(), - $opts->getValue( 'user' ), + $pager->getPerformer(), $pager->getPage(), $pager->getPattern(), $pager->getYear(), $pager->getMonth(), $pager->getFilterParams(), - $opts->getValue( 'tagfilter' ) + $pager->getTagFilter(), + $pager->getAction() ); # Insert list