diff options
Diffstat (limited to '')
| -rw-r--r-- | ui-repolist.c | 54 | 
1 files changed, 29 insertions, 25 deletions
| diff --git a/ui-repolist.c b/ui-repolist.c index 3e97ca9..eeeaf3d 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -6,9 +6,11 @@   *   (see COPYING for full license text)   */ -#include "cgit.h"  #include <time.h> +#include "cgit.h" +#include "html.h" +#include "ui-shared.h"  time_t read_agefile(char *path)  { @@ -25,12 +27,12 @@ time_t read_agefile(char *path)  		return 0;  } -static void print_modtime(struct repoinfo *repo) +static void print_modtime(struct cgit_repo *repo)  {  	char *path;  	struct stat s; -	path = fmt("%s/%s", repo->path, cgit_agefile); +	path = fmt("%s/%s", repo->path, ctx.cfg.agefile);  	if (stat(path, &s) == 0) {  		cgit_print_age(read_agefile(path), -1, NULL);  		return; @@ -42,22 +44,24 @@ static void print_modtime(struct repoinfo *repo)  	cgit_print_age(s.st_mtime, -1, NULL);  } -void cgit_print_repolist(struct cacheitem *item) +void cgit_print_repolist()  {  	int i, columns = 4;  	char *last_group = NULL; -	if (cgit_enable_index_links) +	if (ctx.cfg.enable_index_links)  		columns++; -	cgit_print_docstart(cgit_root_title, item); -	cgit_print_pageheader(cgit_root_title, 0); +	ctx.page.title = ctx.cfg.root_title; +	cgit_print_http_headers(&ctx); +	cgit_print_docstart(&ctx); +	cgit_print_pageheader(&ctx);  	html("<table summary='repository list' class='list nowrap'>"); -	if (cgit_index_header) { +	if (ctx.cfg.index_header) {  		htmlf("<tr class='nohover'><td colspan='%d' class='include-block'>",  		      columns); -		html_include(cgit_index_header); +		html_include(ctx.cfg.index_header);  		html("</td></tr>");  	}  	html("<tr class='nohover'>" @@ -65,37 +69,37 @@ void cgit_print_repolist(struct cacheitem *item)  	     "<th class='left'>Description</th>"  	     "<th class='left'>Owner</th>"  	     "<th class='left'>Idle</th>"); -	if (cgit_enable_index_links) +	if (ctx.cfg.enable_index_links)  		html("<th>Links</th>");  	html("</tr>\n");  	for (i=0; i<cgit_repolist.count; i++) { -		cgit_repo = &cgit_repolist.repos[i]; -		if ((last_group == NULL && cgit_repo->group != NULL) || -		    (last_group != NULL && cgit_repo->group == NULL) || -		    (last_group != NULL && cgit_repo->group != NULL && -		     strcmp(cgit_repo->group, last_group))) { +		ctx.repo = &cgit_repolist.repos[i]; +		if ((last_group == NULL && ctx.repo->group != NULL) || +		    (last_group != NULL && ctx.repo->group == NULL) || +		    (last_group != NULL && ctx.repo->group != NULL && +		     strcmp(ctx.repo->group, last_group))) {  			htmlf("<tr class='nohover'><td colspan='%d' class='repogroup'>",  			      columns); -			html_txt(cgit_repo->group); +			html_txt(ctx.repo->group);  			html("</td></tr>"); -			last_group = cgit_repo->group; +			last_group = ctx.repo->group;  		}  		htmlf("<tr><td class='%s'>", -		      cgit_repo->group ? "sublevel-repo" : "toplevel-repo"); -		html_link_open(cgit_repourl(cgit_repo->url), NULL, NULL); -		html_txt(cgit_repo->name); +		      ctx.repo->group ? "sublevel-repo" : "toplevel-repo"); +		html_link_open(cgit_repourl(ctx.repo->url), NULL, NULL); +		html_txt(ctx.repo->name);  		html_link_close();  		html("</td><td>"); -		html_ntxt(cgit_max_repodesc_len, cgit_repo->desc); +		html_ntxt(ctx.cfg.max_repodesc_len, ctx.repo->desc);  		html("</td><td>"); -		html_txt(cgit_repo->owner); +		html_txt(ctx.repo->owner);  		html("</td><td>"); -		print_modtime(cgit_repo); +		print_modtime(ctx.repo);  		html("</td>"); -		if (cgit_enable_index_links) { +		if (ctx.cfg.enable_index_links) {  			html("<td>"); -			html_link_open(cgit_repourl(cgit_repo->url), +			html_link_open(cgit_repourl(ctx.repo->url),  				       NULL, "button");  			html("summary</a>");  			cgit_log_link("log", NULL, "button", NULL, NULL, NULL, | 
