$opts = new FormOptions();
$opts->add( 'like', '' );
+ $opts->add( 'user', '' );
$opts->add( 'showbots', false );
+ $opts->add( 'newbies', false );
$opts->add( 'hidepatrolled', false );
$opts->add( 'limit', 50 );
$opts->add( 'offset', '' );
+ $opts->add( 'start', '' );
+ $opts->add( 'end', '' );
$opts->fetchValuesFromRequest( $this->getRequest() );
$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;
'name' => 'like',
],
+ 'user' => [
+ 'type' => 'text',
+ 'label-message' => 'newimages-user',
+ 'name' => 'user',
+ ],
+
+ 'newbies' => [
+ 'type' => 'check',
+ 'label-message' => 'newimages-newbies',
+ 'name' => 'newbies',
+ ],
+
'showbots' => [
'type' => 'check',
'label-message' => 'newimages-showbots',
'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' ) ) {
->setMethod( 'get' )
->prepareForm()
->displayForm( false );
+
+ $this->getOutput()->addModules( 'mediawiki.special.newFiles' );
}
protected function getGroupName() {