X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/d14d77fe95c3b6224b40df9b101dded0deea913c..b1f9b9c1459cb9a30ebf80721aff6ef788d1f891:/ui-shared.c?ds=inline diff --git a/ui-shared.c b/ui-shared.c index 6a41fb0..2eff79d 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -7,6 +7,7 @@ */ #include "cgit.h" +#include "html.h" const char cgit_doctype[] = "url); - if (cgit_repo->url[strlen(cgit_repo->url) - 1] != '/') + html_attr(ctx.repo->url); + if (ctx.repo->url[strlen(ctx.repo->url) - 1] != '/') html("/"); if (page) { html(page); @@ -151,10 +152,10 @@ static char *repolink(char *title, char *class, char *page, char *head, html_attr(path); } } else { - html(cgit_script_name); + html(ctx.cfg.script_name); html("?url="); - html_attr(cgit_repo->url); - if (cgit_repo->url[strlen(cgit_repo->url) - 1] != '/') + html_attr(ctx.repo->url); + if (ctx.repo->url[strlen(ctx.repo->url) - 1] != '/') html("/"); if (page) { html(page); @@ -164,7 +165,7 @@ static char *repolink(char *title, char *class, char *page, char *head, } delim = "&"; } - if (head && strcmp(head, cgit_repo->defbranch)) { + if (head && strcmp(head, ctx.repo->defbranch)) { html(delim); html("h="); html_attr(head); @@ -229,11 +230,11 @@ void cgit_log_link(char *name, char *title, char *class, char *head, void cgit_commit_link(char *name, char *title, char *class, char *head, char *rev) { - if (strlen(name) > cgit_max_msg_len && cgit_max_msg_len >= 15) { - name[cgit_max_msg_len] = '\0'; - name[cgit_max_msg_len - 1] = '.'; - name[cgit_max_msg_len - 2] = '.'; - name[cgit_max_msg_len - 3] = '.'; + if (strlen(name) > ctx.cfg.max_msg_len && ctx.cfg.max_msg_len >= 15) { + name[ctx.cfg.max_msg_len] = '\0'; + name[ctx.cfg.max_msg_len - 1] = '.'; + name[ctx.cfg.max_msg_len - 2] = '.'; + name[ctx.cfg.max_msg_len - 3] = '.'; } reporevlink("commit", name, title, class, head, rev, NULL); } @@ -374,10 +375,10 @@ void cgit_print_docstart(char *title, struct cacheitem *item) html_txt(title); html("\n"); htmlf("\n", cgit_version); - if (cgit_robots && *cgit_robots) - htmlf("\n", cgit_robots); + if (ctx.cfg.robots && *ctx.cfg.robots) + htmlf("\n", ctx.cfg.robots); html("\n"); html("\n"); html("\n"); @@ -439,14 +440,14 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page) { char *url; - if (!cgit_virtual_root) { + if (!ctx.cfg.virtual_root) { url = fmt("%s/%s", ctx.qry.repo, page); if (ctx.qry.path) url = fmt("%s/%s", url, ctx.qry.path); html_hidden("url", url); } - if (incl_head && strcmp(ctx.qry.head, cgit_repo->defbranch)) + if (incl_head && strcmp(ctx.qry.head, ctx.repo->defbranch)) html_hidden("h", ctx.qry.head); if (ctx.qry.sha1) @@ -474,16 +475,16 @@ void cgit_print_pageheader(char *title, int show_search) html("\ncgit\n", - cgit_logo); + ctx.cfg.logo); html("\n\n"); - if (ctx.qry.repo) { + if (ctx.repo) { html("

"); - html_txt(strrpart(cgit_repo->name, 20)); + html_txt(strrpart(ctx.repo->name, 20)); html("

\n"); - html_txt(cgit_repo->desc); - if (cgit_repo->owner) { + html_txt(ctx.repo->desc); + if (ctx.repo->owner) { html("

owner

\n"); - html_txt(cgit_repo->owner); + html_txt(ctx.repo->owner); } html("

navigate

\n"); reporevlink(NULL, "summary", NULL, "menu", ctx.qry.head, @@ -501,13 +502,13 @@ void cgit_print_pageheader(char *title, int show_search) for_each_ref(print_archive_ref, &header); - if (cgit_repo->clone_url || cgit_clone_prefix) { + if (ctx.repo->clone_url || ctx.cfg.clone_prefix) { html("

clone

\n"); - if (cgit_repo->clone_url) - url = cgit_repo->clone_url; + if (ctx.repo->clone_url) + url = ctx.repo->clone_url; else - url = fmt("%s%s", cgit_clone_prefix, - cgit_repo->url); + url = fmt("%s%s", ctx.cfg.clone_prefix, + ctx.repo->url); html("\n"); @@ -546,7 +547,7 @@ void cgit_print_pageheader(char *title, int show_search) html("'/>\n"); html("\n"); } else { - if (!cgit_index_info || html_include(cgit_index_info)) + if (!ctx.cfg.index_info || html_include(ctx.cfg.index_info)) html(default_info); } @@ -567,4 +568,19 @@ void cgit_print_snapshot_start(const char *mimetype, const char *filename, html("\n"); } +void cgit_print_filemode(unsigned short mode) +{ + if (S_ISDIR(mode)) + html("d"); + else if (S_ISLNK(mode)) + html("l"); + else if (S_ISGITLINK(mode)) + html("m"); + else + html("-"); + html_fileperm(mode >> 6); + html_fileperm(mode >> 3); + html_fileperm(mode); +} + /* vim:set sw=8: */