all repos — cgit @ 6bcda2f73da605d48279341b1905c1b234a39368

a hyperfast web frontend for git written in c

ui-shared: Add current url helper function.
Jason A. Donenfeld Jason@zx2c4.com
Tue, 03 Mar 2015 17:18:42 +0100
commit

6bcda2f73da605d48279341b1905c1b234a39368

parent

db4b735464aa9a3a329494b7f042413a65e182f2

3 files changed, 12 insertions(+), 4 deletions(-)

jump to
M ui-repolist.cui-repolist.c

@@ -108,7 +108,7 @@

static void print_sort_header(const char *title, const char *sort) { html("<th class='left'><a href='"); - html_attr(ctx.qry.url); + html_attr(cgit_currenturl()); htmlf("?s=%s", sort); if (ctx.qry.search) { html("&amp;q=");

@@ -315,7 +315,7 @@ html_txt(ctx.repo->owner);

cgit_close_filter(ctx.repo->owner_filter); } else { html("<a href='"); - html_attr(ctx.qry.url); + html_attr(cgit_currenturl()); html("?q="); html_url_arg(ctx.repo->owner); html("'>");
M ui-shared.cui-shared.c

@@ -65,6 +65,13 @@ return ctx.env.server_name;

return fmtalloc("%s:%s", ctx.env.server_name, ctx.env.server_port); } +const char *cgit_currenturl() +{ + if (!ctx.qry.url) + return cgit_rooturl(); + return ctx.qry.url; +} + const char *cgit_rooturl() { if (ctx.cfg.virtual_root)

@@ -145,7 +152,7 @@ {

char *delim = "?"; if (!page) - html_attr(ctx.qry.url); + html_attr(cgit_currenturl()); else html_attr(cgit_rooturl());

@@ -952,7 +959,7 @@ site_link("about", "about", NULL, hc("about"),

NULL, NULL, 0); html("</td><td class='form'>"); html("<form method='get' action='"); - html_attr(ctx.qry.url); + html_attr(cgit_currenturl()); html("'>\n"); html("<input type='text' name='q' size='10' value='"); html_attr(ctx.qry.search);
M ui-shared.hui-shared.h

@@ -4,6 +4,7 @@

extern const char *cgit_httpscheme(); extern const char *cgit_hosturl(); extern const char *cgit_rooturl(); +extern const char *cgit_currenturl(); extern const char *cgit_loginurl(); extern char *cgit_repourl(const char *reponame); extern char *cgit_fileurl(const char *reponame, const char *pagename,