diff --git a/conf/app.ini b/conf/app.ini index 1c7021072f..9d4ee0b594 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -1,12 +1,14 @@ -# App name that shows on every page title +; App name that shows on every page title APP_NAME = Gogs: Go Git Service -# !!MUST CHANGE TO YOUR USER NAME!! +; !!MUST CHANGE TO YOUR USER NAME!! RUN_USER = lunny +; Either "dev", "prod" or "test", based on martini +RUN_MODE = dev [repository] ROOT = /Users/%(RUN_USER)s/git/gogs-repositories -LANG_IGNS=Google Go|C|Python|Ruby|C Sharp -LICENSES=Apache v2 License|GPL v2|MIT License|Affero GPL|BSD (3-Clause) License +LANG_IGNS = Google Go|C|Python|Ruby|C Sharp +LICENSES = Apache v2 License|GPL v2|MIT License|Affero GPL|BSD (3-Clause) License [server] DOMAIN = gogits.org @@ -14,15 +16,25 @@ HTTP_ADDR = HTTP_PORT = 3000 [database] -# Either "mysql" or "postgres", it's your choice +; Either "mysql" or "postgres", it's your choice DB_TYPE = mysql HOST = NAME = gogs USER = root PASSWD = -# For "postgres" only, either "disable" or "verify-full" +; For "postgres" only, either "disable", "require" or "verify-full" SSL_MODE = disable [security] -# !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!! +; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!! USER_PASSWD_SALT = !#@FDEWREWR&*( + +[mailer] +ENABLED = true +; Name displayed in mail title +NAME = %(APP_NAME)s +; Mail server +HOST = +; Mailer user name and password +USER = +PASSWD = \ No newline at end of file diff --git a/models/user.go b/models/user.go index 87c644b2b6..80af9bd4ba 100644 --- a/models/user.go +++ b/models/user.go @@ -252,7 +252,7 @@ func LoginUserPlain(name, passwd string) (*User, error) { } else if !has { err = ErrUserNotExist } - return &user, nil + return &user, err } // FollowUser marks someone be another's follower. diff --git a/modules/base/conf.go b/modules/base/conf.go index 9ed5545e8a..83c7f8872d 100644 --- a/modules/base/conf.go +++ b/modules/base/conf.go @@ -13,13 +13,23 @@ import ( "github.com/Unknwon/com" "github.com/Unknwon/goconfig" + + "github.com/gogits/gogs/modules/log" ) +// Mailer represents a mail service. +type Mailer struct { + Name string + Host string + User, Passwd string +} + var ( - AppVer string - AppName string - Domain string - Cfg *goconfig.ConfigFile + AppVer string + AppName string + Domain string + Cfg *goconfig.ConfigFile + MailService *Mailer ) func exeDir() (string, error) { @@ -59,6 +69,17 @@ func init() { } Cfg.BlockMode = false - AppName = Cfg.MustValue("", "APP_NAME") + AppName = Cfg.MustValue("", "APP_NAME", "Gogs: Go Git Service") Domain = Cfg.MustValue("server", "DOMAIN") + + // Check mailer setting. + if Cfg.MustBool("mailer", "ENABLED") { + MailService = &Mailer{ + Name: Cfg.MustValue("mailer", "NAME", AppName), + Host: Cfg.MustValue("mailer", "HOST", "127.0.0.1:25"), + User: Cfg.MustValue("mailer", "USER", "example@example.com"), + Passwd: Cfg.MustValue("mailer", "PASSWD", "******"), + } + log.Info("Mail Service Enabled") + } } diff --git a/web.go b/web.go index ca504ea560..cc20097907 100644 --- a/web.go +++ b/web.go @@ -8,6 +8,7 @@ import ( "fmt" "html/template" "net/http" + "strings" "github.com/codegangsta/cli" "github.com/codegangsta/martini" @@ -34,8 +35,20 @@ gogs web`, Flags: []cli.Flag{}, } +// Check run mode(Default of martini is Dev). +func checkRunMode() { + switch base.Cfg.MustValue("", "RUN_MODE") { + case "prod": + martini.Env = martini.Prod + case "test": + martini.Env = martini.Test + } + log.Info("Run Mode: %s", strings.Title(martini.Env)) +} + func runWeb(*cli.Context) { log.Info("%s %s", base.AppName, base.AppVer) + checkRunMode() m := martini.Classic()