diff options
-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | cgit.h | 1 | ||||
-rw-r--r-- | cgitrc.5.txt | 4 | ||||
-rw-r--r-- | ui-atom.c | 2 | ||||
-rw-r--r-- | ui-commit.c | 12 | ||||
-rw-r--r-- | ui-patch.c | 6 | ||||
-rw-r--r-- | ui-tag.c | 2 | ||||
-rw-r--r-- | ui-tree.c | 8 |
8 files changed, 29 insertions, 8 deletions
diff --git a/cgit.c b/cgit.c index 4f414c3..aa1107a 100644 --- a/cgit.c +++ b/cgit.c | |||
@@ -59,6 +59,8 @@ void config_cb(const char *name, const char *value) | |||
59 | ctx.cfg.virtual_root = ""; | 59 | ctx.cfg.virtual_root = ""; |
60 | } else if (!strcmp(name, "nocache")) | 60 | } else if (!strcmp(name, "nocache")) |
61 | ctx.cfg.nocache = atoi(value); | 61 | ctx.cfg.nocache = atoi(value); |
62 | else if (!strcmp(name, "noplainemail")) | ||
63 | ctx.cfg.noplainemail = atoi(value); | ||
62 | else if (!strcmp(name, "noheader")) | 64 | else if (!strcmp(name, "noheader")) |
63 | ctx.cfg.noheader = atoi(value); | 65 | ctx.cfg.noheader = atoi(value); |
64 | else if (!strcmp(name, "snapshots")) | 66 | else if (!strcmp(name, "snapshots")) |
diff --git a/cgit.h b/cgit.h index 9259f33..1194eb0 100644 --- a/cgit.h +++ b/cgit.h | |||
@@ -169,6 +169,7 @@ struct cgit_config { | |||
169 | int max_repodesc_len; | 169 | int max_repodesc_len; |
170 | int max_stats; | 170 | int max_stats; |
171 | int nocache; | 171 | int nocache; |
172 | int noplainemail; | ||
172 | int noheader; | 173 | int noheader; |
173 | int renamelimit; | 174 | int renamelimit; |
174 | int snapshots; | 175 | int snapshots; |
diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 7256ec0..0412f64 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt | |||
@@ -162,6 +162,10 @@ nocache:: | |||
162 | deprecated, and will not be honored starting with cgit-1.0. Default | 162 | deprecated, and will not be honored starting with cgit-1.0. Default |
163 | value: "0". | 163 | value: "0". |
164 | 164 | ||
165 | noplainemail:: | ||
166 | If set to "1" showing full author email adresses will be disabled. | ||
167 | Default value: "0". | ||
168 | |||
165 | noheader:: | 169 | noheader:: |
166 | Flag which, when set to "1", will make cgit omit the standard header | 170 | Flag which, when set to "1", will make cgit omit the standard header |
167 | on all pages. Default value: none. See also: "embedded". | 171 | on all pages. Default value: none. See also: "embedded". |
diff --git a/ui-atom.c b/ui-atom.c index e5c31d9..808b2d0 100644 --- a/ui-atom.c +++ b/ui-atom.c | |||
@@ -32,7 +32,7 @@ void add_entry(struct commit *commit, char *host) | |||
32 | html_txt(info->author); | 32 | html_txt(info->author); |
33 | html("</name>\n"); | 33 | html("</name>\n"); |
34 | } | 34 | } |
35 | if (info->author_email) { | 35 | if (info->author_email && !ctx.cfg.noplainemail) { |
36 | mail = xstrdup(info->author_email); | 36 | mail = xstrdup(info->author_email); |
37 | t = strchr(mail, '<'); | 37 | t = strchr(mail, '<'); |
38 | if (t) | 38 | if (t) |
diff --git a/ui-commit.c b/ui-commit.c index 41ce70e..9fdb8ee 100644 --- a/ui-commit.c +++ b/ui-commit.c | |||
@@ -40,15 +40,19 @@ void cgit_print_commit(char *hex) | |||
40 | html("<table summary='commit info' class='commit-info'>\n"); | 40 | html("<table summary='commit info' class='commit-info'>\n"); |
41 | html("<tr><th>author</th><td>"); | 41 | html("<tr><th>author</th><td>"); |
42 | html_txt(info->author); | 42 | html_txt(info->author); |
43 | html(" "); | 43 | if (!ctx.cfg.noplainemail) { |
44 | html_txt(info->author_email); | 44 | html(" "); |
45 | html_txt(info->author_email); | ||
46 | } | ||
45 | html("</td><td class='right'>"); | 47 | html("</td><td class='right'>"); |
46 | cgit_print_date(info->author_date, FMT_LONGDATE, ctx.cfg.local_time); | 48 | cgit_print_date(info->author_date, FMT_LONGDATE, ctx.cfg.local_time); |
47 | html("</td></tr>\n"); | 49 | html("</td></tr>\n"); |
48 | html("<tr><th>committer</th><td>"); | 50 | html("<tr><th>committer</th><td>"); |
49 | html_txt(info->committer); | 51 | html_txt(info->committer); |
50 | html(" "); | 52 | if (!ctx.cfg.noplainemail) { |
51 | html_txt(info->committer_email); | 53 | html(" "); |
54 | html_txt(info->committer_email); | ||
55 | } | ||
52 | html("</td><td class='right'>"); | 56 | html("</td><td class='right'>"); |
53 | cgit_print_date(info->committer_date, FMT_LONGDATE, ctx.cfg.local_time); | 57 | cgit_print_date(info->committer_date, FMT_LONGDATE, ctx.cfg.local_time); |
54 | html("</td></tr>\n"); | 58 | html("</td></tr>\n"); |
diff --git a/ui-patch.c b/ui-patch.c index 5d665d3..2a8f7a5 100644 --- a/ui-patch.c +++ b/ui-patch.c | |||
@@ -108,7 +108,11 @@ void cgit_print_patch(char *hex) | |||
108 | ctx.page.filename = patchname; | 108 | ctx.page.filename = patchname; |
109 | cgit_print_http_headers(&ctx); | 109 | cgit_print_http_headers(&ctx); |
110 | htmlf("From %s Mon Sep 17 00:00:00 2001\n", sha1_to_hex(sha1)); | 110 | htmlf("From %s Mon Sep 17 00:00:00 2001\n", sha1_to_hex(sha1)); |
111 | htmlf("From: %s %s\n", info->author, info->author_email); | 111 | htmlf("From: %s", info->author); |
112 | if (!ctx.cfg.noplainemail) { | ||
113 | htmlf(" %s", info->author_email); | ||
114 | } | ||
115 | html("\n"); | ||
112 | html("Date: "); | 116 | html("Date: "); |
113 | cgit_print_date(info->author_date, "%a, %d %b %Y %H:%M:%S %z%n", ctx.cfg.local_time); | 117 | cgit_print_date(info->author_date, "%a, %d %b %Y %H:%M:%S %z%n", ctx.cfg.local_time); |
114 | htmlf("Subject: %s\n\n", info->subject); | 118 | htmlf("Subject: %s\n\n", info->subject); |
diff --git a/ui-tag.c b/ui-tag.c index 0e056e0..a9c8670 100644 --- a/ui-tag.c +++ b/ui-tag.c | |||
@@ -64,7 +64,7 @@ void cgit_print_tag(char *revname) | |||
64 | if (info->tagger) { | 64 | if (info->tagger) { |
65 | html("<tr><td>Tagged by</td><td>"); | 65 | html("<tr><td>Tagged by</td><td>"); |
66 | html_txt(info->tagger); | 66 | html_txt(info->tagger); |
67 | if (info->tagger_email) { | 67 | if (info->tagger_email && !ctx.cfg.noplainemail) { |
68 | html(" "); | 68 | html(" "); |
69 | html_txt(info->tagger_email); | 69 | html_txt(info->tagger_email); |
70 | } | 70 | } |
diff --git a/ui-tree.c b/ui-tree.c index 553dbaa..61fcf5a 100644 --- a/ui-tree.c +++ b/ui-tree.c | |||
@@ -103,6 +103,7 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen, | |||
103 | { | 103 | { |
104 | char *name; | 104 | char *name; |
105 | char *fullpath; | 105 | char *fullpath; |
106 | char *class; | ||
106 | enum object_type type; | 107 | enum object_type type; |
107 | unsigned long size = 0; | 108 | unsigned long size = 0; |
108 | 109 | ||
@@ -135,7 +136,12 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen, | |||
135 | cgit_tree_link(name, NULL, "ls-dir", ctx.qry.head, | 136 | cgit_tree_link(name, NULL, "ls-dir", ctx.qry.head, |
136 | curr_rev, fullpath); | 137 | curr_rev, fullpath); |
137 | } else { | 138 | } else { |
138 | cgit_tree_link(name, NULL, "ls-blob", ctx.qry.head, | 139 | class = strrchr(name, '.'); |
140 | if (class != NULL) { | ||
141 | class = fmt("ls-blob %s", class + 1); | ||
142 | } else | ||
143 | class = "ls-blob"; | ||
144 | cgit_tree_link(name, NULL, class, ctx.qry.head, | ||
139 | curr_rev, fullpath); | 145 | curr_rev, fullpath); |
140 | } | 146 | } |
141 | htmlf("</td><td class='ls-size'>%li</td>", size); | 147 | htmlf("</td><td class='ls-size'>%li</td>", size); |