listing all pastes works
[phorkie.git] / src / Phorkie / Repositories.php
index 6582ae818050adf6ce15b08441eceab3cf28fcb9..eeaec343736acb0e5497e36ddeefd0097637880e 100644 (file)
@@ -13,7 +13,12 @@ class Repositories
      */
     public function createNew()
     {
-        $n = basename(end(glob($this->reposDir . '/*', GLOB_ONLYDIR))) + 1;
+        chdir($this->reposDir);
+        $dirs = glob('*', GLOB_ONLYDIR);
+        sort($dirs, SORT_NUMERIC);
+        $n = end($dirs) + 1;
+        unset($dirs);
+
         $dir = $this->reposDir . '/' . $n . '/'; 
         mkdir($dir, 0777);//FIXME
         $r = new Repository();
@@ -22,6 +27,29 @@ class Repositories
         return $r;
     }
 
+    /**
+     * Get a list of repository objects
+     *
+     * @param integer $page    Page number, beginning with 0
+     * @param integer $perPage Number of repositories per page
+     *
+     * @return array Array of Repositories
+     */
+    public function getList($page = 0, $perPage = 10)
+    {
+        chdir($this->reposDir);
+        $dirs = glob('*', GLOB_ONLYDIR);
+        sort($dirs, SORT_NUMERIC);
+
+        $some = array_slice($dirs, $page * $perPage, $perPage);
+        $repos = array();
+        foreach ($some as $oneDir) {
+            $r = new Repository();
+            $r->loadById($oneDir);
+            $repos[] = $r;
+        }
+        return $repos;
+    }
 }
 
 ?>