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 <hjemli@gmail.com>
此提交包含在:
64
ui-shared.c
64
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("<a");
|
||||
if (title) {
|
||||
html(" title='");
|
||||
html_attr(title);
|
||||
html("'");
|
||||
}
|
||||
if (class) {
|
||||
html(" class='");
|
||||
html_attr(class);
|
||||
html("'");
|
||||
}
|
||||
html(" href='");
|
||||
if (cgit_virtual_root) {
|
||||
html_attr(cgit_virtual_root);
|
||||
if (cgit_virtual_root[strlen(cgit_virtual_root) - 1] != '/')
|
||||
html("/");
|
||||
html_attr(cgit_repo->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("</a>");
|
||||
}
|
||||
|
||||
void cgit_print_date(time_t secs, char *format)
|
||||
{
|
||||
|
新增問題並參考
封鎖使用者