From caf7618ea6771823e4954941ebf9d6227c4f48df Mon Sep 17 00:00:00 2001
From: Unknwon <u@gogs.io>
Date: Tue, 24 Mar 2015 18:38:12 -0400
Subject: [PATCH] #1098 Hide gravatar email field if gravatar is disabled (or
 offline mode)

---
 modules/base/template.go             | 3 +++
 modules/setting/setting.go           | 3 +++
 templates/org/settings/options.tmpl  | 2 ++
 templates/user/settings/profile.tmpl | 2 ++
 4 files changed, 10 insertions(+)

diff --git a/modules/base/template.go b/modules/base/template.go
index 196b935107..1442bf0e84 100644
--- a/modules/base/template.go
+++ b/modules/base/template.go
@@ -118,6 +118,9 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{
 	"CdnMode": func() bool {
 		return setting.ProdMode && !setting.OfflineMode
 	},
+	"DisableGravatar": func() bool {
+		return setting.DisableGravatar
+	},
 	"LoadTimes": func(startTime time.Time) string {
 		return fmt.Sprint(time.Since(startTime).Nanoseconds()/1e6) + "ms"
 	},
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 462e838456..12fd52c999 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -322,6 +322,9 @@ func NewConfigContext() {
 		GravatarSource = "//1.gravatar.com/avatar/"
 	}
 	DisableGravatar = sec.Key("DISABLE_GRAVATAR").MustBool()
+	if OfflineMode {
+		DisableGravatar = true
+	}
 
 	if err = Cfg.Section("git").MapTo(&Git); err != nil {
 		log.Fatal(4, "Fail to map Git settings: %v", err)
diff --git a/templates/org/settings/options.tmpl b/templates/org/settings/options.tmpl
index 1179ede620..86e52fcd82 100644
--- a/templates/org/settings/options.tmpl
+++ b/templates/org/settings/options.tmpl
@@ -46,10 +46,12 @@
                 <label for="location">{{.i18n.Tr "org.settings.location"}}</label>
                 <input class="ipt ipt-large ipt-radius {{if .Err_Location}}ipt-error{{end}}" id="location" name="location" type="text" value="{{.Org.Location}}" />
               </div>
+              {{if not DisableGravatar}}
               <div class="field">
                 <label for="gravatar-email">Gravatar {{.i18n.Tr "email"}}</label>
                 <input class="ipt ipt-large ipt-radius {{if .Err_Avatar}}ipt-error{{end}}" id="gravatar-email" name="avatar" type="text" value="{{.Org.AvatarEmail}}" />
               </div>
+              {{end}}
               <div class="field">
                 <span class="form-label"></span>
                 <button class="btn btn-green btn-large btn-radius" id="change-orgname-btn" href="#change-orgname-modal">{{.i18n.Tr "org.settings.update_settings"}}</button>
diff --git a/templates/user/settings/profile.tmpl b/templates/user/settings/profile.tmpl
index febf523704..2fd6c7b2a5 100644
--- a/templates/user/settings/profile.tmpl
+++ b/templates/user/settings/profile.tmpl
@@ -46,10 +46,12 @@
                                     <label for="location">{{.i18n.Tr "settings.location"}}</label>
                                     <input class="ipt ipt-large ipt-radius {{if .Err_Location}}ipt-error{{end}}" id="location" name="location" type="text" value="{{.SignedUser.Location}}" />
                                 </div>
+                                {{if not DisableGravatar}}
                                 <div class="field">
                                     <label class="req" for="gravatar-email">Gravatar {{.i18n.Tr "email"}}</label>
                                     <input class="ipt ipt-large ipt-radius {{if .Err_Avatar}}ipt-error{{end}}" id="gravatar-email" name="avatar" type="text" value="{{.SignedUser.AvatarEmail}}" />
                                 </div>
+                                {{end}}
                                 <div class="field">
                                     <label></label>
                                     <button class="btn btn-green btn-large btn-radius" id="change-username-btn" href="#change-username-modal">{{.i18n.Tr "settings.update_profile"}}</button>