Update main.go

This commit is contained in:
s441433 2019-01-12 21:38:24 +01:00
parent 4c38db9f39
commit f1ed802778

81
main.go
View File

@ -7,10 +7,8 @@ import (
"html/template"
"log"
"net/http"
//"sync"
//"time"
//"net/url"
"net/smtp"
"time"
"github.com/gorilla/sessions"
_ "github.com/mattn/go-sqlite3"
@ -53,6 +51,11 @@ var (
IDdania int
NazwaDania string
KosztDania int
//sprawdza zadluzenie
dataBiletu string
dataAktualna string
roznica float64
)
//const localHost = string("192.168.8.102:9197")
@ -61,6 +64,73 @@ var (
//funkcje sterujące
//***************************************************************************
//#############################################################################
//wyslij maila
//#############################################################################
func wyslijEmail(body string) {
//sprawdz czy kotś zalega
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
checkErr(err)
rows3, err := db.Query("SELECT * FROM bilety")
checkErr(err)
for rows3.Next() {
err = rows3.Scan(&IDbiletu, &KtoZabralID, &DataCzas, &KosztBiletu, &CzyZaplacony)
checkErr(err)
dataBiletu := DataCzas
currentTime := time.Now()
dataAktualna := currentTime.Format("2006-1-2 / 3:4:5")
if KtoZabralID == IDusers {
input := dataBiletu
layout := "2006-1-2 / 3:4:5"
t, _ := time.Parse(layout, input)
dataBiletu := t
input1 := dataAktualna
layout1 := "2006-1-2 / 3:4:5"
t1, _ := time.Parse(layout1, input1)
dataAktualna := t1
//fmt.Println(dataAktualna)
//fmt.Println(dataBiletu)
diff := dataAktualna.Sub(dataBiletu)
//fmt.Println(diff)
roznica := diff.Hours()
//fmt.Println(roznica)
if roznica > 720 {
if CzyZaplacony == "nie" {
//email start
from := "golang_zaliczenie_pp@moto-boss.pl"
pass := "zaq1@WSX"
to := "kryklo@st.amu.edu.pl"
msg := "From: " + from + "\n" +
"To: " + to + "\n" +
"Subject: Stołówka ZPM - płatności\n\n" +
body
err = smtp.SendMail("serwer1812241.home.pl:587", smtp.PlainAuth("", from, pass, "serwer1812241.home.pl"), from, []string{to}, []byte(msg))
if err != nil {
log.Printf("smtp error: %s", err)
return
}
log.Print("wysłano poprawnie e-mail z powiadomieniem o zaleganiu")
//email end
}
}
}
}
//----------------------------------
rows3.Close()
db.Close()
//-----------------------
}
//#############################################################################
func sesja(w http.ResponseWriter, r *http.Request) {
t, _ := template.ParseFiles("sesja.gtpl")
@ -174,6 +244,9 @@ func login(w http.ResponseWriter, r *http.Request) {
session.Values[User] = true
session.Save(r, w)
//----------------
//e-mail-------------------
wyslijEmail(User + ", zalega z płatnościami za posiłki w stołówce! Skontaktuj się z nim lub z administratorem systemu 'Stołówka ZPM' (admin@example.pl), w celu ustalenia wysokości zadłużenia. \n\n Dziękuję,\n Administrator.\n (wiadomość została wygenerowana automatycznie, proszę nie odpowiadaj na nią)")
//-------------------------
http.Redirect(w, r, "http://localhost:9197/panel", http.StatusSeeOther)
panel(w, r)
break