summaryrefslogtreecommitdiffabout
path: root/ui-shared.c
Unidiff
Diffstat (limited to 'ui-shared.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-shared.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 782caa7..6253a90 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -526,73 +526,82 @@ void cgit_print_pageheader(struct cgit_context *ctx)
526 526
527 html("</tr>\n"); 527 html("</tr>\n");
528 html("</table>\n"); 528 html("</table>\n");
529 529
530 html("<table class='tabs'><tr><td>\n"); 530 html("<table class='tabs'><tr><td>\n");
531 if (ctx->repo) { 531 if (ctx->repo) {
532 reporevlink(NULL, "summary", NULL, hc(cmd, "summary"), 532 reporevlink(NULL, "summary", NULL, hc(cmd, "summary"),
533 ctx->qry.head, NULL, NULL); 533 ctx->qry.head, NULL, NULL);
534 cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head, 534 cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head,
535 ctx->qry.sha1, NULL); 535 ctx->qry.sha1, NULL);
536 cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head, 536 cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head,
537 NULL, NULL, 0, NULL, NULL); 537 NULL, NULL, 0, NULL, NULL);
538 cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head, 538 cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head,
539 ctx->qry.sha1, NULL); 539 ctx->qry.sha1, NULL);
540 cgit_commit_link("commit", NULL, hc(cmd, "commit"), 540 cgit_commit_link("commit", NULL, hc(cmd, "commit"),
541 ctx->qry.head, ctx->qry.sha1); 541 ctx->qry.head, ctx->qry.sha1);
542 cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head, 542 cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head,
543 ctx->qry.sha1, ctx->qry.sha2, NULL); 543 ctx->qry.sha1, ctx->qry.sha2, NULL);
544 cgit_patch_link("patch", NULL, hc(cmd, "patch"), ctx->qry.head, 544 cgit_patch_link("patch", NULL, hc(cmd, "patch"), ctx->qry.head,
545 ctx->qry.sha1); 545 ctx->qry.sha1);
546 html("</td><td class='form'>"); 546 html("</td><td class='form'>");
547 html("<form class='right' method='get' action='"); 547 html("<form class='right' method='get' action='");
548 if (ctx->cfg.virtual_root) 548 if (ctx->cfg.virtual_root)
549 html_attr(cgit_fileurl(ctx->qry.repo, "log", 549 html_attr(cgit_fileurl(ctx->qry.repo, "log",
550 ctx->qry.path, NULL)); 550 ctx->qry.path, NULL));
551 html("'>\n"); 551 html("'>\n");
552 add_hidden_formfields(1, 0, "log"); 552 add_hidden_formfields(1, 0, "log");
553 html("<select name='qt'>\n"); 553 html("<select name='qt'>\n");
554 html_option("grep", "log msg", ctx->qry.grep); 554 html_option("grep", "log msg", ctx->qry.grep);
555 html_option("author", "author", ctx->qry.grep); 555 html_option("author", "author", ctx->qry.grep);
556 html_option("committer", "committer", ctx->qry.grep); 556 html_option("committer", "committer", ctx->qry.grep);
557 html("</select>\n"); 557 html("</select>\n");
558 html("<input class='txt' type='text' size='8' name='q' value='"); 558 html("<input class='txt' type='text' size='10' name='q' value='");
559 html_attr(ctx->qry.search); 559 html_attr(ctx->qry.search);
560 html("'/>\n"); 560 html("'/>\n");
561 html("<input type='submit' value='search'/>\n"); 561 html("<input type='submit' value='search'/>\n");
562 html("</form>\n"); 562 html("</form>\n");
563 } else { 563 } else {
564 html("<a class='active' href='"); 564 html("<a class='active' href='");
565 html_attr(cgit_rooturl()); 565 html_attr(cgit_rooturl());
566 html("'>index</a>\n"); 566 html("'>index</a>\n");
567 html("</td><td class='form'>");
568 html("<form method='get' action='");
569 html_attr(cgit_rooturl());
570 html("'>\n");
571 html("<input type='text' name='q' size='10' value='");
572 html_attr(ctx->qry.search);
573 html("'/>\n");
574 html("<input type='submit' value='search'/>\n");
575 html("</form>");
567 } 576 }
568 html("</td></tr></table>\n"); 577 html("</td></tr></table>\n");
569 html("<div class='content'>"); 578 html("<div class='content'>");
570} 579}
571 580
572void cgit_print_filemode(unsigned short mode) 581void cgit_print_filemode(unsigned short mode)
573{ 582{
574 if (S_ISDIR(mode)) 583 if (S_ISDIR(mode))
575 html("d"); 584 html("d");
576 else if (S_ISLNK(mode)) 585 else if (S_ISLNK(mode))
577 html("l"); 586 html("l");
578 else if (S_ISGITLINK(mode)) 587 else if (S_ISGITLINK(mode))
579 html("m"); 588 html("m");
580 else 589 else
581 html("-"); 590 html("-");
582 html_fileperm(mode >> 6); 591 html_fileperm(mode >> 6);
583 html_fileperm(mode >> 3); 592 html_fileperm(mode >> 3);
584 html_fileperm(mode); 593 html_fileperm(mode);
585} 594}
586 595
587void cgit_print_snapshot_links(const char *repo, const char *head, 596void cgit_print_snapshot_links(const char *repo, const char *head,
588 const char *hex, int snapshots) 597 const char *hex, int snapshots)
589{ 598{
590 const struct cgit_snapshot_format* f; 599 const struct cgit_snapshot_format* f;
591 char *filename; 600 char *filename;
592 601
593 for (f = cgit_snapshot_formats; f->suffix; f++) { 602 for (f = cgit_snapshot_formats; f->suffix; f++) {
594 if (!(snapshots & f->bit)) 603 if (!(snapshots & f->bit))
595 continue; 604 continue;
596 filename = fmt("%s-%s%s", cgit_repobasename(repo), hex, 605 filename = fmt("%s-%s%s", cgit_repobasename(repo), hex,
597 f->suffix); 606 f->suffix);
598 cgit_snapshot_link(filename, NULL, NULL, (char *)head, 607 cgit_snapshot_link(filename, NULL, NULL, (char *)head,