php8
[web.mtrack] / MTrackWeb / Browse.php
index 7e7e13f..e8ce02b 100644 (file)
@@ -40,6 +40,11 @@ class MTrackWeb_Browse extends MTrackWeb
   
     var $up = '';
     var $jump = '';
+    var $pi;
+    var $basename;
+    var $crumbs;
+    var $dirname;
+    var $repos;
     
     function getAuth() 
     {
@@ -49,7 +54,7 @@ class MTrackWeb_Browse extends MTrackWeb
   
     }
  
-    function get($pi)
+    function get($pi='', $args = array())
     {
         $this->pi =  $pi . (strlen($pi) ? $this->bootLoader->ext : '');
        
@@ -68,6 +73,11 @@ class MTrackWeb_Browse extends MTrackWeb
         if (!$this->repo->id) {
             $this->repo = false;
         }
+        // if we have an active project.. enforce it..
+        if ($this->currentProject() && $this->repo &&  $this->repo->project_id != $this->currentProject()) {
+            $this->repo =  false; // no repo..
+        }
+        
         
         $this->object = null;
         $this->ident = null;
@@ -253,6 +263,10 @@ class MTrackWeb_Browse extends MTrackWeb
         } else {
             $do->orderBy("shortname ASC");
         }
+        
+        if ($this->currentProject()) {
+            $do->project_id = $this->currentProject();
+        }
 // FIXME -> permissions on repositories goes here.. 
         //$do->ensurePerm($this->authUser); 
         //$do->fetchAll();
@@ -371,10 +385,14 @@ class MTrackWeb_Browse extends MTrackWeb
         
         foreach($revs as $hash => $sobject) {
             $event = $impl->commitLogToEvent($sobject);
-            // add something???
+            // add something??? 
+            if (!$event) {
+                continue;
+            }
             $event->is_dir = $map[$hash]->is_dir;
             $event->name = $map[$hash]->name;
             $event->basename = $map[$hash]->basename;
+        
             $map[$hash] =  $event; // this was previous only done for directories??? why???
         }
         return array_values($map);