-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) | |||
743 | ctx->qry.path = p = path; | 743 | ctx->qry.path = p = path; |
744 | while (p < end) { | 744 | while (p < end) { |
745 | if (!(q = strchr(p, '/'))) | 745 | if (!(q = strchr(p, '/'))) |
746 | q = end; | 746 | q = end; |
747 | *q = '\0'; | 747 | *q = '\0'; |
748 | html_txt("/"); | 748 | html_txt("/"); |
749 | cgit_self_link(p, NULL, NULL, ctx); | 749 | cgit_self_link(p, NULL, NULL, ctx); |
750 | if (q < end) | 750 | if (q < end) |
751 | *q = '/'; | 751 | *q = '/'; |
752 | p = q + 1; | 752 | p = q + 1; |
753 | } | 753 | } |
754 | ctx->qry.path = old_path; | 754 | ctx->qry.path = old_path; |
755 | } | 755 | } |
756 | 756 | ||
757 | static void print_header(struct cgit_context *ctx) | 757 | static void print_header(struct cgit_context *ctx) |
758 | { | 758 | { |
759 | char *logo = NULL, *logo_link = NULL; | ||
760 | |||
759 | html("<table id='header'>\n"); | 761 | html("<table id='header'>\n"); |
760 | html("<tr>\n"); | 762 | html("<tr>\n"); |
761 | 763 | ||
762 | if (ctx->cfg.logo && ctx->cfg.logo[0] != 0) { | 764 | if (ctx->repo && ctx->repo->logo && *ctx->repo->logo) |
765 | logo = ctx->repo->logo; | ||
766 | else | ||
767 | logo = ctx->cfg.logo; | ||
768 | if (ctx->repo && ctx->repo->logo_link && *ctx->repo->logo_link) | ||
769 | logo_link = ctx->repo->logo_link; | ||
770 | else | ||
771 | logo_link = ctx->cfg.logo_link; | ||
772 | if (logo && *logo) { | ||
763 | html("<td class='logo' rowspan='2'><a href='"); | 773 | html("<td class='logo' rowspan='2'><a href='"); |
764 | if (ctx->cfg.logo_link) | 774 | if (logo_link && *logo_link) |
765 | html_attr(ctx->cfg.logo_link); | 775 | html_attr(logo_link); |
766 | else | 776 | else |
767 | html_attr(cgit_rooturl()); | 777 | html_attr(cgit_rooturl()); |
768 | html("'><img src='"); | 778 | html("'><img src='"); |
769 | html_attr(ctx->cfg.logo); | 779 | html_attr(logo); |
770 | html("' alt='cgit logo'/></a></td>\n"); | 780 | html("' alt='cgit logo'/></a></td>\n"); |
771 | } | 781 | } |
772 | 782 | ||
773 | html("<td class='main'>"); | 783 | html("<td class='main'>"); |
774 | if (ctx->repo) { | 784 | if (ctx->repo) { |
775 | cgit_index_link("index", NULL, NULL, NULL, 0); | 785 | cgit_index_link("index", NULL, NULL, NULL, 0); |
776 | html(" : "); | 786 | html(" : "); |
777 | cgit_summary_link(ctx->repo->name, ctx->repo->name, NULL, NULL); | 787 | cgit_summary_link(ctx->repo->name, ctx->repo->name, NULL, NULL); |
778 | html("</td><td class='form'>"); | 788 | html("</td><td class='form'>"); |
779 | html("<form method='get' action=''>\n"); | 789 | html("<form method='get' action=''>\n"); |
780 | cgit_add_hidden_formfields(0, 1, ctx->qry.page); | 790 | cgit_add_hidden_formfields(0, 1, ctx->qry.page); |
781 | html("<select name='h' onchange='this.form.submit();'>\n"); | 791 | html("<select name='h' onchange='this.form.submit();'>\n"); |
782 | for_each_branch_ref(print_branch_option, ctx->qry.head); | 792 | for_each_branch_ref(print_branch_option, ctx->qry.head); |
783 | html("</select> "); | 793 | html("</select> "); |
784 | html("<input type='submit' name='' value='switch'/>"); | 794 | html("<input type='submit' name='' value='switch'/>"); |
785 | html("</form>"); | 795 | html("</form>"); |