Revision: 43514
Author:   brion
Date:     2008-11-15 01:02:20 +0000 (Sat, 15 Nov 2008)

Log Message:
-----------
Revert r43512 -- I tested it partially but not well enough. Regression breaks 
revision detail view. :(

Modified Paths:
--------------
    trunk/extensions/CodeReview/CodeReview.php
    trunk/extensions/CodeReview/CodeRevisionListView.php
    trunk/extensions/CodeReview/SpecialCode.php

Added Paths:
-----------
    trunk/extensions/CodeReview/CodePathRevListView.php

Copied: trunk/extensions/CodeReview/CodePathRevListView.php (from rev 43509, 
trunk/extensions/CodeReview/CodePathRevListView.php)
===================================================================
--- trunk/extensions/CodeReview/CodePathRevListView.php                         
(rev 0)
+++ trunk/extensions/CodeReview/CodePathRevListView.php 2008-11-15 01:02:20 UTC 
(rev 43514)
@@ -0,0 +1,45 @@
+<?php
+
+// Special:Code/MediaWiki
+class CodePathRevListView extends CodeRevisionListView {
+       function __construct( $repoName ) {
+               parent::__construct( $repoName );
+       }
+
+       function execute() {
+               global $wgOut;
+               if( !$this->mRepo ) {
+                       $view = new CodeRepoListView();
+                       $view->execute();
+                       return;
+               }
+               // No path! Use regular lister!
+               if( !$this->mPath ) {
+                       $view = new CodeRevisionListView( 
$this->mRepo->getName() );
+                       $view->execute();
+                       return;
+               }
+               $this->showForm();
+               // Path should have a bit of length...
+               if( strlen($this->mPath) > 3 ) {
+                       $pager = $this->getPager();
+                       $wgOut->addHTML( 
+                               $pager->getNavigationBar() .
+                               $pager->getLimitForm() . 
+                               $pager->getBody() . 
+                               $pager->getNavigationBar()
+                       );
+               }
+       }
+       
+       function getPager() {
+               return new SvnPathRevTablePager( $this );
+       }
+}
+
+// Pager for CodeRevisionListView
+class SvnPathRevTablePager extends SvnRevTablePager {
+       function getTitle() {
+               return SpecialPage::getTitleFor( 'Code', 
$this->mRepo->getName() . '/path' );
+       }
+}

Modified: trunk/extensions/CodeReview/CodeReview.php
===================================================================
--- trunk/extensions/CodeReview/CodeReview.php  2008-11-15 01:00:55 UTC (rev 
43513)
+++ trunk/extensions/CodeReview/CodeReview.php  2008-11-15 01:02:20 UTC (rev 
43514)
@@ -19,7 +19,7 @@
 
 1) Find out what revisions exist
 2) Get id/author/timestamp/notice basics
-3) base path helps if available
+  3) base path helps if available
 4) get list of affected files
 5) get diffs
 
@@ -54,6 +54,7 @@
 $wgAutoloadClasses['CodeRevisionView'] = $dir . 'CodeRevisionView.php';
 $wgAutoloadClasses['CodeAuthorListView'] = $dir . 'CodeAuthorListView.php';
 $wgAutoloadClasses['CodeStatusListView'] = $dir . 'CodeStatusListView.php';
+$wgAutoloadClasses['CodePathRevListView'] = $dir . 'CodePathRevListView.php';
 $wgAutoloadClasses['CodeTagListView'] = $dir . 'CodeTagListView.php';
 $wgAutoloadClasses['CodeCommentsListView'] = $dir . 'CodeCommentsListView.php';
 $wgAutoloadClasses['CodeComment'] = $dir . 'CodeComment.php';

Modified: trunk/extensions/CodeReview/CodeRevisionListView.php
===================================================================
--- trunk/extensions/CodeReview/CodeRevisionListView.php        2008-11-15 
01:00:55 UTC (rev 43513)
+++ trunk/extensions/CodeReview/CodeRevisionListView.php        2008-11-15 
01:02:20 UTC (rev 43514)
@@ -12,7 +12,6 @@
                        $this->mPath = "/{$this->mPath}"; // make sure this is 
a valid path
                }
                $this->mAuthor = null;
-               $this->mStatus = null;
        }
 
        function execute() {
@@ -36,10 +35,8 @@
                global $wgOut, $wgScript;
                if( $this->mAuthor ) {
                        $special = SpecialPage::getTitleFor( 'Code', 
$this->mRepo->getName().'/author/'.$this->mAuthor );
-               } else if( $this->mStatus ) {
-                       $special = SpecialPage::getTitleFor( 'Code', 
$this->mRepo->getName().'/status/'.$this->mStatus );
                } else {
-                       $special = SpecialPage::getTitleFor( 'Code', 
$this->mRepo->getName() );
+                       $special = SpecialPage::getTitleFor( 'Code', 
$this->mRepo->getName().'/path' );
                }
                $wgOut->addHTML( 
                        Xml::openElement( 'form', array( 'action' => $wgScript, 
'method' => 'get' ) ) .

Modified: trunk/extensions/CodeReview/SpecialCode.php
===================================================================
--- trunk/extensions/CodeReview/SpecialCode.php 2008-11-15 01:00:55 UTC (rev 
43513)
+++ trunk/extensions/CodeReview/SpecialCode.php 2008-11-15 01:02:20 UTC (rev 
43514)
@@ -40,9 +40,11 @@
                                } elseif( $params[1] === 'comments' ) {
                                        $view = new CodeCommentsListView( 
$params[0] );
                                        break;
+                               } elseif( $params[1] === 'path' ) {
+                                       $view = new CodePathRevListView( 
$params[0] );
+                                       break;
                                } else {
-                                       # Nonsense parameters, back out
-                                       $view = new CodeRevisionListView( 
$params[0] );
+                                       $view = new CodeRevisionView( 
$params[0], $params[1] );
                                        break;
                                }
                        case 3:



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to