From 44947bfcdc0d6e8c7d673bea0538cbf2a182f289 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Sun, 17 Jun 2007 01:23:08 +0200 Subject: Add and use cgit_tree_link() This creates a new function used to generate links to 'tree' page and uses the function everywhere a link to the 'tree' page is generated. Signed-off-by: Lars Hjemli --- ui-shared.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'ui-shared.c') diff --git a/ui-shared.c b/ui-shared.c index aba93e8..9ab6409 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -87,6 +87,70 @@ char *cgit_currurl() return fmt("%s/", cgit_virtual_root); } +static char *repolink(char *title, char *class, char *page, char *head, + char *path) +{ + char *delim = "?"; + + html("url); + if (cgit_repo->url[strlen(cgit_repo->url) - 1] != '/') + html("/"); + html(page); + html("/"); + if (path) + html_attr(path); + } else { + html(cgit_script_name); + html("?url="); + html_attr(cgit_repo->url); + if (cgit_repo->url[strlen(cgit_repo->url) - 1] != '/') + html("/"); + html(page); + html("/"); + if (path) + html_attr(path); + delim = "&"; + } + if (head && head != cgit_query_head) { + html(delim); + html("h="); + html_attr(head); + delim = "&"; + } + return fmt("%s", delim); +} + +void cgit_tree_link(char *name, char *title, char *class, char *head, + char *rev, char *path) +{ + char *delim; + + delim = repolink(title, class, "tree", head, path); + if (rev && rev != cgit_query_head) { + html(delim); + html("id="); + html_attr(rev); + } + html("'>"); + html_txt(name); + html(""); +} void cgit_print_date(time_t secs, char *format) { -- cgit v1.2.1