Create main — kopia.go
This commit is contained in:
parent
319e14e31d
commit
cf3488bd68
446
main — kopia.go
Normal file
446
main — kopia.go
Normal file
@ -0,0 +1,446 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
//"net/url"
|
||||
|
||||
//"time"
|
||||
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
var (
|
||||
KosztBiletuSUMA int
|
||||
|
||||
//zmiana pinu, hasła i blokada karty
|
||||
pinFROMsite int
|
||||
RFIDblockORno string
|
||||
hasloFROMsite string
|
||||
|
||||
//logowanie ------------
|
||||
loginFROMsite string
|
||||
passwordFROMsite string
|
||||
|
||||
//users ---------------
|
||||
IDusers int
|
||||
User string
|
||||
Password string
|
||||
PIN int
|
||||
RFID int
|
||||
Login string
|
||||
Blokada bool
|
||||
|
||||
//bilety ---------------
|
||||
IDbiletu int
|
||||
KtoZabralID int
|
||||
DataCzas string
|
||||
KosztBiletu int
|
||||
CzyZaplacony string
|
||||
|
||||
//dania ---------------
|
||||
IDdania int
|
||||
NazwaDania string
|
||||
KosztDania int
|
||||
)
|
||||
|
||||
//const localHost = string("192.168.8.102:9197")
|
||||
|
||||
//***************************************************************************
|
||||
//funkcje sterujące
|
||||
//***************************************************************************
|
||||
|
||||
//#############################################################################
|
||||
func opisStołówkaZPM(w http.ResponseWriter, r *http.Request) {
|
||||
//fmt.Println(localHostDB)
|
||||
t, _ := template.ParseFiles("StronaGlowna.gohtml")
|
||||
t.Execute(w, nil)
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func panel(w http.ResponseWriter, r *http.Request) {
|
||||
for _, cookie := range r.Cookies() {
|
||||
fmt.Fprint(w, cookie.Name)
|
||||
}
|
||||
|
||||
fmt.Println("method:", r.Method)
|
||||
t, _ := template.ParseFiles("panel.gtpl")
|
||||
d := struct {
|
||||
UserView string
|
||||
}{
|
||||
UserView: User}
|
||||
t.ExecuteTemplate(w, "panel.gtpl", d)
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func wylogowano(w http.ResponseWriter, r *http.Request) {
|
||||
//--------------------------------------------------
|
||||
hasloFROMsite := r.FormValue("hasloFROMsite")
|
||||
if hasloFROMsite != "" {
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr(err)
|
||||
|
||||
akt, err := db.Prepare("UPDATE users SET Password=? WHERE IDusers=?")
|
||||
checkErr(err)
|
||||
up, err := akt.Exec(hasloFROMsite, IDusers)
|
||||
checkErr(err)
|
||||
dzialanie, err := up.RowsAffected()
|
||||
checkErr(err)
|
||||
fmt.Println(dzialanie)
|
||||
|
||||
db.Close()
|
||||
}
|
||||
//--------------------------------------------------
|
||||
|
||||
t, _ := template.ParseFiles("wylogowano.gtpl")
|
||||
type user struct {
|
||||
UserView string
|
||||
}
|
||||
u := user{
|
||||
UserView: User}
|
||||
t.ExecuteTemplate(w, "wylogowano.gtpl", u)
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func login(w http.ResponseWriter, r *http.Request) {
|
||||
//**************************************************************************
|
||||
loginFROMsite := r.FormValue("loginFROMsite")
|
||||
passwordFROMsite := r.FormValue("passwordFROMsite")
|
||||
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr(err)
|
||||
rows0, err := db.Query("SELECT * FROM users")
|
||||
checkErr(err)
|
||||
|
||||
for rows0.Next() {
|
||||
err = rows0.Scan(&IDusers, &User, &Password, &PIN, &RFID, &Login, &Blokada)
|
||||
checkErr(err)
|
||||
if r.Method == "POST" {
|
||||
if Login == loginFROMsite {
|
||||
if Password == passwordFROMsite {
|
||||
http.Redirect(w, r, "http://localhost:9197/panel", http.StatusSeeOther)
|
||||
panel(w, r)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if r.Method == "GET" {
|
||||
t, _ := template.ParseFiles("login.gtpl")
|
||||
t.Execute(w, nil)
|
||||
r.ParseForm()
|
||||
}
|
||||
|
||||
if r.Method == "POST" {
|
||||
if loginFROMsite != Login {
|
||||
if loginFROMsite == "" {
|
||||
if passwordFROMsite != Password {
|
||||
t, _ := template.ParseFiles("login.gtpl")
|
||||
t.Execute(w, nil)
|
||||
fmt.Fprint(w, "*** UWAGA! *** Błąd logowania! Login lub hasło nieprawidłowe. *** Spróbuj ponownie. ***")
|
||||
}
|
||||
} else {
|
||||
if passwordFROMsite != Password {
|
||||
t, _ := template.ParseFiles("login.gtpl")
|
||||
t.Execute(w, nil)
|
||||
fmt.Fprint(w, "*** UWAGA! *** Błąd logowania! Login lub hasło nieprawidłowe. *** Spróbuj ponownie. ***")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//**************************************************************************
|
||||
rows0.Close()
|
||||
db.Close()
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func menuDan(w http.ResponseWriter, r *http.Request) {
|
||||
t, _ := template.ParseFiles("menuDanNaglowek.gtpl")
|
||||
d := struct {
|
||||
UserView string
|
||||
}{
|
||||
UserView: User}
|
||||
t.ExecuteTemplate(w, "menuDanNaglowek.gtpl", d)
|
||||
//dania ----------------------------------
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr2(err)
|
||||
rows2, err := db.Query("SELECT * FROM dania")
|
||||
checkErr(err)
|
||||
for rows2.Next() {
|
||||
err = rows2.Scan(&IDdania, &NazwaDania, &KosztDania)
|
||||
checkErr3(err)
|
||||
//fmt.Printf("%d. %s, %d \n", IDdania, NazwaDania, KosztDania)
|
||||
t, _ := template.ParseFiles("menuDan.gtpl")
|
||||
d := struct {
|
||||
IDdaniaView int
|
||||
NazwaDaniaView string
|
||||
KosztDaniaView int
|
||||
}{
|
||||
IDdaniaView: IDdania,
|
||||
NazwaDaniaView: NazwaDania,
|
||||
KosztDaniaView: KosztDania}
|
||||
t.ExecuteTemplate(w, "menuDan.gtpl", d)
|
||||
}
|
||||
//----------------------------------
|
||||
rows2.Close()
|
||||
db.Close()
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func historiaPosilkow(w http.ResponseWriter, r *http.Request) {
|
||||
t, _ := template.ParseFiles("historiaPosilkowNaglowek.gtpl")
|
||||
d := struct {
|
||||
UserView string
|
||||
}{
|
||||
UserView: User}
|
||||
t.ExecuteTemplate(w, "historiaPosilkowNaglowek.gtpl", d)
|
||||
|
||||
//bilety ----------------------------------
|
||||
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)
|
||||
if KtoZabralID == IDusers {
|
||||
t, _ := template.ParseFiles("historiaPosilkow.gtpl")
|
||||
d := struct {
|
||||
IDbiletuView int
|
||||
KtoZabralView int
|
||||
DataCzasView string
|
||||
KosztBiletuView int
|
||||
CzyZaplaconyView string
|
||||
}{
|
||||
IDbiletuView: IDbiletu,
|
||||
KtoZabralView: KtoZabralID,
|
||||
DataCzasView: DataCzas,
|
||||
KosztBiletuView: KosztBiletu,
|
||||
CzyZaplaconyView: CzyZaplacony}
|
||||
t.ExecuteTemplate(w, "historiaPosilkow.gtpl", d)
|
||||
}
|
||||
//----------------------------------
|
||||
}
|
||||
rows3.Close()
|
||||
db.Close()
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func platnosci(w http.ResponseWriter, r *http.Request) {
|
||||
//fmt.Fprint(w, User)
|
||||
|
||||
//bilety ----------------------------------
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr(err)
|
||||
rows5, err := db.Query("SELECT * FROM bilety WHERE KtoZabralID=?", IDusers)
|
||||
checkErr(err)
|
||||
KosztBiletuSUMA = 0
|
||||
for rows5.Next() {
|
||||
err = rows5.Scan(&IDbiletu, &KtoZabralID, &DataCzas, &KosztBiletu, &CzyZaplacony)
|
||||
checkErr3(err)
|
||||
//if KtoZabralID == User {
|
||||
if CzyZaplacony == "nie" {
|
||||
KosztBiletuSUMA = KosztBiletu + KosztBiletuSUMA
|
||||
}
|
||||
//----------------------------------
|
||||
}
|
||||
//fmt.Println(KosztBiletuSUMA)
|
||||
t, _ := template.ParseFiles("platnosci.gtpl")
|
||||
checkErr(err)
|
||||
type zaplac struct {
|
||||
UserView string
|
||||
Zaplac int
|
||||
}
|
||||
z := zaplac{
|
||||
UserView: User,
|
||||
Zaplac: KosztBiletuSUMA}
|
||||
|
||||
t.ExecuteTemplate(w, "platnosci.gtpl", z)
|
||||
rows5.Close()
|
||||
db.Close()
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func placeOnline(w http.ResponseWriter, r *http.Request) {
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr(err)
|
||||
rows5, err := db.Query("SELECT * FROM bilety WHERE KtoZabralID=?", IDusers)
|
||||
checkErr(err)
|
||||
KosztBiletuSUMA = 0
|
||||
for rows5.Next() {
|
||||
err = rows5.Scan(&IDbiletu, &KtoZabralID, &DataCzas, &KosztBiletu, &CzyZaplacony)
|
||||
checkErr3(err)
|
||||
if CzyZaplacony == "nie" {
|
||||
KosztBiletuSUMA = KosztBiletu + KosztBiletuSUMA
|
||||
}
|
||||
}
|
||||
t, _ := template.ParseFiles("placeOnline.gtpl")
|
||||
checkErr(err)
|
||||
type zaplac struct {
|
||||
UserView string
|
||||
Zaplac int
|
||||
}
|
||||
z := zaplac{
|
||||
UserView: User,
|
||||
Zaplac: KosztBiletuSUMA}
|
||||
|
||||
t.ExecuteTemplate(w, "placeOnline.gtpl", z)
|
||||
rows5.Close()
|
||||
db.Close()
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func zaplacono(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr(err)
|
||||
|
||||
akt, err := db.Prepare("UPDATE bilety SET CzyZaplacony=? WHERE KtoZabralID=?")
|
||||
checkErr(err)
|
||||
up, err := akt.Exec("tak", KtoZabralID)
|
||||
checkErr(err)
|
||||
dzialanie, err := up.RowsAffected()
|
||||
checkErr(err)
|
||||
fmt.Println(dzialanie)
|
||||
|
||||
db.Close()
|
||||
|
||||
t, _ := template.ParseFiles("zaplacono.gtpl")
|
||||
checkErr(err)
|
||||
type zaplac struct {
|
||||
UserView string
|
||||
Zaplac int
|
||||
}
|
||||
z := zaplac{
|
||||
UserView: User,
|
||||
Zaplac: KosztBiletuSUMA}
|
||||
|
||||
t.ExecuteTemplate(w, "zaplacono.gtpl", z)
|
||||
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func zmianaPINU(w http.ResponseWriter, r *http.Request) {
|
||||
pinFROMsite := r.FormValue("pinFROMsite")
|
||||
RFIDblockORno := r.FormValue("RFID")
|
||||
|
||||
t, _ := template.ParseFiles("zmianaPINU.gtpl")
|
||||
type pinIblokada struct {
|
||||
UserView string
|
||||
}
|
||||
wykonaj := pinIblokada{
|
||||
UserView: User}
|
||||
t.ExecuteTemplate(w, "zmianaPINU.gtpl", wykonaj)
|
||||
|
||||
if pinFROMsite != "" {
|
||||
fmt.Fprintln(w, "*** --- Pin został POMYŚLNIE ZMIENIONY! --- *** \n")
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr(err)
|
||||
|
||||
akt, err := db.Prepare("UPDATE users SET PIN=? WHERE IDusers=?")
|
||||
checkErr(err)
|
||||
up, err := akt.Exec(pinFROMsite, IDusers)
|
||||
checkErr(err)
|
||||
dzialanie, err := up.RowsAffected()
|
||||
checkErr(err)
|
||||
fmt.Println(dzialanie)
|
||||
|
||||
db.Close()
|
||||
|
||||
}
|
||||
if RFIDblockORno == "RFIDblock" {
|
||||
fmt.Fprintln(w, "*** --- Karta RFID została ZABLOKOWANA! --- *** \n")
|
||||
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr(err)
|
||||
|
||||
akt, err := db.Prepare("UPDATE users SET Blokada=? WHERE IDusers=?")
|
||||
checkErr(err)
|
||||
up, err := akt.Exec("true", IDusers)
|
||||
checkErr(err)
|
||||
dzialanie, err := up.RowsAffected()
|
||||
checkErr(err)
|
||||
fmt.Println(dzialanie)
|
||||
|
||||
db.Close()
|
||||
|
||||
} else {
|
||||
if RFIDblockORno == "RFIDunlock" {
|
||||
fmt.Fprintln(w, "*** --- Karta RFID została ODBLOKOWANA! --- *** \n")
|
||||
|
||||
db, err := sql.Open("sqlite3", "stolowkaZPM.db")
|
||||
checkErr(err)
|
||||
|
||||
akt, err := db.Prepare("UPDATE users SET Blokada=? WHERE IDusers=?")
|
||||
checkErr(err)
|
||||
up, err := akt.Exec("false", IDusers)
|
||||
checkErr(err)
|
||||
dzialanie, err := up.RowsAffected()
|
||||
checkErr(err)
|
||||
fmt.Println(dzialanie)
|
||||
|
||||
db.Close()
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//#############################################################################
|
||||
func zmianaHasla(w http.ResponseWriter, r *http.Request) {
|
||||
//templatka przekierowuje do funkcji wylogowano
|
||||
t, _ := template.ParseFiles("zmianaHasla.gtpl")
|
||||
type zmhaslo struct {
|
||||
UserView string
|
||||
}
|
||||
wykonaj := zmhaslo{
|
||||
UserView: User}
|
||||
t.ExecuteTemplate(w, "zmianaHasla.gtpl", wykonaj)
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
//Obsługa błędów
|
||||
//***************************************************************************
|
||||
|
||||
func checkErr(err error) {
|
||||
if err != nil {
|
||||
fmt.Println("Błąd")
|
||||
}
|
||||
}
|
||||
func checkErr2(err error) {
|
||||
if err != nil {
|
||||
fmt.Println("Błąd dwa")
|
||||
}
|
||||
}
|
||||
func checkErr3(err error) {
|
||||
if err != nil {
|
||||
fmt.Println("Błąd trzy")
|
||||
}
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
//funkcja główna
|
||||
//***************************************************************************
|
||||
func main() {
|
||||
http.HandleFunc("/", opisStołówkaZPM)
|
||||
http.HandleFunc("/login", login)
|
||||
http.HandleFunc("/panel", panel)
|
||||
http.HandleFunc("/historiaPosilkow", historiaPosilkow)
|
||||
http.HandleFunc("/platnosci", platnosci)
|
||||
http.HandleFunc("/platnosci/placeOnline", placeOnline)
|
||||
http.HandleFunc("/zaplacono", zaplacono)
|
||||
http.HandleFunc("/wylogowano", wylogowano)
|
||||
http.HandleFunc("/menuDan", menuDan)
|
||||
http.HandleFunc("/zmianaPINU", zmianaPINU)
|
||||
http.HandleFunc("/zmianaHasla", zmianaHasla)
|
||||
|
||||
err := http.ListenAndServe(":9197", nil)
|
||||
if err != nil {
|
||||
log.Fatal("ListenAndServe: ", err)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user