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) (side-by-side diff)
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) (show 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)
if (!ctx.qry.search)
return 1;
if (repo->url && strcasestr(repo->url, ctx.qry.search))
return 1;
if (repo->name && strcasestr(repo->name, ctx.qry.search))
return 1;
if (repo->desc && strcasestr(repo->desc, ctx.qry.search))
return 1;
if (repo->owner && strcasestr(repo->owner, ctx.qry.search))
return 1;
return 0;
}
int is_in_url(struct cgit_repo *repo)
{
if (!ctx.qry.url)
return 1;
if (repo->url && !prefixcmp(repo->url, ctx.qry.url))
return 1;
return 0;
}
void print_sort_header(const char *title, const char *sort)
{
- htmlf("<th class='left'><a href='./?s=%s", sort);
+ htmlf("<th class='left'><a href='%s?s=%s", cgit_rooturl(), sort);
if (ctx.qry.search) {
html("&q=");
html_url_arg(ctx.qry.search);
}
htmlf("'>%s</a></th>", title);
}
void print_header(int columns)
{
html("<tr class='nohover'>");
print_sort_header("Name", "name");
print_sort_header("Description", "desc");
print_sort_header("Owner", "owner");
print_sort_header("Idle", "idle");
if (ctx.cfg.enable_index_links)
html("<th class='left'>Links</th>");
html("</tr>\n");
}
void print_pager(int items, int pagelen, char *search)
{
int i;
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 @@
#ifndef UI_SHARED_H
#define UI_SHARED_H
extern char *cgit_httpscheme();
extern char *cgit_hosturl();
+extern char *cgit_rooturl();
extern char *cgit_repourl(const char *reponame);
extern char *cgit_fileurl(const char *reponame, const char *pagename,
const char *filename, const char *query);
extern char *cgit_pageurl(const char *reponame, const char *pagename,
const char *query);
extern void cgit_index_link(char *name, char *title, char *class,
char *pattern, int ofs);
extern void cgit_summary_link(char *name, char *title, char *class, char *head);
extern void cgit_tag_link(char *name, char *title, char *class, char *head,
char *rev);
extern void cgit_tree_link(char *name, char *title, char *class, char *head,
char *rev, char *path);
extern void cgit_plain_link(char *name, char *title, char *class, char *head,
char *rev, char *path);
extern void cgit_log_link(char *name, char *title, char *class, char *head,
char *rev, char *path, int ofs, char *grep,
char *pattern, int showmsg);
extern void cgit_commit_link(char *name, char *title, char *class, char *head,
char *rev);
extern void cgit_patch_link(char *name, char *title, char *class, char *head,
char *rev);
extern void cgit_refs_link(char *name, char *title, char *class, char *head,
char *rev, char *path);