Followup r104353, updating Special:NewFiles
[lhc/web/wiklou.git] / includes / specials / SpecialNewimages.php
index 9414aa0..a4860ac 100644 (file)
@@ -27,18 +27,19 @@ class SpecialNewFiles extends IncludableSpecialPage {
        }
 
        public function execute( $par ){
-               global $wgOut;
-
                $this->setHeaders();
                $this->outputHeader();
 
-               $pager = new NewFilesPager( $par );
+               $out = $this->getOutput();
+               $pager = new NewFilesPager( $this->getContext(), $par );
 
-               $form = $pager->getForm();
-               $wgOut->addWikiMsg( 'newimages-text' );
-               $form->prepareForm();
-               $form->displayForm( '' );
-               $wgOut->addHTML( $pager->getBody() . $pager->getNavigationBar() );
+               if ( !$this->including() ) {
+                       $out->addHTML( $pager->buildHTMLForm() );
+               }
+               $out->addHTML( $pager->getBody() );
+               if ( !$this->including() ) {
+                       $out->addHTML( $pager->getNavigationBar() );
+               }
        }
 }
 
@@ -48,14 +49,11 @@ class SpecialNewFiles extends IncludableSpecialPage {
  */
 class NewFilesPager extends ReverseChronologicalPager {
 
-       function __construct( $par = null ) {
-               global $wgRequest, $wgUser;
+       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 = $wgUser->getSkin();
-
-               parent::__construct();
+               parent::__construct( $context );
        }
 
        function getQueryInfo() {
@@ -107,24 +105,22 @@ class NewFilesPager extends ReverseChronologicalPager {
        }
 
        function formatRow( $row ) {
-               global $wgLang;
-
                $name = $row->img_name;
                $user = User::newFromId( $row->img_user );
 
-               $title = Title::newFromText( $name, NS_FILE );
-               $ul = $this->skin->link( $user->getUserpage(), $user->getName() );
+               $title = Title::makeTitle( NS_FILE, $name );
+               $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(
@@ -136,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',
                        ),
                );
 
@@ -154,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';
        }
 }