X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialNewimages.php;h=583d4f9e7c27df1c323d2d494c9adb970a80a876;hb=b77e101acbba77fa80db8b166287bcdf81534e80;hp=9e3a7509bcac701a1a61e2176f1eb6da80ff2915;hpb=457d5b702c6c07d773cfb9f9701731277b115085;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialNewimages.php b/includes/specials/SpecialNewimages.php index 9e3a7509bc..583d4f9e7c 100644 --- a/includes/specials/SpecialNewimages.php +++ b/includes/specials/SpecialNewimages.php @@ -34,15 +34,19 @@ class SpecialNewFiles extends IncludableSpecialPage { $this->outputHeader(); $out = $this->getOutput(); + $out->addModules( 'mediawiki.special.newFiles' ); $this->addHelpLink( 'Help:New images' ); $opts = new FormOptions(); $opts->add( 'like', '' ); + $opts->add( 'user', '' ); $opts->add( 'showbots', false ); $opts->add( 'hidepatrolled', false ); $opts->add( 'limit', 50 ); $opts->add( 'offset', '' ); + $opts->add( 'start', '' ); + $opts->add( 'end', '' ); $opts->fetchValuesFromRequest( $this->getRequest() ); @@ -50,6 +54,19 @@ class SpecialNewFiles extends IncludableSpecialPage { $opts->setValue( is_numeric( $par ) ? 'limit' : 'like', $par ); } + // If start date comes after end date chronologically, swap them. + // They are swapped in the interface by JS. + $start = $opts->getValue( 'start' ); + $end = $opts->getValue( 'end' ); + if ( $start !== '' && $end !== '' && $start > $end ) { + $temp = $end; + $end = $start; + $start = $temp; + + $opts->setValue( 'start', $start, true ); + $opts->setValue( 'end', $end, true ); + } + $opts->validateIntBounds( 'limit', 0, 500 ); $this->opts = $opts; @@ -75,6 +92,12 @@ class SpecialNewFiles extends IncludableSpecialPage { 'name' => 'like', ], + 'user' => [ + 'type' => 'text', + 'label-message' => 'newimages-user', + 'name' => 'user', + ], + 'showbots' => [ 'type' => 'check', 'label-message' => 'newimages-showbots', @@ -98,6 +121,18 @@ class SpecialNewFiles extends IncludableSpecialPage { 'default' => $this->opts->getValue( 'offset' ), 'name' => 'offset', ], + + 'start' => [ + 'type' => 'date', + 'label-message' => 'date-range-from', + 'name' => 'start', + ], + + 'end' => [ + 'type' => 'date', + 'label-message' => 'date-range-to', + 'name' => 'end', + ], ]; if ( $this->getConfig()->get( 'MiserMode' ) ) {