func (c *Controller) Login() (string, error) { var pool_tech_works int funcMap := template.FuncMap{ "noescape": func(s string) template.HTML { return template.HTML(s) }, } data, err := static.Asset("static/templates/login.html") if err != nil { return "", err } modal, err := static.Asset("static/templates/modal.html") if err != nil { return "", err } t := template.Must(template.New("template").Funcs(funcMap).Parse(string(data))) t = template.Must(t.Parse(string(modal))) b := new(bytes.Buffer) // есть ли установочный пароль и был ли начально записан ключ var setupPassword bool if !c.Community { setupPassword_, err := c.Single("SELECT setup_password FROM config").String() if err != nil { return "", err } myKey, err := c.GetMyPublicKey(c.MyPrefix) if err != nil { return "", err } if len(myKey) == 0 && (len(setupPassword_) > 0 || setupPassword_ == string(utils.DSha256(""))) { setupPassword = true } } //fmt.Println(c.Lang) // проверим, не идут ли тех. работы на пуле if len(c.NodeConfig["pool_admin_user_id"]) > 0 && c.NodeConfig["pool_admin_user_id"] != utils.Int64ToStr(c.UserId) && c.NodeConfig["pool_tech_works"] == "1" && c.Community { pool_tech_works = 1 } else { pool_tech_works = 0 } err = t.ExecuteTemplate(b, "login", &loginStruct{ Lang: c.Lang, MyModalIdName: "myModalLogin", UserID: c.UserId, PoolTechWorks: pool_tech_works, SetupPassword: setupPassword, Community: c.Community, Desktop: utils.Desktop(), Mobile: utils.Mobile()}) if err != nil { return "", err } return b.String(), nil }
func main() { runtime.LockOSThread() var width uint = 800 var height uint = 600 var thrustWindow *window.Window if runtime.GOOS == "darwin" { height = 578 } if utils.Desktop() && (winVer() >= 6 || winVer() == 0) { thrust.Start() thrustWindow = thrust.NewWindow(thrust.WindowOptions{ RootUrl: "http://localhost:8989/loader.html", HasFrame: true, Title: "Dcoin", Size: commands.SizeHW{Width: width, Height: height}, }) thrust.NewEventHandler("*", func(cr commands.CommandResponse) { //fmt.Println(fmt.Sprintf("======Event(%s %d) - Signaled by Command (%s)", cr.TargetID, cr.Type)) if cr.TargetID > 1 && cr.Type == "closed" { if utils.DB != nil && utils.DB.DB != nil { utils.DB.ExecSql(`INSERT INTO stop_daemons(stop_time) VALUES (?)`, utils.Time()) } else { thrust.Exit() os.Exit(0) } } }) thrustWindow.Show() thrustWindow.Focus() go func() { http.HandleFunc("/static/img/main_loader.gif", main_loader) http.HandleFunc("/loader.html", main_loader_html) http.ListenAndServe(":8989", nil) }() } tray() go dcoin.Start("", thrustWindow) enterLoop() }