diff options
| author | Jason A. Donenfeld | 2015-03-03 17:18:42 +0100 |
|---|---|---|
| committer | Jason A. Donenfeld | 2015-03-03 17:18:42 +0100 |
| commit | 6bcda2f73da605d48279341b1905c1b234a39368 (patch) | |
| tree | e6b087ef3afa36f6aa92aa619bb51dc21b28d596 | |
| parent | db4b735464aa9a3a329494b7f042413a65e182f2 (diff) | |
| download | cgit-6bcda2f73da605d48279341b1905c1b234a39368.tar.gz cgit-6bcda2f73da605d48279341b1905c1b234a39368.tar.bz2 cgit-6bcda2f73da605d48279341b1905c1b234a39368.zip | |
ui-shared: Add current url helper function.
| -rw-r--r-- | ui-repolist.c | 4 | ||||
| -rw-r--r-- | ui-shared.c | 11 | ||||
| -rw-r--r-- | ui-shared.h | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/ui-repolist.c b/ui-repolist.c index 4b16b6e..12ac1fc 100644 --- a/ui-repolist.c +++ b/ui-repolist.c | |||
| @@ -108,7 +108,7 @@ static int is_in_url(struct cgit_repo *repo) | |||
| 108 | static void print_sort_header(const char *title, const char *sort) | 108 | static void print_sort_header(const char *title, const char *sort) |
| 109 | { | 109 | { |
| 110 | html("<th class='left'><a href='"); | 110 | html("<th class='left'><a href='"); |
| 111 | html_attr(ctx.qry.url); | 111 | html_attr(cgit_currenturl()); |
| 112 | htmlf("?s=%s", sort); | 112 | htmlf("?s=%s", sort); |
| 113 | if (ctx.qry.search) { | 113 | if (ctx.qry.search) { |
| 114 | html("&q="); | 114 | html("&q="); |
| @@ -315,7 +315,7 @@ void cgit_print_repolist() | |||
| 315 | cgit_close_filter(ctx.repo->owner_filter); | 315 | cgit_close_filter(ctx.repo->owner_filter); |
| 316 | } else { | 316 | } else { |
| 317 | html("<a href='"); | 317 | html("<a href='"); |
| 318 | html_attr(ctx.qry.url); | 318 | html_attr(cgit_currenturl()); |
| 319 | html("?q="); | 319 | html("?q="); |
| 320 | html_url_arg(ctx.repo->owner); | 320 | html_url_arg(ctx.repo->owner); |
| 321 | html("'>"); | 321 | html("'>"); |
diff --git a/ui-shared.c b/ui-shared.c index f8e5bef..838437c 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
| @@ -65,6 +65,13 @@ const char *cgit_hosturl() | |||
| 65 | return fmtalloc("%s:%s", ctx.env.server_name, ctx.env.server_port); | 65 | return fmtalloc("%s:%s", ctx.env.server_name, ctx.env.server_port); |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | const char *cgit_currenturl() | ||
| 69 | { | ||
| 70 | if (!ctx.qry.url) | ||
| 71 | return cgit_rooturl(); | ||
| 72 | return ctx.qry.url; | ||
| 73 | } | ||
| 74 | |||
| 68 | const char *cgit_rooturl() | 75 | const char *cgit_rooturl() |
| 69 | { | 76 | { |
| 70 | if (ctx.cfg.virtual_root) | 77 | if (ctx.cfg.virtual_root) |
| @@ -145,7 +152,7 @@ static void site_url(const char *page, const char *search, const char *sort, int | |||
| 145 | char *delim = "?"; | 152 | char *delim = "?"; |
| 146 | 153 | ||
| 147 | if (!page) | 154 | if (!page) |
| 148 | html_attr(ctx.qry.url); | 155 | html_attr(cgit_currenturl()); |
| 149 | else | 156 | else |
| 150 | html_attr(cgit_rooturl()); | 157 | html_attr(cgit_rooturl()); |
| 151 | 158 | ||
| @@ -952,7 +959,7 @@ void cgit_print_pageheader(void) | |||
| 952 | NULL, NULL, 0); | 959 | NULL, NULL, 0); |
| 953 | html("</td><td class='form'>"); | 960 | html("</td><td class='form'>"); |
| 954 | html("<form method='get' action='"); | 961 | html("<form method='get' action='"); |
| 955 | html_attr(ctx.qry.url); | 962 | html_attr(cgit_currenturl()); |
| 956 | html("'>\n"); | 963 | html("'>\n"); |
| 957 | html("<input type='text' name='q' size='10' value='"); | 964 | html("<input type='text' name='q' size='10' value='"); |
| 958 | html_attr(ctx.qry.search); | 965 | html_attr(ctx.qry.search); |
diff --git a/ui-shared.h b/ui-shared.h index 021fe4e..af78a13 100644 --- a/ui-shared.h +++ b/ui-shared.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | extern const char *cgit_httpscheme(); | 4 | extern const char *cgit_httpscheme(); |
| 5 | extern const char *cgit_hosturl(); | 5 | extern const char *cgit_hosturl(); |
| 6 | extern const char *cgit_rooturl(); | 6 | extern const char *cgit_rooturl(); |
| 7 | extern const char *cgit_currenturl(); | ||
| 7 | extern const char *cgit_loginurl(); | 8 | extern const char *cgit_loginurl(); |
| 8 | extern char *cgit_repourl(const char *reponame); | 9 | extern char *cgit_repourl(const char *reponame); |
| 9 | extern char *cgit_fileurl(const char *reponame, const char *pagename, | 10 | extern char *cgit_fileurl(const char *reponame, const char *pagename, |
