Add showLogExtract() and remove use of FauxRequest hacks
authorAaron Schulz <aaron@users.mediawiki.org>
Wed, 2 Apr 2008 20:20:47 +0000 (20:20 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Wed, 2 Apr 2008 20:20:47 +0000 (20:20 +0000)
12 files changed:
includes/Article.php
includes/EditPage.php
includes/FileDeleteForm.php
includes/LogEventsList.php
includes/ProtectionForm.php
includes/SpecialBlockip.php
includes/SpecialMergeHistory.php
includes/SpecialMovepage.php
includes/SpecialRevisiondelete.php
includes/SpecialUndelete.php
includes/SpecialUpload.php
includes/SpecialUserrights.php

index 1fb6c2b..9137a1c 100644 (file)
@@ -2156,12 +2156,7 @@ class Article {
         */
        function showLogExtract( $out ) {
                $out->addHtml( Xml::element( 'h2', null, LogPage::logName( 'delete' ) ) );
-               $logViewer = new LogViewer(
-                       new LogReader(
-                               new FauxRequest(
-                                       array( 'page' => $this->mTitle->getPrefixedText(),
-                                              'type' => 'delete' ) ) ) );
-               $logViewer->showList( $out );
+               LogEventsList::showLogExtract( $out, 'delete', $this->mTitle->getPrefixedText() );
        }
 
 
index 7faab31..409034e 100644 (file)
@@ -2205,20 +2205,17 @@ END
         * @param OutputPage $out
         */
        private function showDeletionLog( $out ) {
-               $title = $this->mTitle;
-               $reader = new LogReader(
-                       new FauxRequest(
-                               array(
-                                       'page' => $title->getPrefixedText(),
-                                       'type' => 'delete',
-                                       )
-                       )
-               );
-               if( $reader->hasRows() ) {
+               global $wgUser;
+               $loglist = new LogEventsList( $wgUser->getSkin() );
+               $pager = new LogPager( $loglist, 'delete', false, $this->mTitle->getPrefixedText() );
+               if( $pager->getNumRows() > 0 ) {
                        $out->addHtml( '<div id="mw-recreate-deleted-warn">' );
                        $out->addWikiMsg( 'recreate-deleted-warn' );
-                       $viewer = new LogViewer( $reader );
-                       $viewer->showList( $out );
+                       $out->addHTML(
+                               $loglist->beginLogEventsList() .
+                               $pager->getBody() .
+                               $loglist->endLogEventsList()
+                       );
                        $out->addHtml( '</div>' );
                }
        }
index 16a2d11..8a6f058 100644 (file)
@@ -179,17 +179,7 @@ class FileDeleteForm {
        private function showLogEntries() {
                global $wgOut;
                $wgOut->addHtml( '<h2>' . htmlspecialchars( LogPage::logName( 'delete' ) ) . "</h2>\n" );
-               $reader = new LogViewer(
-                       new LogReader(
-                               new FauxRequest(
-                                       array(
-                                               'type' => 'delete',
-                                               'page' => $this->title->getPrefixedText(),
-                                       )
-                               )
-                       )
-               );
-               $reader->showList( $wgOut );            
+               LogEventsList::showLogExtract( $wgOut, 'delete', $this->title->getPrefixedText() );
        }
        
        /**
index a81068d..583036f 100644 (file)
@@ -318,6 +318,29 @@ class LogEventsList {
        }
        
        /**
+        * Quick function to show a short log extract
+        * @param OutputPage $out
+        * @param string $type
+        * @param string $page
+        */
+        public static function showLogExtract( $out, $type='', $page='', $user='' ) {
+               global $wgUser;
+               # Insert list of top 50 or so items
+               $loglist = new LogEventsList( $wgUser->getSkin() );
+               $pager = new LogPager( $loglist, $type, $user, $page, '' );
+               $logBody = $pager->getBody();
+               if( $logBody ) {
+                       $out->addHTML(
+                               $loglist->beginLogEventsList() .
+                               $logBody .
+                               $loglist->endLogEventsList()
+                       );
+               } else {
+                       $out->addWikiMsg( 'logempty' );
+               }
+        }
+        
+        /**
         * SQL clause to skip forbidden log types for this user
         * @param Database $db
         * @returns mixed (string or false)
@@ -355,7 +378,7 @@ class LogPager extends ReverseChronologicalPager {
        * @param string $pattern
        * @param array $conds
        */
-       function __construct( $loglist, $type, $user, $title, $pattern, $conds = array() ) {
+       function __construct( $loglist, $type='', $user='', $title='', $pattern='', $conds = array() ) {
                parent::__construct();
                $this->mConds = $conds;
                
index 6d3264c..0d2d88c 100644 (file)
@@ -374,12 +374,7 @@ class ProtectionForm {
        function showLogExtract( &$out ) {
                # Show relevant lines from the protection log:
                $out->addHTML( Xml::element( 'h2', null, LogPage::logName( 'protect' ) ) );
-               $logViewer = new LogViewer(
-                       new LogReader(
-                               new FauxRequest(
-                                       array( 'page' => $this->mTitle->getPrefixedText(),
-                                              'type' => 'protect' ) ) ) );
-               $logViewer->showList( $out );
+               LogEventsList::showLogExtract( $out, 'protect', $this->mTitle->getPrefixedText() );
        }
 
 }
index e3b828e..aa48968 100644 (file)
@@ -400,9 +400,7 @@ class IPBlockForm {
 
        function showLogFragment( $out, $title ) {
                $out->addHtml( Xml::element( 'h2', NULL, LogPage::logName( 'block' ) ) );
-               $request = new FauxRequest( array( 'page' => $title->getPrefixedText(), 'type' => 'block' ) );
-               $viewer = new LogViewer( new LogReader( $request ) );
-               $viewer->showList( $out );
+               LogEventsList::showLogExtract( $out, 'block', $title->getPrefixedText() );
        }
 
        /**
index 8302b7e..e0de5cc 100644 (file)
@@ -205,14 +205,8 @@ class MergehistoryForm {
 
                # Show relevant lines from the deletion log:
                $wgOut->addHTML( "<h2>" . htmlspecialchars( LogPage::logName( 'merge' ) ) . "</h2>\n" );
-               $logViewer = new LogViewer(
-                       new LogReader(
-                               new FauxRequest(
-                                       array( 'page' => $this->mTargetObj->getPrefixedText(),
-                                                  'type' => 'merge' ) ) ) );
-               $logViewer->showList( $wgOut );
+               LogEventsList::showLogExtract( $wgOut, 'merge', $this->mTargetObj->getPrefixedText() );
                
-               # Slip in the hidden controls here
                # When we submit, go by page ID to avoid some nasty but unlikely collisions.
                # Such would happen if a page was renamed after the form loaded, but before submit
                $misc = Xml::hidden( 'targetID', $this->mTargetObj->getArticleID() );
index 4e844e8..3fa6746 100644 (file)
@@ -345,9 +345,7 @@ class MovePageForm {
 
        function showLogFragment( $title, &$out ) {
                $out->addHTML( Xml::element( 'h2', NULL, LogPage::logName( 'move' ) ) );
-               $request = new FauxRequest( array( 'page' => $title->getPrefixedText(), 'type' => 'move' ) );
-               $viewer = new LogViewer( new LogReader( $request ) );
-               $viewer->showList( $out );
+               LogEventsList::showLogExtract( $out, 'move', $title->getPrefixedText() );
        }
 
 }
index bb0f9a7..0a23031 100644 (file)
@@ -45,17 +45,10 @@ function wfSpecialRevisiondelete( $par = null ) {
        # does not exist...might be helpful
        if( !is_null($page) ) {
                $wgOut->addHTML( "<h2>" . htmlspecialchars( LogPage::logName( 'delete' ) ) . "</h2>\n" );
-               $logViewer = new LogViewer(
-                       new LogReader(
-                               new FauxRequest(
-                                       array( 'page' => $page->getPrefixedText(), 'type' => 'delete' ) ) ) );
-               $logViewer->showList( $wgOut );
+               LogEventsList::showLogExtract( $wgOut, 'delete', $page->getPrefixedText() );
                if( $wgUser->isAllowed( 'suppress' ) ){
                        $wgOut->addHTML( "<h2>" . htmlspecialchars( LogPage::logName( 'suppress' ) ) . "</h2>\n" );
-                       $logViewer = new LogViewer(
-                               new LogReader(
-                                       new FauxRequest(
-                                               array( 'page' => $page->getPrefixedText(), 'type' => 'suppress' ) ) ) );
+                       LogEventsList::showLogExtract( $wgOut, 'suppress', $page->getPrefixedText() );
                        $logViewer->showList( $wgOut );
                }
        }
index ef7944b..a734815 100644 (file)
@@ -956,17 +956,7 @@ class UndeleteForm {
 
                # Show relevant lines from the deletion log:
                $wgOut->addHTML( Xml::element( 'h2', null, LogPage::logName( 'delete' ) ) . "\n" );
-               $logViewer = new LogViewer(
-                       new LogReader(
-                               new FauxRequest(
-                                       array( 
-                                               'page' => $this->mTargetObj->getPrefixedText(),
-                                               'type' => 'delete' 
-                                       )
-                               )
-                       ), LogViewer::NO_ACTION_LINK
-               );
-               $logViewer->showList( $wgOut );
+               LogEventsList::showLogExtract( $wgOut, 'delete', $this->mTargetObj->getPrefixedText() );
 
                if( $this->mAllowed && ( $haveRevisions || $haveFiles ) ) {
                        # Format the user-visible controls (comment field, submission button)
index a8aa91e..8ea9a8e 100644 (file)
@@ -1662,19 +1662,17 @@ wgUploadAutoFill = {$autofill};
         * @param string filename
         */
        private function showDeletionLog( $out, $filename ) {
-               $reader = new LogReader(
-                       new FauxRequest(
-                               array(
-                                       'page' => $filename,
-                                       'type' => 'delete',
-                                       )
-                       )
-               );
-               if( $reader->hasRows() ) {
+               global $wgUser;
+               $loglist = new LogEventsList( $wgUser->getSkin() );
+               $pager = new LogPager( $loglist, 'delete', false, $filename );
+               if( $pager->getNumRows() > 0 ) {
                        $out->addHtml( '<div id="mw-upload-deleted-warn">' );
                        $out->addWikiMsg( 'upload-wasdeleted' );
-                       $viewer = new LogViewer( $reader );
-                       $viewer->showList( $out );
+                       $out->addHTML(
+                               $loglist->beginLogEventsList() .
+                               $pager->getBody() .
+                               $loglist->endLogEventsList()
+                       );
                        $out->addHtml( '</div>' );
                }
        }
index f4caab1..769d05f 100644 (file)
@@ -540,17 +540,7 @@ class UserrightsPage extends SpecialPage {
         * @param OutputPage $output OutputPage to use
         */
        protected function showLogFragment( $user, $output ) {
-               $viewer = new LogViewer(
-                       new LogReader(
-                               new FauxRequest(
-                                       array(
-                                               'type' => 'rights',
-                                               'page' => $user->getUserPage()->getPrefixedText(),
-                                       )
-                               )
-                       )
-               );
                $output->addHtml( Xml::element( 'h2', null, LogPage::logName( 'rights' ) . "\n" ) );
-               $viewer->showList( $output );
+               LogEventsList::showLogExtract( $output, 'rights', $user->getUserPage()->getPrefixedText() );
        }
 }