simple cache for rendered files
[phorkie.git] / www / list.php
index a75fda894356bfe15939cbcf682d724e3e64132d..7c60ceb5b2ff63e50a2e282a6a6f94a1ca16e3b0 100644 (file)
@@ -1,38 +1,35 @@
 <?php
 /**
- * Fork a repository
+ * List a repository
  */
 namespace phorkie;
+$reqWritePermissions = false;
 require_once 'www-header.php';
 $rs = new Repositories();
 
-$page = 0;
+$page = $GLOBALS['phorkie']['cfg']['defaultListPage'];
 if (isset($_GET['page'])) {
     if (!is_numeric($_GET['page'])) {
         throw new Exception_Input('List page is not numeric');
     }
-    $page = (int)$_GET['page'];
+    $page = (int)$_GET['page'] - 1;
 }
 
-$perPage = 10;
-$repos = $rs->getList($page, $perPage);
+$perPage = $GLOBALS['phorkie']['cfg']['perPage'];
+list($repos, $repoCount, $page) = $rs->getList($page, $perPage);
 
-$links = array('prev' => null, 'next' => null);
-if ($page > 0) {
-    $links['prev'] = '/list/' . ($page - 1);
-    if ($page - 1 == 0) {
-        $links['prev'] = '/list';
-    }
-}
-if (count($repos) && count($repos) == $perPage) {
-    $links['next'] = '/list/' . ($page + 1);
-}
+$pager = new Html_Pager(
+    $repoCount, $perPage, $page + 1, 'list/%d'
+);
 
+$db = new Database();
 render(
     'list',
     array(
-        'repos' => $repos,
-        'links' => $links,
+        'repos'   => $repos,
+        'pager'   => $pager,
+        'recents' => $db->getSearch()->listAll(0, 5, 'modate', 'desc'),
+        'dh'      => new \Date_HumanDiff(),
     )
 );
 ?>