function git_project_list($projectroot, $projectlist, $order = "project") { global $tpl, $git_projects; $cachekey = sha1(serialize($projectlist)) . "|" . sha1($order); if (!$tpl->is_cached('projectlist.tpl', $cachekey)) { $projects = git_read_projects($projectroot, $projectlist, TRUE); if (is_array($projects)) { if (count($projects) > 0) { if ($order) { $tpl->assign("order", $order); } if (!isset($git_projects)) { switch ($order) { case "project": usort($projects, "projectcmp"); break; case "descr": usort($projects, "descrcmp"); break; case "owner": usort($projects, "ownercmp"); break; case "age": usort($projects, "agecmp"); break; } $tpl->assign("projects", $projects); } else { foreach ($projects as $cat => $plist) { switch ($order) { case "project": usort($projects[$cat], "projectcmp"); break; case "descr": usort($projects[$cat], "descrcmp"); break; case "owner": usort($projects[$cat], "ownercmp"); break; case "age": usort($projects[$cat], "agecmp"); break; } } $tpl->assign("categorizedprojects", $projects); } } else { $tpl->assign("message", "No projects found"); $tpl->assign("error", TRUE); } } else { $tpl->assign("message", $projects); $tpl->assign("error", TRUE); } } $tpl->display('projectlist.tpl', $cachekey); }
function git_project_index($projectroot, $projectlist) { global $tpl, $git_projects; header("Content-type: text/plain; charset=utf-8"); header("Content-Disposition: inline; filename=\"index.aux\""); $cachekey = sha1(serialize($projectlist)); if (!$tpl->is_cached('projectindex.tpl', $cachekey)) { if (isset($git_projects)) { $tpl->assign("categorized", TRUE); } $projlist = git_read_projects($projectroot, $projectlist); $tpl->assign("projlist", $projlist); } $tpl->display('projectindex.tpl', $cachekey); }
function git_opml($projectroot, $projectlist) { global $tpl, $gitphp_conf; $cachekey = sha1(serialize($projectlist)); if (!$tpl->is_cached('opml.tpl', $cachekey)) { header("Content-type: text/xml; charset=UTF-8"); $projlist = git_read_projects($projectroot, $projectlist); $tpl->assign("title", $gitphp_conf['title']); $tpl->assign("self", script_url()); $opmllist = array(); foreach ($projlist as $cat => $plist) { if (is_array($plist)) { foreach ($plist as $i => $proj) { $opmllist[] = $proj; } } else { $opmllist[] = $plist; } } $tpl->assign("opmllist", $opmllist); } $tpl->display('opml.tpl', $cachekey); }