ui-shared: add support for header/footer options when embedded=1

When embedded=1, cgit used to ignore the header and footer options.
But honoring these options when embedded=1 makes it possible to "frame"
the html fragment generated by cgit with any kind of static content,
i.e. it should become easier to integrate cgit with site-specfic
layouts.

Original-patch-by: Mark Constable <markc@renta.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2009-08-11 10:12:35 +02:00
parent 8b2252b0b6
commit 80550bbe02

View File

@ -481,8 +481,11 @@ void cgit_print_http_headers(struct cgit_context *ctx)
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);
@ -520,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 {
@ -529,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");
}