summaryrefslogtreecommitdiffabout
authorGeoff Johnstone <qwerty@acm.org>2009-09-20 10:32:07 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-09-20 11:07:57 (UTC)
commit9735835c0e9f2c4a0caf5a431fc455d5855472aa (patch) (unidiff)
tree6aeeced9ddf29507975bd52e72537287276dddc0
parent8071e18dcbf56b98ecea4332e85884cdd91236cc (diff)
downloadcgit-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>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-repolist.c2
-rw-r--r--ui-shared.h1
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
86int is_in_url(struct cgit_repo *repo) 86int 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
95void print_sort_header(const char *title, const char *sort) 95void 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
105void print_header(int columns) 105void 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
118void print_pager(int items, int pagelen, char *search) 118void 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
4extern char *cgit_httpscheme(); 4extern char *cgit_httpscheme();
5extern char *cgit_hosturl(); 5extern char *cgit_hosturl();
6extern char *cgit_rooturl();
6extern char *cgit_repourl(const char *reponame); 7extern char *cgit_repourl(const char *reponame);
7extern char *cgit_fileurl(const char *reponame, const char *pagename, 8extern char *cgit_fileurl(const char *reponame, const char *pagename,
8 const char *filename, const char *query); 9 const char *filename, const char *query);
9extern char *cgit_pageurl(const char *reponame, const char *pagename, 10extern char *cgit_pageurl(const char *reponame, const char *pagename,
10 const char *query); 11 const char *query);
11 12
12extern void cgit_index_link(char *name, char *title, char *class, 13extern void cgit_index_link(char *name, char *title, char *class,
13 char *pattern, int ofs); 14 char *pattern, int ofs);
14extern void cgit_summary_link(char *name, char *title, char *class, char *head); 15extern void cgit_summary_link(char *name, char *title, char *class, char *head);
15extern void cgit_tag_link(char *name, char *title, char *class, char *head, 16extern void cgit_tag_link(char *name, char *title, char *class, char *head,
16 char *rev); 17 char *rev);
17extern void cgit_tree_link(char *name, char *title, char *class, char *head, 18extern void cgit_tree_link(char *name, char *title, char *class, char *head,
18 char *rev, char *path); 19 char *rev, char *path);
19extern void cgit_plain_link(char *name, char *title, char *class, char *head, 20extern void cgit_plain_link(char *name, char *title, char *class, char *head,
20 char *rev, char *path); 21 char *rev, char *path);
21extern void cgit_log_link(char *name, char *title, char *class, char *head, 22extern 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);
24extern void cgit_commit_link(char *name, char *title, char *class, char *head, 25extern void cgit_commit_link(char *name, char *title, char *class, char *head,
25 char *rev); 26 char *rev);
26extern void cgit_patch_link(char *name, char *title, char *class, char *head, 27extern void cgit_patch_link(char *name, char *title, char *class, char *head,
27 char *rev); 28 char *rev);
28extern void cgit_refs_link(char *name, char *title, char *class, char *head, 29extern void cgit_refs_link(char *name, char *title, char *class, char *head,
29 char *rev, char *path); 30 char *rev, char *path);