author | Geoff Johnstone <qwerty@acm.org> | 2009-09-20 10:32:07 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2009-09-20 11:07:57 (UTC) |
commit | 9735835c0e9f2c4a0caf5a431fc455d5855472aa (patch) (unidiff) | |
tree | 6aeeced9ddf29507975bd52e72537287276dddc0 | |
parent | 8071e18dcbf56b98ecea4332e85884cdd91236cc (diff) | |
download | cgit-9735835c0e9f2c4a0caf5a431fc455d5855472aa.zip cgit-9735835c0e9f2c4a0caf5a431fc455d5855472aa.tar.gz cgit-9735835c0e9f2c4a0caf5a431fc455d5855472aa.tar.bz2 |
Fix repolist search links with virtual root
Signed-off-by: Geoff Johnstone <geoff.johnstone@googlemail.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-repolist.c | 2 | ||||
-rw-r--r-- | ui-shared.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/ui-repolist.c b/ui-repolist.c index 3ef2e99..0a0b6ca 100644 --- a/ui-repolist.c +++ b/ui-repolist.c | |||
@@ -73,49 +73,49 @@ int is_match(struct cgit_repo *repo) | |||
73 | if (!ctx.qry.search) | 73 | if (!ctx.qry.search) |
74 | return 1; | 74 | return 1; |
75 | if (repo->url && strcasestr(repo->url, ctx.qry.search)) | 75 | if (repo->url && strcasestr(repo->url, ctx.qry.search)) |
76 | return 1; | 76 | return 1; |
77 | if (repo->name && strcasestr(repo->name, ctx.qry.search)) | 77 | if (repo->name && strcasestr(repo->name, ctx.qry.search)) |
78 | return 1; | 78 | return 1; |
79 | if (repo->desc && strcasestr(repo->desc, ctx.qry.search)) | 79 | if (repo->desc && strcasestr(repo->desc, ctx.qry.search)) |
80 | return 1; | 80 | return 1; |
81 | if (repo->owner && strcasestr(repo->owner, ctx.qry.search)) | 81 | if (repo->owner && strcasestr(repo->owner, ctx.qry.search)) |
82 | return 1; | 82 | return 1; |
83 | return 0; | 83 | return 0; |
84 | } | 84 | } |
85 | 85 | ||
86 | int is_in_url(struct cgit_repo *repo) | 86 | int is_in_url(struct cgit_repo *repo) |
87 | { | 87 | { |
88 | if (!ctx.qry.url) | 88 | if (!ctx.qry.url) |
89 | return 1; | 89 | return 1; |
90 | if (repo->url && !prefixcmp(repo->url, ctx.qry.url)) | 90 | if (repo->url && !prefixcmp(repo->url, ctx.qry.url)) |
91 | return 1; | 91 | return 1; |
92 | return 0; | 92 | return 0; |
93 | } | 93 | } |
94 | 94 | ||
95 | void print_sort_header(const char *title, const char *sort) | 95 | void print_sort_header(const char *title, const char *sort) |
96 | { | 96 | { |
97 | htmlf("<th class='left'><a href='./?s=%s", sort); | 97 | htmlf("<th class='left'><a href='%s?s=%s", cgit_rooturl(), sort); |
98 | if (ctx.qry.search) { | 98 | if (ctx.qry.search) { |
99 | html("&q="); | 99 | html("&q="); |
100 | html_url_arg(ctx.qry.search); | 100 | html_url_arg(ctx.qry.search); |
101 | } | 101 | } |
102 | htmlf("'>%s</a></th>", title); | 102 | htmlf("'>%s</a></th>", title); |
103 | } | 103 | } |
104 | 104 | ||
105 | void print_header(int columns) | 105 | void print_header(int columns) |
106 | { | 106 | { |
107 | html("<tr class='nohover'>"); | 107 | html("<tr class='nohover'>"); |
108 | print_sort_header("Name", "name"); | 108 | print_sort_header("Name", "name"); |
109 | print_sort_header("Description", "desc"); | 109 | print_sort_header("Description", "desc"); |
110 | print_sort_header("Owner", "owner"); | 110 | print_sort_header("Owner", "owner"); |
111 | print_sort_header("Idle", "idle"); | 111 | print_sort_header("Idle", "idle"); |
112 | if (ctx.cfg.enable_index_links) | 112 | if (ctx.cfg.enable_index_links) |
113 | html("<th class='left'>Links</th>"); | 113 | html("<th class='left'>Links</th>"); |
114 | html("</tr>\n"); | 114 | html("</tr>\n"); |
115 | } | 115 | } |
116 | 116 | ||
117 | 117 | ||
118 | void print_pager(int items, int pagelen, char *search) | 118 | void print_pager(int items, int pagelen, char *search) |
119 | { | 119 | { |
120 | int i; | 120 | int i; |
121 | html("<div class='pager'>"); | 121 | html("<div class='pager'>"); |
diff --git a/ui-shared.h b/ui-shared.h index bff4826..b12aa89 100644 --- a/ui-shared.h +++ b/ui-shared.h | |||
@@ -1,29 +1,30 @@ | |||
1 | #ifndef UI_SHARED_H | 1 | #ifndef UI_SHARED_H |
2 | #define UI_SHARED_H | 2 | #define UI_SHARED_H |
3 | 3 | ||
4 | extern char *cgit_httpscheme(); | 4 | extern char *cgit_httpscheme(); |
5 | extern char *cgit_hosturl(); | 5 | extern char *cgit_hosturl(); |
6 | extern char *cgit_rooturl(); | ||
6 | extern char *cgit_repourl(const char *reponame); | 7 | extern char *cgit_repourl(const char *reponame); |
7 | extern char *cgit_fileurl(const char *reponame, const char *pagename, | 8 | extern char *cgit_fileurl(const char *reponame, const char *pagename, |
8 | const char *filename, const char *query); | 9 | const char *filename, const char *query); |
9 | extern char *cgit_pageurl(const char *reponame, const char *pagename, | 10 | extern char *cgit_pageurl(const char *reponame, const char *pagename, |
10 | const char *query); | 11 | const char *query); |
11 | 12 | ||
12 | extern void cgit_index_link(char *name, char *title, char *class, | 13 | extern void cgit_index_link(char *name, char *title, char *class, |
13 | char *pattern, int ofs); | 14 | char *pattern, int ofs); |
14 | extern void cgit_summary_link(char *name, char *title, char *class, char *head); | 15 | extern void cgit_summary_link(char *name, char *title, char *class, char *head); |
15 | extern void cgit_tag_link(char *name, char *title, char *class, char *head, | 16 | extern void cgit_tag_link(char *name, char *title, char *class, char *head, |
16 | char *rev); | 17 | char *rev); |
17 | extern void cgit_tree_link(char *name, char *title, char *class, char *head, | 18 | extern void cgit_tree_link(char *name, char *title, char *class, char *head, |
18 | char *rev, char *path); | 19 | char *rev, char *path); |
19 | extern void cgit_plain_link(char *name, char *title, char *class, char *head, | 20 | extern void cgit_plain_link(char *name, char *title, char *class, char *head, |
20 | char *rev, char *path); | 21 | char *rev, char *path); |
21 | extern void cgit_log_link(char *name, char *title, char *class, char *head, | 22 | extern void cgit_log_link(char *name, char *title, char *class, char *head, |
22 | char *rev, char *path, int ofs, char *grep, | 23 | char *rev, char *path, int ofs, char *grep, |
23 | char *pattern, int showmsg); | 24 | char *pattern, int showmsg); |
24 | extern void cgit_commit_link(char *name, char *title, char *class, char *head, | 25 | extern void cgit_commit_link(char *name, char *title, char *class, char *head, |
25 | char *rev); | 26 | char *rev); |
26 | extern void cgit_patch_link(char *name, char *title, char *class, char *head, | 27 | extern void cgit_patch_link(char *name, char *title, char *class, char *head, |
27 | char *rev); | 28 | char *rev); |
28 | extern void cgit_refs_link(char *name, char *title, char *class, char *head, | 29 | extern void cgit_refs_link(char *name, char *title, char *class, char *head, |
29 | char *rev, char *path); | 30 | char *rev, char *path); |