diff options
| author | Stefan Naewe <stefan.naewe@atlas-elektronik.com> | 2008-08-01 14:54:38 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2008-08-01 22:09:13 +0200 | 
| commit | 0f0ab148c6d444316af10e6b4c7a60630fed45d3 (patch) | |
| tree | a52c08e648c5d656866cecf78e757f2f85211b19 | |
| parent | Makefile: another take on git dependency rules (diff) | |
| download | cgit-0f0ab148c6d444316af10e6b4c7a60630fed45d3.tar.gz cgit-0f0ab148c6d444316af10e6b4c7a60630fed45d3.tar.bz2 cgit-0f0ab148c6d444316af10e6b4c7a60630fed45d3.zip | |
Added `local-time` option to cgitrc
When `local-time` is set, commit, tag and patch timestamps will be printed
in the servers timezone. Also, regardless of the value of `local-time`,
these timestamps will now always show the timezone.
Signed-off-by: Stefan Naewe <stefan.naewe@atlas-elektronik.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to '')
| -rw-r--r-- | cgit.c | 3 | ||||
| -rw-r--r-- | cgit.h | 3 | ||||
| -rw-r--r-- | ui-commit.c | 4 | ||||
| -rw-r--r-- | ui-patch.c | 2 | ||||
| -rw-r--r-- | ui-shared.c | 11 | ||||
| -rw-r--r-- | ui-shared.h | 2 | ||||
| -rw-r--r-- | ui-tag.c | 2 | 
7 files changed, 17 insertions, 10 deletions
| @@ -87,6 +87,8 @@ void config_cb(const char *name, const char *value)  		ctx.cfg.robots = xstrdup(value);  	else if (!strcmp(name, "clone-prefix"))  		ctx.cfg.clone_prefix = xstrdup(value); +	else if (!strcmp(name, "local-time")) +		ctx.cfg.local_time = atoi(value);  	else if (!strcmp(name, "repo.group"))  		ctx.cfg.repo_group = xstrdup(value);  	else if (!strcmp(name, "repo.url")) @@ -167,6 +169,7 @@ static void prepare_context(struct cgit_context *ctx)  	ctx->cfg.cache_static_ttl = -1;  	ctx->cfg.css = "/cgit.css";  	ctx->cfg.logo = "/git-logo.png"; +	ctx->cfg.local_time = 0;  	ctx->cfg.max_repo_count = 50;  	ctx->cfg.max_commit_count = 50;  	ctx->cfg.max_lock_attempts = 5; @@ -22,7 +22,7 @@  /*   * Dateformats used on misc. pages   */ -#define FMT_LONGDATE "%Y-%m-%d %H:%M:%S" +#define FMT_LONGDATE "%Y-%m-%d %H:%M:%S (%Z)"  #define FMT_SHORTDATE "%Y-%m-%d" @@ -148,6 +148,7 @@ struct cgit_config {  	int enable_index_links;  	int enable_log_filecount;  	int enable_log_linecount; +	int local_time;  	int max_repo_count;  	int max_commit_count;  	int max_lock_attempts; diff --git a/ui-commit.c b/ui-commit.c index 4bbb391..a6a85a4 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -40,14 +40,14 @@ void cgit_print_commit(char *hex)  	html(" ");  	html_txt(info->author_email);  	html("</td><td class='right'>"); -	cgit_print_date(info->author_date, FMT_LONGDATE); +	cgit_print_date(info->author_date, FMT_LONGDATE, ctx.cfg.local_time);  	html("</td></tr>\n");  	html("<tr><th>committer</th><td>");  	html_txt(info->committer);  	html(" ");  	html_txt(info->committer_email);  	html("</td><td class='right'>"); -	cgit_print_date(info->committer_date, FMT_LONGDATE); +	cgit_print_date(info->committer_date, FMT_LONGDATE, ctx.cfg.local_time);  	html("</td></tr>\n");  	html("<tr><th>commit</th><td colspan='2' class='sha1'>");  	tmp = sha1_to_hex(commit->object.sha1); @@ -103,7 +103,7 @@ void cgit_print_patch(char *hex)  	htmlf("From %s Mon Sep 17 00:00:00 2001\n", sha1_to_hex(sha1));  	htmlf("From: %s%s\n", info->author, info->author_email);  	html("Date: "); -	cgit_print_date(info->author_date, "%a, %d  %b  %Y  %H:%M:%S  %z%n"); +	cgit_print_date(info->author_date, "%a, %d  %b  %Y  %H:%M:%S  %z%n", ctx.cfg.local_time);  	htmlf("Subject: %s\n\n", info->subject);  	if (info->msg && *info->msg) {  		htmlf("%s", info->msg); diff --git a/ui-shared.c b/ui-shared.c index 4280a70..197ee37 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -353,14 +353,17 @@ void cgit_object_link(struct object *obj)  	html_link_close();  } -void cgit_print_date(time_t secs, char *format) +void cgit_print_date(time_t secs, char *format, int local_time)  {  	char buf[64];  	struct tm *time;  	if (!secs)  		return; -	time = gmtime(&secs); +	if(local_time) +		time = localtime(&secs); +	else +		time = gmtime(&secs);  	strftime(buf, sizeof(buf)-1, format, time);  	html_txt(buf);  } @@ -375,7 +378,7 @@ void cgit_print_age(time_t t, time_t max_relative, char *format)  	secs = now - t;  	if (secs > max_relative && max_relative >= 0) { -		cgit_print_date(t, format); +		cgit_print_date(t, format, ctx.cfg.local_time);  		return;  	} @@ -453,7 +456,7 @@ void cgit_print_docend()  		html_include(ctx.cfg.footer);  	else {  		html("<div class='footer'>generated "); -		cgit_print_date(time(NULL), FMT_LONGDATE); +		cgit_print_date(time(NULL), FMT_LONGDATE, ctx.cfg.local_time);  		htmlf(" by cgit %s", cgit_version);  		html("</div>\n");  	} diff --git a/ui-shared.h b/ui-shared.h index 3005d30..07da4b4 100644 --- a/ui-shared.h +++ b/ui-shared.h @@ -27,7 +27,7 @@ extern void cgit_diff_link(char *name, char *title, char *class, char *head,  extern void cgit_object_link(struct object *obj);  extern void cgit_print_error(char *msg); -extern void cgit_print_date(time_t secs, char *format); +extern void cgit_print_date(time_t secs, char *format, int local_time);  extern void cgit_print_age(time_t t, time_t max_relative, char *format);  extern void cgit_print_http_headers(struct cgit_context *ctx);  extern void cgit_print_docstart(struct cgit_context *ctx); @@ -57,7 +57,7 @@ void cgit_print_tag(char *revname)  		      revname, sha1_to_hex(sha1));  		if (info->tagger_date > 0) {  			html("<tr><td>Tag date</td><td>"); -			cgit_print_date(info->tagger_date, FMT_LONGDATE); +			cgit_print_date(info->tagger_date, FMT_LONGDATE, ctx.cfg.local_time);  			html("</td></tr>\n");  		}  		if (info->tagger) { | 
