Followup r104353, updating Special:NewFiles
[lhc/web/wiklou.git] / includes / specials / SpecialNewimages.php
index ea20c2f..a4860ac 100644 (file)
@@ -30,16 +30,15 @@ class SpecialNewFiles extends IncludableSpecialPage {
                $this->setHeaders();
                $this->outputHeader();
 
-               $pager = new NewFilesPager( $par );
+               $out = $this->getOutput();
+               $pager = new NewFilesPager( $this->getContext(), $par );
 
                if ( !$this->including() ) {
-                       $form = $pager->getForm();
-                       $form->prepareForm();
-                       $form->displayForm( '' );
+                       $out->addHTML( $pager->buildHTMLForm() );
                }
-               $this->getOutput()->addHTML( $pager->getBody() );
+               $out->addHTML( $pager->getBody() );
                if ( !$this->including() ) {
-                       $this->getOutput()->addHTML( $pager->getNavigationBar() );
+                       $out->addHTML( $pager->getNavigationBar() );
                }
        }
 }
@@ -50,18 +49,11 @@ class SpecialNewFiles extends IncludableSpecialPage {
  */
 class NewFilesPager extends ReverseChronologicalPager {
 
-       function __construct( $par = null ) {
-               global $wgRequest;
+       function __construct( IContextSource $context, $par = null ) {
+               $this->like = $context->getRequest()->getText( 'like' );
+               $this->showbots = $context->getRequest()->getBool( 'showbots' , 0 );
 
-               $this->like = $wgRequest->getText( 'like' );
-               $this->showbots = $wgRequest->getBool( 'showbots' , 0 );
-               $this->skin = $this->getSkin();
-
-               parent::__construct();
-       }
-
-       function getTitle() {
-               return SpecialPage::getTitleFor( 'Newimages' );
+               parent::__construct( $context );
        }
 
        function getQueryInfo() {
@@ -113,24 +105,22 @@ class NewFilesPager extends ReverseChronologicalPager {
        }
 
        function formatRow( $row ) {
-               global $wgLang;
-
                $name = $row->img_name;
                $user = User::newFromId( $row->img_user );
 
                $title = Title::makeTitle( NS_FILE, $name );
-               $ul = $this->skin->link( $user->getUserpage(), $user->getName() );
+               $ul = Linker::link( $user->getUserpage(), $user->getName() );
 
                $this->gallery->add(
                        $title,
                        "$ul<br />\n<i>"
-                               . htmlspecialchars( $wgLang->timeanddate( $row->img_timestamp, true ) )
+                               . htmlspecialchars( $this->getLanguage()->timeanddate( $row->img_timestamp, true ) )
                                . "</i><br />\n"
                );
        }
 
-       function getForm() {
-               global $wgRequest, $wgMiserMode;
+       protected function getHTMLFormFields() {
+               global $wgMiserMode;
 
                $fields = array(
                        'like' => array(
@@ -142,17 +132,6 @@ class NewFilesPager extends ReverseChronologicalPager {
                                'type' => 'check',
                                'label' => wfMessage( 'showhidebots', wfMsg( 'show' ) ),
                                'name' => 'showbots',
-                       #       'default' => $wgRequest->getBool( 'showbots', 0 ),
-                       ),
-                       'limit' => array(
-                               'type' => 'hidden',
-                               'default' => $wgRequest->getText( 'limit' ),
-                               'name' => 'limit',
-                       ),
-                       'offset' => array(
-                               'type' => 'hidden',
-                               'default' => $wgRequest->getText( 'offset' ),
-                               'name' => 'offset',
                        ),
                );
 
@@ -160,12 +139,14 @@ class NewFilesPager extends ReverseChronologicalPager {
                        unset( $fields['like'] );
                }
 
-               $form = new HTMLForm( $fields );
-               $form->setTitle( $this->getTitle() );
-               $form->setSubmitText( wfMsg( 'ilsubmit' ) );
-               $form->setMethod( 'get' );
-               $form->setWrapperLegend( wfMsg( 'newimages-legend' ) );
+               return $fields;
+       }
+
+       protected function getHTMLFormLegend() {
+               return 'newimages-legend';
+       }
 
-               return $form;
+       protected function getHTMLFormSubmit() {
+               return 'ilsubmit';
        }
 }