diff options
| author | Lars Hjemli <hjemli@gmail.com> | 2009-08-11 10:12:53 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2009-08-11 10:12:53 +0200 | 
| commit | 2c742d1a925486a47f74710325b3076a7742a9f9 (patch) | |
| tree | e16e8de4c65cb659a5b487ac3f8a7d7254fef395 /ui-shared.c | |
| parent | cgitrc.5.txt: describe where/how cgit will locate cgitrc (diff) | |
| parent | ui-shared: add support for header/footer options when embedded=1 (diff) | |
| download | cgit-2c742d1a925486a47f74710325b3076a7742a9f9.tar.gz cgit-2c742d1a925486a47f74710325b3076a7742a9f9.tar.bz2 cgit-2c742d1a925486a47f74710325b3076a7742a9f9.zip | |
Merge branch 'lh/embedded'
Diffstat (limited to '')
| -rw-r--r-- | ui-shared.c | 51 | 
1 files changed, 22 insertions, 29 deletions
| diff --git a/ui-shared.c b/ui-shared.c index 015c52b..cf06511 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -36,10 +36,7 @@ void cgit_print_error(char *msg)  char *cgit_httpscheme()  { -	char *https; - -	https = getenv("HTTPS"); -	if (https != NULL && strcmp(https, "on") == 0) +	if (ctx.env.https && !strcmp(ctx.env.https, "on"))  		return "https://";  	else  		return "http://"; @@ -47,22 +44,13 @@ char *cgit_httpscheme()  char *cgit_hosturl()  { -	char *host, *port; - -	host = getenv("HTTP_HOST"); -	if (host) { -		host = xstrdup(host); -	} else { -		host = getenv("SERVER_NAME"); -		if (!host) -			return NULL; -		port = getenv("SERVER_PORT"); -		if (port && atoi(port) != 80) -			host = xstrdup(fmt("%s:%d", host, atoi(port))); -		else -			host = xstrdup(host); -	} -	return host; +	if (ctx.env.http_host) +		return ctx.env.http_host; +	if (!ctx.env.server_name) +		return NULL; +	if (!ctx.env.server_port || atoi(ctx.env.server_port) == 80) +		return ctx.env.server_name; +	return xstrdup(fmt("%s:%s", ctx.env.server_name, ctx.env.server_port));  }  char *cgit_rooturl() @@ -467,9 +455,7 @@ void cgit_print_age(time_t t, time_t max_relative, char *format)  void cgit_print_http_headers(struct cgit_context *ctx)  { -	const char *method = getenv("REQUEST_METHOD"); - -	if (ctx->cfg.embedded) +	if (ctx->env.no_http && !strcmp(ctx->env.no_http, "1"))  		return;  	if (ctx->page.status) @@ -489,14 +475,17 @@ void cgit_print_http_headers(struct cgit_context *ctx)  	if (ctx->page.etag)  		htmlf("ETag: \"%s\"\n", ctx->page.etag);  	html("\n"); -	if (method && !strcmp(method, "HEAD")) +	if (ctx->env.request_method && !strcmp(ctx->env.request_method, "HEAD"))  		exit(0);  }  void cgit_print_docstart(struct cgit_context *ctx)  { -	if (ctx->cfg.embedded) +	if (ctx->cfg.embedded) { +		if (ctx->cfg.header) +			html_include(ctx->cfg.header);  		return; +	}  	char *host = cgit_hosturl();  	html(cgit_doctype); @@ -534,7 +523,13 @@ void cgit_print_docstart(struct cgit_context *ctx)  void cgit_print_docend()  { -	html("</div>"); +	html("</div> <!-- class=content -->\n"); +	if (ctx.cfg.embedded) { +		html("</div> <!-- id=cgit -->\n"); +		if (ctx.cfg.footer) +			html_include(ctx.cfg.footer); +		return; +	}  	if (ctx.cfg.footer)  		html_include(ctx.cfg.footer);  	else { @@ -543,9 +538,7 @@ void cgit_print_docend()  		cgit_print_date(time(NULL), FMT_LONGDATE, ctx.cfg.local_time);  		html("</div>\n");  	} -	html("</div>"); -	if (ctx.cfg.embedded) -		return; +	html("</div> <!-- id=cgit -->\n");  	html("</body>\n</html>\n");  } | 
