summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2006-12-15 23:33:28 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2006-12-15 23:33:28 (UTC)
commit148fb9622c6a96021e572d1a372e38896506031f (patch) (unidiff)
tree2bfde276f3fed3b3a42afbdd90a64c98d0502ae3
parent9a8f88658d51aeb86a79ac1121de13562ad2601f (diff)
downloadcgit-148fb9622c6a96021e572d1a372e38896506031f.zip
cgit-148fb9622c6a96021e572d1a372e38896506031f.tar.gz
cgit-148fb9622c6a96021e572d1a372e38896506031f.tar.bz2
Move cgit_print_date into ui-shared, reuse in ui-summary
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.h1
-rw-r--r--ui-commit.c11
-rw-r--r--ui-shared.c12
-rw-r--r--ui-summary.c20
4 files changed, 24 insertions, 20 deletions
diff --git a/cgit.h b/cgit.h
index a905e47..a54f2b5 100644
--- a/cgit.h
+++ b/cgit.h
@@ -82,12 +82,13 @@ extern int cache_expired(struct cacheitem *item);
82 82
83extern char *cgit_repourl(const char *reponame); 83extern char *cgit_repourl(const char *reponame);
84extern char *cgit_pageurl(const char *reponame, const char *pagename, 84extern char *cgit_pageurl(const char *reponame, const char *pagename,
85 const char *query); 85 const char *query);
86 86
87extern void cgit_print_error(char *msg); 87extern void cgit_print_error(char *msg);
88extern void cgit_print_date(unsigned long secs);
88extern void cgit_print_docstart(char *title, struct cacheitem *item); 89extern void cgit_print_docstart(char *title, struct cacheitem *item);
89extern void cgit_print_docend(); 90extern void cgit_print_docend();
90extern void cgit_print_pageheader(char *title); 91extern void cgit_print_pageheader(char *title);
91 92
92extern void cgit_print_repolist(struct cacheitem *item); 93extern void cgit_print_repolist(struct cacheitem *item);
93extern void cgit_print_summary(); 94extern void cgit_print_summary();
diff --git a/ui-commit.c b/ui-commit.c
index 1c0e7e5..2d38f0b 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -1,19 +1,8 @@
1#include "cgit.h" 1#include "cgit.h"
2 2
3void cgit_print_date(unsigned long secs)
4{
5 char buf[32];
6 struct tm *time;
7
8 time = gmtime(&secs);
9 strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", time);
10 html_txt(buf);
11
12}
13
14void cgit_print_commit(const char *hex) 3void cgit_print_commit(const char *hex)
15{ 4{
16 struct commit *commit; 5 struct commit *commit;
17 struct commitinfo *info; 6 struct commitinfo *info;
18 struct commit_list *p; 7 struct commit_list *p;
19 unsigned long size; 8 unsigned long size;
diff --git a/ui-shared.c b/ui-shared.c
index cb8a8df..1a6c127 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -57,12 +57,24 @@ char *cgit_pageurl(const char *reponame, const char *pagename,
57 pagename, query); 57 pagename, query);
58 } else { 58 } else {
59 return fmt("?r=%s&p=%s&%s", reponame, pagename, query); 59 return fmt("?r=%s&p=%s&%s", reponame, pagename, query);
60 } 60 }
61} 61}
62 62
63
64void cgit_print_date(unsigned long secs)
65{
66 char buf[32];
67 struct tm *time;
68
69 time = gmtime(&secs);
70 strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", time);
71 html_txt(buf);
72
73}
74
63void cgit_print_docstart(char *title, struct cacheitem *item) 75void cgit_print_docstart(char *title, struct cacheitem *item)
64{ 76{
65 html("Content-Type: text/html; charset=utf-8\n"); 77 html("Content-Type: text/html; charset=utf-8\n");
66 htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime)); 78 htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime));
67 htmlf("Expires: %s\n", http_date(item->st.st_mtime + 79 htmlf("Expires: %s\n", http_date(item->st.st_mtime +
68 ttl_seconds(item->ttl))); 80 ttl_seconds(item->ttl)));
diff --git a/ui-summary.c b/ui-summary.c
index 46814dd..8ff3642 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -9,32 +9,34 @@
9#include "cgit.h" 9#include "cgit.h"
10 10
11static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, 11static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
12 int flags, void *cb_data) 12 int flags, void *cb_data)
13{ 13{
14 struct commit *commit; 14 struct commit *commit;
15 struct commitinfo *info;
15 char buf[256], *url; 16 char buf[256], *url;
16 17
17 commit = lookup_commit(sha1); 18 commit = lookup_commit(sha1);
18 if (commit && !parse_commit(commit)){ 19 if (commit && !parse_commit(commit)){
20 info = cgit_parse_commit(commit);
19 html("<tr><td>"); 21 html("<tr><td>");
20 url = cgit_pageurl(cgit_query_repo, "log", 22 url = cgit_pageurl(cgit_query_repo, "log",
21 fmt("h=%s", refname)); 23 fmt("h=%s", refname));
22 html_link_open(url, NULL, NULL); 24 html_link_open(url, NULL, NULL);
23 strncpy(buf, refname, sizeof(buf)); 25 strncpy(buf, refname, sizeof(buf));
24 html_txt(buf); 26 html_txt(buf);
25 html_link_close(); 27 html_link_close();
26 html("</td><td>"); 28 html("</td><td>");
27 pretty_print_commit(CMIT_FMT_ONELINE, commit, ~0, buf, 29 cgit_print_date(commit->date);
28 sizeof(buf), 0, NULL, NULL, 0); 30 html("</td><td>");
29 html_txt(buf); 31 url = cgit_pageurl(cgit_query_repo, "commit", fmt("id=%s", sha1_to_hex(sha1)));
30 html("</td><td><a href='"); 32 html_link_open(url, NULL, NULL);
31 html_attr(cgit_pageurl(cgit_query_repo, "tree", 33 html_txt(info->subject);
32 fmt("id=%s", 34 html_link_close();
33 sha1_to_hex(commit->tree->object.sha1)))); 35 html("</td><td>");
34 html("'>tree</a>"); 36 html_txt(info->author);
35 html("</td></tr>\n"); 37 html("</td></tr>\n");
36 } else { 38 } else {
37 html("<tr><td>"); 39 html("<tr><td>");
38 html_txt(buf); 40 html_txt(buf);
39 html("</td><td>"); 41 html("</td><td>");
40 htmlf("*** bad ref %s", sha1_to_hex(sha1)); 42 htmlf("*** bad ref %s", sha1_to_hex(sha1));
@@ -43,13 +45,13 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
43 return 0; 45 return 0;
44} 46}
45 47
46static void cgit_print_branches() 48static void cgit_print_branches()
47{ 49{
48 html("<table class='list'>"); 50 html("<table class='list'>");
49 html("<tr><th>Branch</th><th>Last commit</th><th>Link</th></tr>\n"); 51 html("<tr><th class='left'>Branch</th><th class='left'>Updated</th><th class='left'>Commit subject</th><th class='left'>Author</th></tr>\n");
50 for_each_branch_ref(cgit_print_branch_cb, NULL); 52 for_each_branch_ref(cgit_print_branch_cb, NULL);
51 html("</table>"); 53 html("</table>");
52} 54}
53 55
54void cgit_print_summary() 56void cgit_print_summary()
55{ 57{