summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-shared.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 6300516..3322561 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -76,65 +76,71 @@ char *cgit_currurl()
76void cgit_print_date(unsigned long secs) 76void cgit_print_date(unsigned long secs)
77{ 77{
78 char buf[32]; 78 char buf[32];
79 struct tm *time; 79 struct tm *time;
80 80
81 time = gmtime(&secs); 81 time = gmtime(&secs);
82 strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", time); 82 strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", time);
83 html_txt(buf); 83 html_txt(buf);
84 84
85} 85}
86 86
87void cgit_print_docstart(char *title, struct cacheitem *item) 87void cgit_print_docstart(char *title, struct cacheitem *item)
88{ 88{
89 html("Content-Type: text/html; charset=utf-8\n"); 89 html("Content-Type: text/html; charset=utf-8\n");
90 htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime)); 90 htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime));
91 htmlf("Expires: %s\n", http_date(item->st.st_mtime + 91 htmlf("Expires: %s\n", http_date(item->st.st_mtime +
92 ttl_seconds(item->ttl))); 92 ttl_seconds(item->ttl)));
93 html("\n"); 93 html("\n");
94 html(cgit_doctype); 94 html(cgit_doctype);
95 html("<html>\n"); 95 html("<html>\n");
96 html("<head>\n"); 96 html("<head>\n");
97 html("<title>"); 97 html("<title>");
98 html_txt(title); 98 html_txt(title);
99 html("</title>\n"); 99 html("</title>\n");
100 htmlf("<meta name='generator' content='cgit v%s'/>\n", cgit_version); 100 htmlf("<meta name='generator' content='cgit v%s'/>\n", cgit_version);
101 html("<link rel='stylesheet' type='text/css' href='"); 101 html("<link rel='stylesheet' type='text/css' href='");
102 html_attr(cgit_css); 102 html_attr(cgit_css);
103 html("'/>\n"); 103 html("'/>\n");
104 html("</head>\n"); 104 html("</head>\n");
105 html("<body>\n"); 105 html("<body>\n");
106} 106}
107 107
108void cgit_print_docend() 108void cgit_print_docend()
109{ 109{
110 html("</td></tr></table>"); 110 html("</td></tr></table>");
111 html("</body>\n</html>\n"); 111 html("</body>\n</html>\n");
112} 112}
113 113
114void cgit_print_pageheader(char *title, int show_search) 114void cgit_print_pageheader(char *title, int show_search)
115{ 115{
116 html("<table id='layout'><tr><td id='header'>"); 116 html("<table id='layout'><tr><td id='header'>");
117 htmlf("<a href='%s'>", cgit_logo_link); 117 htmlf("<a href='%s'>", cgit_logo_link);
118 htmlf("<img id='logo' src='%s'/>\n", cgit_logo); 118 htmlf("<img id='logo' src='%s'/>\n", cgit_logo);
119 htmlf("</a>"); 119 htmlf("</a>");
120 if (show_search) { 120 if (show_search) {
121 html("<form method='get' href='"); 121 html("<form method='get' href='");
122 html_attr(cgit_currurl()); 122 html_attr(cgit_currurl());
123 html("'>"); 123 html("'>");
124 if (!cgit_virtual_root) {
125 if (cgit_query_repo)
126 html_hidden("r", cgit_query_repo);
127 if (cgit_query_page)
128 html_hidden("p", cgit_query_page);
129 }
124 if (cgit_query_head) 130 if (cgit_query_head)
125 html_hidden("h", cgit_query_head); 131 html_hidden("h", cgit_query_head);
126 if (cgit_query_sha1) 132 if (cgit_query_sha1)
127 html_hidden("id", cgit_query_sha1); 133 html_hidden("id", cgit_query_sha1);
128 if (cgit_query_sha2) 134 if (cgit_query_sha2)
129 html_hidden("id2", cgit_query_sha2); 135 html_hidden("id2", cgit_query_sha2);
130 html("<input type='text' name='q' value='"); 136 html("<input type='text' name='q' value='");
131 html_attr(cgit_query_search); 137 html_attr(cgit_query_search);
132 html("'/></form>"); 138 html("'/></form>");
133 } 139 }
134 if (cgit_query_repo) 140 if (cgit_query_repo)
135 htmlf("<a href='%s'>", cgit_repourl(cgit_query_repo)); 141 htmlf("<a href='%s'>", cgit_repourl(cgit_query_repo));
136 html_txt(title); 142 html_txt(title);
137 if (cgit_query_repo) 143 if (cgit_query_repo)
138 html("</a>"); 144 html("</a>");
139 html("</td></tr><tr><td id='content'>"); 145 html("</td></tr><tr><td id='content'>");
140} 146}