]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-repolist.c
simple-authentication.lua: tie secure cookies to field names
[ps-cgit] / ui-repolist.c
index 49c991f616a74a5fdf24f4c0c65d959c88275378..e945f6733270f83f654a3204a75edb42a0156f68 100644 (file)
@@ -108,7 +108,7 @@ static int is_in_url(struct cgit_repo *repo)
 static void print_sort_header(const char *title, const char *sort)
 {
        html("<th class='left'><a href='");
 static void print_sort_header(const char *title, const char *sort)
 {
        html("<th class='left'><a href='");
-       html_attr(cgit_rooturl());
+       html_attr(cgit_currenturl());
        htmlf("?s=%s", sort);
        if (ctx.qry.search) {
                html("&amp;q=");
        htmlf("?s=%s", sort);
        if (ctx.qry.search) {
                html("&amp;q=");
@@ -140,7 +140,7 @@ static void print_pager(int items, int pagelen, char *search, char *sort)
                class = (ctx.qry.ofs == ofs) ? "current" : NULL;
                html("<li>");
                cgit_index_link(fmt("[%d]", i + 1), fmt("Page %d", i + 1),
                class = (ctx.qry.ofs == ofs) ? "current" : NULL;
                html("<li>");
                cgit_index_link(fmt("[%d]", i + 1), fmt("Page %d", i + 1),
-                               class, search, sort, ofs);
+                               class, search, sort, ofs, 0);
                html("</li>");
        }
        html("</ul>");
                html("</li>");
        }
        html("</ul>");
@@ -275,6 +275,8 @@ void cgit_print_repolist()
        html("<table summary='repository list' class='list nowrap'>");
        for (i = 0; i < cgit_repolist.count; i++) {
                ctx.repo = &cgit_repolist.repos[i];
        html("<table summary='repository list' class='list nowrap'>");
        for (i = 0; i < cgit_repolist.count; i++) {
                ctx.repo = &cgit_repolist.repos[i];
+               if (ctx.repo->hide || ctx.repo->ignore)
+                       continue;
                if (!(is_match(ctx.repo) && is_in_url(ctx.repo)))
                        continue;
                hits++;
                if (!(is_match(ctx.repo) && is_in_url(ctx.repo)))
                        continue;
                hits++;
@@ -307,13 +309,19 @@ void cgit_print_repolist()
                html_link_close();
                html("</td><td>");
                if (ctx.cfg.enable_index_owner) {
                html_link_close();
                html("</td><td>");
                if (ctx.cfg.enable_index_owner) {
-                       html("<a href='");
-                       html_attr(cgit_rooturl());
-                       html("?q=");
-                       html_url_arg(ctx.repo->owner);
-                       html("'>");
-                       html_txt(ctx.repo->owner);
-                       html("</a>");
+                       if (ctx.repo->owner_filter) {
+                               cgit_open_filter(ctx.repo->owner_filter);
+                               html_txt(ctx.repo->owner);
+                               cgit_close_filter(ctx.repo->owner_filter);
+                       } else {
+                               html("<a href='");
+                               html_attr(cgit_currenturl());
+                               html("?q=");
+                               html_url_arg(ctx.repo->owner);
+                               html("'>");
+                               html_txt(ctx.repo->owner);
+                               html("</a>");
+                       }
                        html("</td><td>");
                }
                print_modtime(ctx.repo);
                        html("</td><td>");
                }
                print_modtime(ctx.repo);