-rw-r--r-- | ui-shared.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/ui-shared.c b/ui-shared.c index ae29615..7efae7a 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -743,43 +743,53 @@ static void cgit_print_path_crumbs(struct cgit_context *ctx, char *path) ctx->qry.path = p = path; while (p < end) { if (!(q = strchr(p, '/'))) q = end; *q = '\0'; html_txt("/"); cgit_self_link(p, NULL, NULL, ctx); if (q < end) *q = '/'; p = q + 1; } ctx->qry.path = old_path; } static void print_header(struct cgit_context *ctx) { + char *logo = NULL, *logo_link = NULL; + html("<table id='header'>\n"); html("<tr>\n"); - if (ctx->cfg.logo && ctx->cfg.logo[0] != 0) { + if (ctx->repo && ctx->repo->logo && *ctx->repo->logo) + logo = ctx->repo->logo; + else + logo = ctx->cfg.logo; + if (ctx->repo && ctx->repo->logo_link && *ctx->repo->logo_link) + logo_link = ctx->repo->logo_link; + else + logo_link = ctx->cfg.logo_link; + if (logo && *logo) { html("<td class='logo' rowspan='2'><a href='"); - if (ctx->cfg.logo_link) - html_attr(ctx->cfg.logo_link); + if (logo_link && *logo_link) + html_attr(logo_link); else html_attr(cgit_rooturl()); html("'><img src='"); - html_attr(ctx->cfg.logo); + html_attr(logo); html("' alt='cgit logo'/></a></td>\n"); } html("<td class='main'>"); if (ctx->repo) { cgit_index_link("index", NULL, NULL, NULL, 0); html(" : "); cgit_summary_link(ctx->repo->name, ctx->repo->name, NULL, NULL); html("</td><td class='form'>"); html("<form method='get' action=''>\n"); cgit_add_hidden_formfields(0, 1, ctx->qry.page); html("<select name='h' onchange='this.form.submit();'>\n"); for_each_branch_ref(print_branch_option, ctx->qry.head); html("</select> "); html("<input type='submit' name='' value='switch'/>"); html("</form>"); |