From 787fda53efc65916294caa6faf4aa8ecaf6cf86c Mon Sep 17 00:00:00 2001
From: Thiago Avelino <thiago@avelino.xxx>
Date: Sun, 1 Jan 2017 00:51:10 -0200
Subject: [PATCH] UI config to toggle whether user email shows up in Explore
 Users (#336)

* UI config to toggle whether user email shows up in Explore Users

* Recommendation made by @tboerger
https://github.com/go-gitea/gitea/pull/336/commits/66a1c59fe730eff019ce100673c6800cce7d102d#r94122732

* fixed typo, rename ShowUserEmailInExplore to ShowUserEmail

* Fixed typo merged conflict

* Hide email in the user profile page

if you are active ShowUserEmail
ref https://github.com/go-gitea/gitea/pull/336#issuecomment-269843725

* Please replace MustBool() with MustBool(true)
---
 conf/app.ini                 | 2 ++
 modules/setting/setting.go   | 3 +++
 routers/home.go              | 1 +
 templates/explore/users.tmpl | 2 +-
 templates/user/profile.tmpl  | 2 +-
 5 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/conf/app.ini b/conf/app.ini
index ab8e63fdcb..3bd0e8ea9c 100644
--- a/conf/app.ini
+++ b/conf/app.ini
@@ -57,6 +57,8 @@ FEED_MAX_COMMIT_NUM = 5
 THEME_COLOR_META_TAG = `#6cc644`
 ; Max size of files to be displayed (defaults is 8MiB)
 MAX_DISPLAY_FILE_SIZE = 8388608
+; Whether show the user email in the Explore Users page
+SHOW_USER_EMAIL = true
 
 [ui.admin]
 ; Number of users that are showed in one page
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 4acac07ef7..9a8a52e195 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -203,6 +203,7 @@ var (
 		FeedMaxCommitNum   int
 		ThemeColorMetaTag  string
 		MaxDisplayFileSize int64
+		ShowUserEmail      bool
 
 		Admin struct {
 			UserPagingNum   int
@@ -820,6 +821,8 @@ please consider changing to GITEA_CUSTOM`)
 	ShowFooterVersion = Cfg.Section("other").Key("SHOW_FOOTER_VERSION").MustBool(true)
 	ShowFooterTemplateLoadTime = Cfg.Section("other").Key("SHOW_FOOTER_TEMPLATE_LOAD_TIME").MustBool(true)
 
+	UI.ShowUserEmail = Cfg.Section("ui").Key("SHOW_USER_EMAIL").MustBool(true)
+
 	HasRobotsTxt = com.IsFile(path.Join(CustomPath, "robots.txt"))
 }
 
diff --git a/routers/home.go b/routers/home.go
index d3c48f7aae..f5172182d5 100644
--- a/routers/home.go
+++ b/routers/home.go
@@ -229,6 +229,7 @@ func RenderUserSearch(ctx *context.Context, opts *UserSearchOptions) {
 	ctx.Data["Total"] = count
 	ctx.Data["Page"] = paginater.New(int(count), opts.PageSize, page, 5)
 	ctx.Data["Users"] = users
+	ctx.Data["ShowUserEmail"] = setting.UI.ShowUserEmail
 
 	ctx.HTML(200, opts.TplName)
 }
diff --git a/templates/explore/users.tmpl b/templates/explore/users.tmpl
index 09091df253..84ab7ad7fb 100644
--- a/templates/explore/users.tmpl
+++ b/templates/explore/users.tmpl
@@ -16,7 +16,7 @@
 									{{if .Location}}
 										<i class="octicon octicon-location"></i> {{.Location}}
 									{{end}}
-									{{if and .Email $.IsSigned}}
+									{{if and $.ShowUserEmail .Email $.IsSigned}}
 										<i class="octicon octicon-mail"></i>
 										<a href="mailto:{{.Email}}" rel="nofollow">{{.Email}}</a>
 									{{end}}
diff --git a/templates/user/profile.tmpl b/templates/user/profile.tmpl
index cfb646ace1..37f94d2b79 100644
--- a/templates/user/profile.tmpl
+++ b/templates/user/profile.tmpl
@@ -22,7 +22,7 @@
 							{{if .Owner.Location}}
 								<li><i class="octicon octicon-location"></i> {{.Owner.Location}}</li>
 							{{end}}
-							{{if and .Owner.Email .IsSigned}}
+							{{if and $.ShowUserEmail .Owner.Email .IsSigned}}
 								<li>
 									<i class="octicon octicon-mail"></i>
 									<a href="mailto:{{.Owner.Email}}" rel="nofollow">{{.Owner.Email}}</a>