diff options
Diffstat (limited to 'r7r_repo/main.php')
-rw-r--r-- | r7r_repo/main.php | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/r7r_repo/main.php b/r7r_repo/main.php index 17bce03..6f69cbe 100644 --- a/r7r_repo/main.php +++ b/r7r_repo/main.php @@ -78,6 +78,22 @@ if(isset($_SESSION["r7r_repo_login_name"])) } } +function package_list($pkgs, $heading) +{ + global $ste; + + $ste->vars["list_heading"] = $heading; + $ste->vars["pkgs"] = array_map(function($pkg) { return array( + "name" => $pkg->get_name(), + "version" => $pkg->txtversion, + "author" => $pkg->author, + "description" => $pkg->description, + "last_update" => $pkg->lastupdate + ); }, $pkgs); + + return $ste->exectemplate("package_list.html"); +} + /* url handlers */ $url_handlers = array( "_prelude" => function(&$data, $url_now, &$url_next) @@ -119,15 +135,8 @@ $url_handlers = array( $ste->vars["menu"] = "home"; $latest = Package::latest(); - $ste->vars["latest_pkgs"] = array_map(function($pkg) { return array( - "name" => $pkg->get_name(), - "version" => $pkg->txtversion, - "author" => $pkg->author, - "description" => $pkg->description, - "last_update" => $pkg->lastupdate - ); }, $latest); - echo $ste->exectemplate("home.html"); + echo package_list($latest, "Latest Packages"); }, "login" => function(&$data, $url_now, &$url_next) { @@ -491,6 +500,19 @@ $url_handlers = array( echo $ste->exectemplate("upload.html"); }, + "my_packages" => function(&$data, $url_now, &$url_next) + { + global $ste, $user; + + if($user === NULL) + throw new NotFoundError(); + + $ste->vars["menu"] = "my_packages"; + + $my_packages = $user->get_packages(); + + echo package_list($my_packages, "My Packages"); + }, "setup" => function(&$data, $url_now, &$url_next) { global $settings, $ste; |