2018-12-18 23:17:57 +01:00
package main
import (
"net/http"
"html/template"
"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"
2018-12-31 00:56:25 +01:00
"time"
2019-01-28 21:15:21 +01:00
"strconv"
2019-02-03 23:59:21 +01:00
"strings"
2019-02-21 17:21:04 +01:00
"regexp"
2018-12-18 23:17:57 +01:00
)
2019-01-16 23:47:40 +01:00
type komunikat struct {
Opis string
}
2018-12-18 23:17:57 +01:00
type Plan struct {
Serie int
Powtorzenia int
Nazwa string
Ciezar int
Opis string
2018-12-31 00:56:25 +01:00
data_t string
2019-02-21 17:21:04 +01:00
Id_cwiczenie int
2019-01-20 11:32:43 +01:00
}
type Plan_rodzaj struct {
Plan [ ] Plan
Rodzaj_treningu string
2018-12-18 23:17:57 +01:00
}
2019-01-20 11:32:43 +01:00
2018-12-18 23:17:57 +01:00
type Cwiczenie struct {
Opis string
Rodzaj string
Nazwa string
2019-02-21 17:21:04 +01:00
Film string
2018-12-18 23:17:57 +01:00
}
type CwiczenieTabela struct {
Id_cwiczenie int
Nazwa string
2018-12-31 00:56:25 +01:00
}
2019-02-16 22:29:58 +01:00
2018-12-31 00:56:25 +01:00
type Wyniki struct {
Ciezar_rzecz int
Ciezar_cel int
Nazwa string
2019-01-16 23:47:40 +01:00
Data_t string
2018-12-31 00:56:25 +01:00
}
type ww struct {
Wyniki [ ] Wyniki
Nazwa string
NumerCwiczenia int
2019-01-16 23:47:40 +01:00
Ilosc_cwiczen int
2018-12-31 00:56:25 +01:00
}
2019-01-16 23:47:40 +01:00
type Zmiany struct {
2019-02-16 22:29:58 +01:00
Co_ile_ciezar int
Ciezar_dodaj int
Co_ile_powtorzenie int
Powtorzenie_dodaj int
Nazwa string
Rodzaj string
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
type Uzytkownicy struct {
Url string
Login string
Haslo string
2018-12-18 23:17:57 +01:00
}
2019-01-20 11:32:43 +01:00
type Wymiary struct {
2019-02-09 22:12:27 +01:00
Nazwa string
Wymiary_2 [ ] Wymiary_2
}
type Wymiary_2 struct {
Wymiar int
Data string
2019-01-20 11:32:43 +01:00
}
2019-02-16 22:29:58 +01:00
type Ustawienia struct {
Poziom string
Rodzaj_treningu string
2019-02-21 17:21:04 +01:00
Zmiany [ ] Zmiany
2019-02-16 22:29:58 +01:00
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
type Cookie struct {
Name string
Value int
Path string
Domain string
Expires time . Time
RawExpires string
MaxAge int
Secure bool
HttpOnly bool
Raw string
Unparsed [ ] string
}
//deklaracja tmpl-POCZATEK
2018-12-18 23:17:57 +01:00
var tmpl2 = template . Must ( template . ParseGlob ( "planowanieTreningu.html" ) )
var tmpl3 = template . Must ( template . ParseGlob ( "cwiczenie.html" ) )
2018-12-31 00:56:25 +01:00
var tmpl4 = template . Must ( template . ParseGlob ( "wyniki.html" ) )
2019-01-20 11:32:43 +01:00
var tmpl5 = template . Must ( template . ParseGlob ( "wymiary.html" ) )
2019-01-31 22:31:47 +01:00
var tmpl6 = template . Must ( template . ParseGlob ( "dodajcwiczenie.html" ) )
2019-02-09 22:12:27 +01:00
var tmpl7 = template . Must ( template . ParseGlob ( "wyniki-usun.html" ) )
2019-02-06 23:29:13 +01:00
2019-02-10 20:01:29 +01:00
var tmpl8 = template . Must ( template . ParseGlob ( "planowanieTreningu2.html" ) )
2019-02-16 22:29:58 +01:00
var tmpl9 = template . Must ( template . ParseGlob ( "planowanieTreningu3.html" ) )
var tmpl10 = template . Must ( template . ParseGlob ( "planowanieTreningu5.html" ) )
2019-02-09 22:12:27 +01:00
var tmpl = template . Must ( template . ParseGlob ( "Twoj-trening.html" ) )
2019-01-16 23:47:40 +01:00
//deklaracja tmpl-KONIEC
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
//deklaracja funkcji-POCZATEK
2018-12-31 00:56:25 +01:00
func baza ( ) {
2019-01-16 23:47:40 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2018-12-18 23:17:57 +01:00
if err != nil {
2019-01-16 23:47:40 +01:00
panic ( err . Error ( ) )
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
defer db . Close ( )
2018-12-31 00:56:25 +01:00
}
2019-01-16 23:47:40 +01:00
func getCookie ( w http . ResponseWriter , r * http . Request ) string {
var decyzja string
c1 , err := r . Cookie ( "logowanie" )
if err != nil {
decyzja = "brak"
} else {
decyzja = c1 . Value
}
return decyzja
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
func setCookie ( w http . ResponseWriter , r * http . Request , id_uzytkownik string ) {
expiration := time . Now ( ) . Add ( 2 * time . Hour )
c1 := http . Cookie { Name : "logowanie" , Value : id_uzytkownik , Expires : expiration }
http . SetCookie ( w , & c1 )
}
//deklaracja funkcji-KONIEC
2018-12-18 23:17:57 +01:00
2019-01-28 21:15:21 +01:00
func IsNumeric ( s string ) bool {
_ , err := strconv . ParseFloat ( s , 64 )
return err == nil
}
2019-02-03 23:59:21 +01:00
func blank ( s string ) bool {
blank := strings . TrimSpace ( s ) == ""
var a bool
if blank {
a = true
} else {
a = false
}
return a
}
2019-02-16 22:29:58 +01:00
func zmianaUstawien ( w http . ResponseWriter , r * http . Request ) {
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "planowanieTreningu4.html" )
t . Execute ( w , p )
}
}
2018-12-18 23:17:57 +01:00
func planowanieTreningu ( w http . ResponseWriter , r * http . Request ) {
2019-01-16 23:47:40 +01:00
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
2019-02-18 23:26:04 +01:00
p := Plan { Opis : "" }
2018-12-18 23:17:57 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-01-16 23:47:40 +01:00
defer db . Close ( )
2018-12-18 23:17:57 +01:00
2019-02-16 22:29:58 +01:00
rows1 , err := db . Query ( "SELECT COUNT(*) FROM baza.ustawienia WHERE id_uzytkownik=?" , getCookie ( w , r ) )
var sprawdzanie_ustawienia int
if err != nil { panic ( err . Error ( ) ) }
for rows1 . Next ( ) { err = rows1 . Scan ( & sprawdzanie_ustawienia ) }
if sprawdzanie_ustawienia != 0 || ( sprawdzanie_ustawienia == 0 && r . Method == "POST" && r . FormValue ( "poziom" ) != "" ) || ( sprawdzanie_ustawienia != 0 && r . Method == "POST" && r . FormValue ( "poziom" ) != "" ) {
if sprawdzanie_ustawienia == 0 {
rodzaj_treningu := r . FormValue ( "rodzaj_treningu" )
poziom := r . FormValue ( "poziom" )
rows2 , err := db . Query ( "INSERT INTO ustawienia (id_uzytkownik, poziom, rodzaj_treningu) VALUES (?,?,?)" , getCookie ( w , r ) , poziom , rodzaj_treningu )
if err != nil { panic ( err . Error ( ) ) }
defer rows2 . Close ( )
} else if sprawdzanie_ustawienia != 0 && r . FormValue ( "poziom" ) != "" {
rodzaj_treningu := r . FormValue ( "rodzaj_treningu" )
poziom := r . FormValue ( "poziom" )
rows2 , err := db . Query ( "UPDATE ustawienia set poziom=?, rodzaj_treningu=? where id_uzytkownik=?" , poziom , rodzaj_treningu , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows2 . Close ( )
}
2019-02-10 20:01:29 +01:00
if r . Method == "POST" {
2019-01-20 11:32:43 +01:00
2019-02-10 20:01:29 +01:00
//dodawanie rodzaju treningu oraz co ile powiekszać cieżar-POCZATEK
2019-01-20 11:32:43 +01:00
2018-12-18 23:17:57 +01:00
2019-02-10 20:01:29 +01:00
co_ile_ciezar := r . FormValue ( "co_ile_ciezar" )
ciezar_dodaj := r . FormValue ( "ciezar_dodaj" )
co_ile_powtorzenie := r . FormValue ( "co_ile_powtorzenie" )
powtorzenie_dodaj := r . FormValue ( "powtorzenie_dodaj" )
2019-02-16 22:29:58 +01:00
// partia := r.FormValue("partia")
2019-02-10 20:01:29 +01:00
cwiczenie_nazwa := r . FormValue ( "cwiczenie_nazwa" )
2019-02-16 22:29:58 +01:00
poziom := r . FormValue ( "poziom" )
2019-02-18 23:26:04 +01:00
Akcja := r . FormValue ( "Akcja" )
if Akcja == "Zatwierdzam" {
2019-02-21 17:21:04 +01:00
if IsNumeric ( co_ile_ciezar ) && co_ile_ciezar != "0" && IsNumeric ( ciezar_dodaj ) && IsNumeric ( powtorzenie_dodaj ) && IsNumeric ( co_ile_powtorzenie ) && co_ile_powtorzenie != "0" && len ( co_ile_ciezar ) < 3 && len ( ciezar_dodaj ) < 3 && len ( powtorzenie_dodaj ) < 3 && len ( co_ile_powtorzenie ) < 3 {
2018-12-18 23:17:57 +01:00
2019-02-16 22:29:58 +01:00
rows3 , err := db . Query ( "SELECT poziom from baza.ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
for rows3 . Next ( ) {
err = rows3 . Scan ( & poziom )
if err != nil { panic ( err . Error ( ) ) } }
var id_cwiczenie int
if poziom == "zaawansowany" {
2019-02-10 20:01:29 +01:00
rows22 , err := db . Query ( "SELECT id_cwiczenie from baza.cwiczenie where nazwa=?" , cwiczenie_nazwa )
2018-12-18 23:17:57 +01:00
2019-02-10 20:01:29 +01:00
for rows22 . Next ( ) {
err = rows22 . Scan ( & id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) } }
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
2019-02-16 22:29:58 +01:00
rows3 , err := db . Query ( "UPDATE baza.zmiany SET ciezar_dodaj=?, powtorzenie_dodaj=?, co_ile_ciezar=?, co_ile_powtorzenie=? where id_cwiczenia=? and id_uzytkownik=?" , ciezar_dodaj , powtorzenie_dodaj , co_ile_ciezar , co_ile_powtorzenie , id_cwiczenie , getCookie ( w , r ) )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer rows3 . Close ( )
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
} else if poziom == "początkujący" {
2019-01-20 11:32:43 +01:00
2019-02-16 22:29:58 +01:00
rows222 , err := db . Query ( "SELECT id_cwiczenie from baza.cwiczenie where rodzaj=?" , cwiczenie_nazwa )
2019-01-16 23:47:40 +01:00
2019-02-10 20:01:29 +01:00
for rows222 . Next ( ) {
err = rows222 . Scan ( & id_cwiczenie )
2019-02-16 22:29:58 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-10 20:01:29 +01:00
2019-02-16 22:29:58 +01:00
rows3 , err := db . Query ( "UPDATE baza.zmiany SET ciezar_dodaj=?, powtorzenie_dodaj=?, co_ile_ciezar=?, co_ile_powtorzenie=? where id_uzytkownik=? and id_cwiczenia=? " , ciezar_dodaj , powtorzenie_dodaj , co_ile_ciezar , co_ile_powtorzenie , getCookie ( w , r ) , id_cwiczenie )
2019-01-20 14:22:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-10 20:01:29 +01:00
defer rows3 . Close ( )
2019-02-18 23:26:04 +01:00
} }
2019-02-10 20:01:29 +01:00
2019-01-20 11:32:43 +01:00
2019-02-18 23:26:04 +01:00
} else {
2019-02-21 17:21:04 +01:00
p = Plan { Opis : "Musisz podać cyfry mniejsze od 99, a wszystkie pola musza być uzupelnione" }
2019-01-20 11:32:43 +01:00
2019-01-20 14:22:29 +01:00
}
2019-02-18 23:26:04 +01:00
}
2019-01-16 23:47:40 +01:00
2018-12-18 23:17:57 +01:00
Powtorzenia := r . FormValue ( "Powtorzenia" )
Ciezar := r . FormValue ( "Ciezar" )
Serie := r . FormValue ( "Serie" )
Nazwa := r . FormValue ( "Nazwa" )
2019-02-10 20:01:29 +01:00
2019-01-16 23:47:40 +01:00
2019-02-21 17:21:04 +01:00
if IsNumeric ( Ciezar ) && Nazwa != "" && len ( Ciezar ) < 4 {
2019-01-16 23:47:40 +01:00
rows1 , err := db . Query ( "SELECT COUNT(*) FROM baza.trening_cel as a, baza.cwiczenie as b WHERE a.id_cwiczenie=b.id_cwiczenie and b.nazwa=? and a.id_uzytkownik=?" , Nazwa , getCookie ( w , r ) )
var liczba string
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-10 20:01:29 +01:00
for rows1 . Next ( ) { err = rows1 . Scan ( & liczba ) }
2019-01-16 23:47:40 +01:00
if liczba == "0" {
2019-02-21 17:21:04 +01:00
rows , err := db . Query ( "SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=? and uzytkownik=?" , Nazwa , getCookie ( w , r ) )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
for rows . Next ( ) {
2018-12-18 23:17:57 +01:00
emp := CwiczenieTabela { }
var id_cwiczenie int
err = rows . Scan ( & id_cwiczenie )
emp . Id_cwiczenie = id_cwiczenie
2019-01-16 23:47:40 +01:00
rows , err := db . Query ( "INSERT INTO trening_cel (id_cwiczenie, id_uzytkownik, powtorzenia, ciezar,serie) VALUES (?, ?, ?, ?, ? )" , id_cwiczenie , getCookie ( w , r ) , Powtorzenia , Ciezar , Serie )
2019-01-28 21:15:21 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
2019-02-10 20:01:29 +01:00
//dodanie do tabeli zmiany
2019-02-21 17:21:04 +01:00
p = Plan { Opis : "Dodano ćwiczenie do planu treningowego" }
2019-02-18 23:26:04 +01:00
rows3 , err := db . Query ( "SELECT poziom from baza.ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
for rows3 . Next ( ) {
err = rows3 . Scan ( & poziom )
if err != nil { panic ( err . Error ( ) ) }
if poziom == "początkujący" {
rows , err := db . Query ( "select rodzaj FROM baza.cwiczenie WHERE id_cwiczenie=?" , id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
for rows . Next ( ) {
var rodzaj string
err = rows . Scan ( & rodzaj )
rows , err := db . Query ( "select count(*) FROM baza.zmiany as A, baza.cwiczenie as B WHERE B.rodzaj=? and A.id_cwiczenia=B.id_cwiczenie and id_uzytkownik=?" , rodzaj , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
for rows . Next ( ) {
var liczba int
err = rows . Scan ( & liczba )
if liczba != 0 {
rows , err := db . Query ( "select A.ciezar_dodaj, A.powtorzenie_dodaj, A.co_ile_ciezar, A.co_ile_powtorzenie FROM baza.zmiany as A, baza.cwiczenie as B WHERE B.rodzaj=? and A.id_uzytkownik=? and A.id_cwiczenia=B.id_cwiczenie" , rodzaj , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
for rows . Next ( ) {
var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
var co_ile_powtorzenie int
err = rows . Scan ( & ciezar_dodaj , & powtorzenie_dodaj , & co_ile_ciezar , & co_ile_powtorzenie )
rows2 , err := db . Query ( "INSERT INTO zmiany (ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie,id_cwiczenia, id_uzytkownik) VALUES (?, ?, ?, ?, ?,? )" , ciezar_dodaj , powtorzenie_dodaj , co_ile_ciezar , co_ile_powtorzenie , id_cwiczenie , getCookie ( w , r ) , )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer rows2 . Close ( )
2019-02-18 23:26:04 +01:00
}
} else {
rows2 , err := db . Query ( "INSERT INTO zmiany (ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie,id_cwiczenia, id_uzytkownik) VALUES (0, 0, 0, 0, ?,? )" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows2 . Close ( ) }
}
2019-01-28 21:15:21 +01:00
} } else {
2019-02-18 23:26:04 +01:00
rows2 , err := db . Query ( "INSERT INTO zmiany (ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie,id_cwiczenia, id_uzytkownik) VALUES (0, 0, 0, 0, ?,? )" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows2 . Close ( )
} }
// rows2, err := db.Query("INSERT INTO zmiany (ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie,id_cwiczenia, id_uzytkownik) VALUES (0, 0, 0, 0, ?,? )", id_cwiczenie,getCookie(w,r))
// if err != nil {panic(err.Error())}
// defer rows2.Close()
} } else {
2019-02-10 20:01:29 +01:00
p = Plan { Opis : "To ćwiczenie juz dodano" }
2019-02-16 22:29:58 +01:00
}
2019-02-21 17:21:04 +01:00
} else if IsNumeric ( Ciezar ) != true && Nazwa != "" || len ( Ciezar ) > 3 {
p = Plan { Opis : "Musisz podać tylko liczby mniejsze od 999" }
2019-02-16 22:29:58 +01:00
}
2019-01-28 21:15:21 +01:00
2018-12-18 23:17:57 +01:00
}
2019-02-16 22:29:58 +01:00
rows , err := db . Query ( "select rodzaj_treningu from baza.ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
2019-02-16 22:29:58 +01:00
for rows . Next ( ) {
2019-02-21 17:21:04 +01:00
var rodzaj_treningu string
2019-02-16 22:29:58 +01:00
err = rows . Scan ( & rodzaj_treningu )
if err != nil { panic ( err . Error ( ) ) }
2019-01-20 11:32:43 +01:00
2019-02-16 22:29:58 +01:00
if rodzaj_treningu == "FWB" {
2019-01-20 11:32:43 +01:00
2019-01-27 23:42:32 +01:00
rows2 , err := db . Query ( "select nazwa from baza.cwiczenie where (uzytkownik=? or uzytkownik=1)" , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
emp2 := Plan { }
res2 := [ ] Plan { }
for rows2 . Next ( ) {
var nazwa string
err = rows2 . Scan ( & nazwa )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-01-20 11:32:43 +01:00
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl2 . ExecuteTemplate ( w , "Index" , res2 )
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
} else if rodzaj_treningu == "ABS" {
2019-02-16 22:29:58 +01:00
rows2 , err := db . Query ( "select nazwa from baza.cwiczenie where rodzaj='brzuch' and (uzytkownik=? or uzytkownik=1)" , getCookie ( w , r ) )
emp2 := Plan { }
res2 := [ ] Plan { }
for rows2 . Next ( ) {
var nazwa string
err = rows2 . Scan ( & nazwa )
if err != nil {
panic ( err . Error ( ) )
}
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl2 . ExecuteTemplate ( w , "Index" , res2 )
2019-02-18 23:26:04 +01:00
// t, _ := template.ParseFiles("komunikat.html")
// t.Execute(w, p)
2019-01-20 11:32:43 +01:00
2019-02-16 22:29:58 +01:00
} else {
2019-01-20 11:32:43 +01:00
2019-02-16 22:29:58 +01:00
rows2 , err := db . Query ( "select nazwa from baza.cwiczenie where (uzytkownik=? or uzytkownik=1)" , getCookie ( w , r ) )
emp2 := Plan { }
res2 := [ ] Plan { }
for rows2 . Next ( ) {
var nazwa string
err = rows2 . Scan ( & nazwa )
if err != nil { panic ( err . Error ( ) ) }
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl2 . ExecuteTemplate ( w , "Index" , res2 )
2019-02-18 23:26:04 +01:00
// t, _ := template.ParseFiles("komunikat.html")
// t.Execute(w, p)
2019-02-16 22:29:58 +01:00
} }
2019-02-21 17:21:04 +01:00
rows4 , err := db . Query ( "select poziom from baza.ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
for rows4 . Next ( ) {
var poziom string
err = rows4 . Scan ( & poziom )
if err != nil { panic ( err . Error ( ) ) }
if poziom == "zaawansowany" {
rows4 , err := db . Query ( "select poziom from baza.ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
emp4 := Ustawienia { }
res4 := [ ] Ustawienia { }
for rows4 . Next ( ) {
var poziom string
err = rows4 . Scan ( & poziom )
if err != nil { panic ( err . Error ( ) ) }
emp4 . Poziom = poziom
2019-02-16 22:29:58 +01:00
rows33 , err := db . Query ( " SELECT A.ciezar_dodaj,A.powtorzenie_dodaj, A.co_ile_ciezar, A.co_ile_powtorzenie,B.nazwa, B.rodzaj from baza.zmiany as A, baza.cwiczenie as B where A.id_uzytkownik=? and A.id_cwiczenia=B.id_cwiczenie " , getCookie ( w , r ) )
emp33 := Zmiany { }
res33 := [ ] Zmiany { }
for rows33 . Next ( ) {
var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
var co_ile_powtorzenie int
var Nazwa string
var Rodzaj string
err = rows33 . Scan ( & ciezar_dodaj , & powtorzenie_dodaj , & co_ile_ciezar , & co_ile_powtorzenie , & Nazwa , & Rodzaj )
if err != nil { panic ( err . Error ( ) ) }
emp33 . Ciezar_dodaj = ciezar_dodaj
emp33 . Powtorzenie_dodaj = powtorzenie_dodaj
emp33 . Co_ile_ciezar = co_ile_ciezar
emp33 . Co_ile_powtorzenie = co_ile_powtorzenie
emp33 . Nazwa = Nazwa
emp33 . Rodzaj = Rodzaj
2019-02-21 17:21:04 +01:00
res33 = append ( res33 , emp33 )
}
emp4 . Zmiany = res33
res4 = append ( res4 , emp4 )
}
tmpl9 . ExecuteTemplate ( w , "Index3" , res4 )
} else {
rows4 , err := db . Query ( "select poziom from baza.ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
emp4 := Ustawienia { }
res4 := [ ] Ustawienia { }
for rows4 . Next ( ) {
var poziom string
err = rows4 . Scan ( & poziom )
if err != nil { panic ( err . Error ( ) ) }
emp4 . Poziom = poziom
rows33 , err := db . Query ( " sELECT A.ciezar_dodaj,A.powtorzenie_dodaj, A.co_ile_ciezar, A.co_ile_powtorzenie, B.rodzaj from baza.zmiany as A, baza.cwiczenie as B where A.id_uzytkownik=? and A.id_cwiczenia=B.id_cwiczenie group by A.ciezar_dodaj,A.powtorzenie_dodaj, A.co_ile_ciezar, A.co_ile_powtorzenie, B.rodzaj" , getCookie ( w , r ) )
emp33 := Zmiany { }
res33 := [ ] Zmiany { }
for rows33 . Next ( ) {
var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
var co_ile_powtorzenie int
var Rodzaj string
err = rows33 . Scan ( & ciezar_dodaj , & powtorzenie_dodaj , & co_ile_ciezar , & co_ile_powtorzenie , & Rodzaj )
if err != nil { panic ( err . Error ( ) ) }
emp33 . Ciezar_dodaj = ciezar_dodaj
emp33 . Powtorzenie_dodaj = powtorzenie_dodaj
emp33 . Co_ile_ciezar = co_ile_ciezar
emp33 . Co_ile_powtorzenie = co_ile_powtorzenie
emp33 . Rodzaj = Rodzaj
res33 = append ( res33 , emp33 )
}
emp4 . Zmiany = res33
res4 = append ( res4 , emp4 )
}
tmpl9 . ExecuteTemplate ( w , "Index3" , res4 )
} }
2019-02-16 22:29:58 +01:00
rows5 , err := db . Query ( " SELECT poziom, rodzaj_treningu from baza.ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
emp5 := Ustawienia { }
res5 := [ ] Ustawienia { }
for rows5 . Next ( ) {
var Poziom string
var Rodzaj_treningu string
err = rows5 . Scan ( & Poziom , & Rodzaj_treningu )
if err != nil { panic ( err . Error ( ) ) }
emp5 . Poziom = Poziom
emp5 . Rodzaj_treningu = Rodzaj_treningu
res5 = append ( res5 , emp5 )
}
tmpl10 . ExecuteTemplate ( w , "Index5" , res5 )
if emp5 . Poziom == "początkujący" {
rows21 , err := db . Query ( " SELECT B.rodzaj from baza.trening_cel as A, baza.cwiczenie as B where A.id_uzytkownik=? and A.id_cwiczenie=B.id_cwiczenie group by B.rodzaj" , getCookie ( w , r ) )
2019-02-10 20:01:29 +01:00
emp21 := Cwiczenie { }
res21 := [ ] Cwiczenie { }
for rows21 . Next ( ) {
var Rodzaj string
2019-02-16 22:29:58 +01:00
err = rows21 . Scan ( & Rodzaj )
if err != nil { panic ( err . Error ( ) ) }
emp21 . Nazwa = Rodzaj
res21 = append ( res21 , emp21 )
}
tmpl8 . ExecuteTemplate ( w , "Index2" , res21 )
} else {
rows21 , err := db . Query ( " SELECT B.nazwa from baza.trening_cel as A, baza.cwiczenie as B where A.id_uzytkownik=? and A.id_cwiczenie=B.id_cwiczenie " , getCookie ( w , r ) )
emp21 := Cwiczenie { }
res21 := [ ] Cwiczenie { }
for rows21 . Next ( ) {
2019-02-10 20:01:29 +01:00
var Nazwa string
2019-02-16 22:29:58 +01:00
err = rows21 . Scan ( & Nazwa )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-16 22:29:58 +01:00
emp21 . Nazwa = Nazwa
2019-02-10 20:01:29 +01:00
res21 = append ( res21 , emp21 )
2019-02-16 22:29:58 +01:00
2019-01-20 11:32:43 +01:00
}
2019-02-16 22:29:58 +01:00
2019-02-10 20:01:29 +01:00
tmpl8 . ExecuteTemplate ( w , "Index2" , res21 )
2019-02-16 22:29:58 +01:00
}
2019-01-20 11:32:43 +01:00
2018-12-18 23:17:57 +01:00
2019-02-16 22:29:58 +01:00
} else {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "planowanieTreningu4.html" )
t . Execute ( w , p )
2019-02-18 23:26:04 +01:00
}
t , _ := template . ParseFiles ( "komunikat.html" )
t . Execute ( w , p ) } }
2018-12-18 23:17:57 +01:00
2019-02-09 22:12:27 +01:00
func treningHandler ( w http . ResponseWriter , r * http . Request ) {
2019-02-21 17:21:04 +01:00
//otwieranie bazy-POCZATEK
2019-01-16 23:47:40 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil { panic ( err . Error ( ) ) }
defer db . Close ( )
//otwieranie bazy-KONIEC
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
//autoryzacja-POCZATEK
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
2019-02-21 17:21:04 +01:00
2019-02-10 20:01:29 +01:00
p := Plan { Opis : "" }
2019-01-16 23:47:40 +01:00
2019-02-16 22:29:58 +01:00
rows , err := db . Query ( "select count(*) from baza.zmiany where id_uzytkownik=? and ciezar_dodaj=0 and powtorzenie_dodaj=0 and co_ile_ciezar=0 and co_ile_powtorzenie=0" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
var sprawdzenie_zmiany int
for rows . Next ( ) {
2019-02-21 17:21:04 +01:00
rows . Scan ( & sprawdzenie_zmiany ) }
2019-02-16 22:29:58 +01:00
if sprawdzenie_zmiany != 0 {
q := Plan { Opis : "nie dodałeś wsztkich zmiennych do ćwiczeń wiec nie masz dostepu do tej zakładki" }
t , _ := template . ParseFiles ( "brakdostepu2.html" )
t . Execute ( w , q )
} else {
2019-01-16 23:47:40 +01:00
//sprawdzanie metody POST - POCZATEK
if r . Method == "POST" {
2018-12-18 23:17:57 +01:00
Powtorzenia := r . FormValue ( "Powtorzenia" )
Ciezar := r . FormValue ( "Ciezar" )
Serie := r . FormValue ( "Serie" )
Nazwa := r . FormValue ( "Nazwa" )
2019-01-16 23:47:40 +01:00
Akcja := r . FormValue ( "Akcja" )
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
currentTime := time . Now ( )
data_t := currentTime . Format ( "2006-01-02" )
rows1 , err := db . Query ( "SELECT COUNT(*) FROM baza.trening_rzeczywisty as a, baza.cwiczenie as b WHERE a.id_cwiczenia=b.id_cwiczenie and b.nazwa=? and a.id_uzytkownik=? and a.data_t=?" , Nazwa , getCookie ( w , r ) , data_t )
if err != nil { panic ( err . Error ( ) ) }
defer rows1 . Close ( )
var liczba string
for rows1 . Next ( ) {
err = rows1 . Scan ( & liczba )
}
2018-12-18 23:17:57 +01:00
2019-02-21 17:21:04 +01:00
rows , err := db . Query ( "SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=? and (uzytkownik=? or uzytkownik=1)" , Nazwa , getCookie ( w , r ) )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
for rows . Next ( ) {
2018-12-18 23:17:57 +01:00
emp := CwiczenieTabela { }
var id_cwiczenie int
err = rows . Scan ( & id_cwiczenie )
emp . Id_cwiczenie = id_cwiczenie
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
if Akcja == "usun" {
rows , err := db . Query ( "DELETE FROM baza.trening_cel where id_cwiczenie=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
2018-12-18 23:17:57 +01:00
2019-01-20 11:32:43 +01:00
rows2 , err := db . Query ( "DELETE FROM baza.trening_rzeczywisty where id_cwiczenia=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows2 . Close ( )
2019-01-16 23:47:40 +01:00
2019-02-10 20:01:29 +01:00
rows3 , err := db . Query ( "DELETE FROM baza.zmiany where id_cwiczenia=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer rows3 . Close ( )
2019-01-16 23:47:40 +01:00
2019-02-10 20:01:29 +01:00
} else if Akcja == "zatwierdz" && liczba == "0" {
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
if IsNumeric ( Ciezar ) && IsNumeric ( Powtorzenia ) && IsNumeric ( Serie ) && len ( Ciezar ) < 4 && len ( Powtorzenia ) < 4 && len ( Serie ) < 4 {
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
rows34 , err := db . Query ( "SELECT COUNT(*) from baza.trening_rzeczywisty where id_uzytkownik=? and id_cwiczenia=?" , getCookie ( w , r ) , id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
var sprawdzenie int
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
err = rows34 . Scan ( & sprawdzenie )
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
if sprawdzenie != 0 {
rows3 , err := db . Query ( "select powtorzenia_cel, ciezar_cel,MAX(data_t) from baza.trening_rzeczywisty where id_uzytkownik=? and id_cwiczenia=? group by powtorzenia_cel,ciezar_cel" , getCookie ( w , r ) , id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
for rows3 . Next ( ) {
var powtorzenia_cel int
var ciezar_cel int
var max string
err = rows3 . Scan ( & powtorzenia_cel , & ciezar_cel , & max )
if err != nil { panic ( err . Error ( ) ) }
rows3 , err := db . Query ( "SELECT COUNT(*) from baza.trening_rzeczywisty where id_cwiczenia=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
for rows3 . Next ( ) {
var liczba_treningow int
err = rows3 . Scan ( & liczba_treningow )
if err != nil { panic ( err . Error ( ) ) }
rows5 , err := db . Query ( "SELECT id_cwiczenia, ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie FROM baza.zmiany where id_uzytkownik=? and id_cwiczenia=? " , getCookie ( w , r ) , id_cwiczenie )
2019-02-16 22:29:58 +01:00
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-10 20:01:29 +01:00
for rows5 . Next ( ) {
var id_cwiczenia int
2019-01-16 23:47:40 +01:00
var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
2019-02-10 20:01:29 +01:00
var co_ile_powtorzenie int
2019-02-18 23:26:04 +01:00
2019-02-10 20:01:29 +01:00
err = rows5 . Scan ( & id_cwiczenia , & ciezar_dodaj , & powtorzenie_dodaj , & co_ile_ciezar , & co_ile_powtorzenie )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-21 17:21:04 +01:00
if ( liczba_treningow % co_ile_ciezar == 0 || liczba_treningow % co_ile_powtorzenie == 0 ) && liczba_treningow != 0 {
ciezar_cel = ciezar_cel + ciezar_dodaj
powtorzenia_cel = powtorzenia_cel + powtorzenie_dodaj
rows , err := db . Query ( "INSERT INTO trening_rzeczywisty (id_cwiczenia, id_uzytkownik, powtorzenia, ciezar,serie, data_t,powtorzenia_cel,ciezar_cel) VALUES (?, ?, ?, ?, ?, ?,?,? )" , id_cwiczenie , getCookie ( w , r ) , Powtorzenia , Ciezar , Serie , data_t , powtorzenia_cel , ciezar_cel )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
p = Plan { Opis : "Dodano pomyślnie ćwiczenie do dzisiejszego treningu." }
} else {
rows , err := db . Query ( "INSERT INTO trening_rzeczywisty (id_cwiczenia, id_uzytkownik, powtorzenia, ciezar,serie, data_t,powtorzenia_cel,ciezar_cel) VALUES (?, ?, ?, ?, ?, ?,?,? )" , id_cwiczenie , getCookie ( w , r ) , Powtorzenia , Ciezar , Serie , data_t , powtorzenia_cel , ciezar_cel )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
p = Plan { Opis : "Dodano pomyślnie ćwiczenie do dzisiejszego treningu." }
2019-01-16 23:47:40 +01:00
2019-02-10 20:01:29 +01:00
2019-02-21 17:21:04 +01:00
}
} } } } else {
rows3 , err := db . Query ( "select powtorzenia, ciezar from baza.trening_cel where id_uzytkownik=? and id_cwiczenie=?" , getCookie ( w , r ) , id_cwiczenie )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-21 17:21:04 +01:00
for rows3 . Next ( ) {
var powtorzenia_cel int
var ciezar_cel int
err = rows3 . Scan ( & powtorzenia_cel , & ciezar_cel )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-21 17:21:04 +01:00
rows3 , err := db . Query ( "SELECT COUNT(*) from baza.trening_rzeczywisty where id_cwiczenia=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
for rows3 . Next ( ) {
var liczba_treningow int
err = rows3 . Scan ( & liczba_treningow )
if err != nil { panic ( err . Error ( ) ) }
2019-01-20 11:32:43 +01:00
2019-02-10 20:01:29 +01:00
2019-02-21 17:21:04 +01:00
rows5 , err := db . Query ( "SELECT id_cwiczenia, ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie FROM baza.zmiany where id_uzytkownik=? and id_cwiczenia=? " , getCookie ( w , r ) , id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
for rows5 . Next ( ) {
var id_cwiczenia int
var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
var co_ile_powtorzenie int
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
err = rows5 . Scan ( & id_cwiczenia , & ciezar_dodaj , & powtorzenie_dodaj , & co_ile_ciezar , & co_ile_powtorzenie )
if err != nil { panic ( err . Error ( ) ) }
if ( liczba_treningow % co_ile_ciezar == 0 || liczba_treningow % co_ile_powtorzenie == 0 ) && liczba_treningow != 0 {
ciezar_cel = ciezar_cel + ciezar_dodaj
powtorzenia_cel = powtorzenia_cel + powtorzenie_dodaj
rows , err := db . Query ( "INSERT INTO baza.trening_rzeczywisty (id_cwiczenia, id_uzytkownik, powtorzenia, ciezar,serie, data_t,powtorzenia_cel,ciezar_cel) VALUES (?, ?, ?, ?, ?, ?,?,? )" , id_cwiczenie , getCookie ( w , r ) , Powtorzenia , Ciezar , Serie , data_t , powtorzenia_cel , ciezar_cel )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
p = Plan { Opis : "Dodano pomyślnie ćwiczenie do dzisiejszego treningu." }
} else {
rows , err := db . Query ( "INSERT INTO baza.trening_rzeczywisty (id_cwiczenia, id_uzytkownik, powtorzenia, ciezar,serie, data_t,powtorzenia_cel,ciezar_cel) VALUES (?, ?, ?, ?, ?, ?,?,? )" , id_cwiczenie , getCookie ( w , r ) , Powtorzenia , Ciezar , Serie , data_t , powtorzenia_cel , ciezar_cel )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
2019-02-21 17:21:04 +01:00
p = Plan { Opis : "Dodano pomyślnie ćwiczenie do dzisiejszego treningu." }
} } } } }
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
2019-02-10 20:01:29 +01:00
} else {
2019-02-21 17:21:04 +01:00
p = Plan { Opis : "Podane dane muszą być cyframi mniejszymi od 999" }
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
} } else if Akcja == "zatwierdz" && liczba != "0" {
p = Plan { Opis : "Dodano juz" }
}
}
}
rows2 , err := db . Query ( "SELECT rodzaj_treningu FROM ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
2019-02-16 22:29:58 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-10 20:01:29 +01:00
2019-02-21 17:21:04 +01:00
emp2 := Plan_rodzaj { }
res2 := [ ] Plan_rodzaj { }
for rows2 . Next ( ) {
var rodzaj_treningu string
err = rows2 . Scan ( & rodzaj_treningu )
if err != nil { panic ( err . Error ( ) ) }
emp2 . Rodzaj_treningu = rodzaj_treningu
rows , err := db . Query ( "SELECT N.serie, N.powtorzenia, P.nazwa, N.ciezar, N.id_cwiczenie FROM trening_cel AS N, cwiczenie AS P WHERE P.id_cwiczenie = N.id_cwiczenie and id_uzytkownik like ?" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
emp := Plan { }
res := [ ] Plan { }
for rows . Next ( ) {
var serie int
var powtorzenia_cel int
var nazwa string
var ciezar_cel int
var id_cwiczenie int
err = rows . Scan ( & serie , & powtorzenia_cel , & nazwa , & ciezar_cel , & id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
rows34 , err := db . Query ( "SELECT COUNT(*) from baza.trening_rzeczywisty where id_uzytkownik=? and id_cwiczenia=?" , getCookie ( w , r ) , id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
for rows34 . Next ( ) {
var sprawdzenie int
err = rows34 . Scan ( & sprawdzenie )
2019-02-16 22:29:58 +01:00
if sprawdzenie != 0 {
rows3 , err := db . Query ( "select powtorzenia_cel, ciezar_cel,MAX(data_t) from baza.trening_rzeczywisty where id_uzytkownik=? and id_cwiczenia=? group by powtorzenia_cel,ciezar_cel" , getCookie ( w , r ) , id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
for rows3 . Next ( ) {
var powtorzenia_cel int
var ciezar_cel int
var max string
err = rows3 . Scan ( & powtorzenia_cel , & ciezar_cel , & max )
if err != nil { panic ( err . Error ( ) ) }
2019-02-21 17:21:04 +01:00
rows3 , err := db . Query ( "SELECT COUNT(*) from baza.trening_rzeczywisty where id_cwiczenia=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
for rows3 . Next ( ) {
var liczba_treningow int
err = rows3 . Scan ( & liczba_treningow )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
rows5 , err := db . Query ( "SELECT id_cwiczenia, ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie FROM baza.zmiany where id_uzytkownik=? and id_cwiczenia=? " , getCookie ( w , r ) , id_cwiczenie )
2019-02-16 22:29:58 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
for rows5 . Next ( ) {
var id_cwiczenia int
var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
var co_ile_powtorzenie int
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
err = rows5 . Scan ( & id_cwiczenia , & ciezar_dodaj , & powtorzenie_dodaj , & co_ile_ciezar , & co_ile_powtorzenie )
2019-02-16 22:29:58 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-21 17:21:04 +01:00
if ( liczba_treningow % co_ile_ciezar == 0 || liczba_treningow % co_ile_powtorzenie == 0 ) && liczba_treningow != 0 {
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
ciezar_cel = ciezar_cel + ciezar_dodaj
powtorzenia_cel = powtorzenia_cel + powtorzenie_dodaj
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
emp . Serie = serie
emp . Powtorzenia = powtorzenia_cel
emp . Nazwa = nazwa
emp . Ciezar = ciezar_cel
emp . Id_cwiczenie = id_cwiczenie
} else {
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
emp . Serie = serie
emp . Powtorzenia = powtorzenia_cel
emp . Nazwa = nazwa
emp . Ciezar = ciezar_cel
emp . Id_cwiczenie = id_cwiczenie
}
}
}
}
} else {
2019-02-16 22:29:58 +01:00
rows3 , err := db . Query ( "select powtorzenia, ciezar from baza.trening_cel where id_uzytkownik=? and id_cwiczenie=?" , getCookie ( w , r ) , id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
for rows3 . Next ( ) {
var powtorzenia_cel int
var ciezar_cel int
err = rows3 . Scan ( & powtorzenia_cel , & ciezar_cel )
if err != nil { panic ( err . Error ( ) ) }
2019-02-10 20:01:29 +01:00
2019-01-16 23:47:40 +01:00
2019-02-21 17:21:04 +01:00
rows4 , err := db . Query ( "SELECT COUNT(*) from baza.trening_rzeczywisty where id_cwiczenia=? and id_uzytkownik=?" , id_cwiczenie , getCookie ( w , r ) )
2019-02-16 22:29:58 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-21 17:21:04 +01:00
for rows4 . Next ( ) {
var liczba_treningow int
err = rows4 . Scan ( & liczba_treningow )
if err != nil { panic ( err . Error ( ) ) }
2019-02-16 22:29:58 +01:00
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
rows5 , err := db . Query ( "SELECT id_cwiczenia, ciezar_dodaj, powtorzenie_dodaj, co_ile_ciezar, co_ile_powtorzenie FROM baza.zmiany where id_uzytkownik=? and id_cwiczenia=? " , getCookie ( w , r ) , id_cwiczenie )
if err != nil { panic ( err . Error ( ) ) }
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
for rows5 . Next ( ) {
var id_cwiczenia int
var ciezar_dodaj int
var powtorzenie_dodaj int
var co_ile_ciezar int
var co_ile_powtorzenie int
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
err = rows5 . Scan ( & id_cwiczenia , & ciezar_dodaj , & powtorzenie_dodaj , & co_ile_ciezar , & co_ile_powtorzenie )
if err != nil { panic ( err . Error ( ) ) }
2019-02-18 23:26:04 +01:00
2019-02-21 17:21:04 +01:00
if ( liczba_treningow % co_ile_ciezar == 0 || liczba_treningow % co_ile_powtorzenie == 0 ) && liczba_treningow != 0 {
2019-02-16 22:29:58 +01:00
2019-02-21 17:21:04 +01:00
ciezar_cel = ciezar_cel + ciezar_dodaj
powtorzenia_cel = powtorzenia_cel + powtorzenie_dodaj
2019-02-18 23:26:04 +01:00
2019-02-10 20:01:29 +01:00
2019-01-16 23:47:40 +01:00
2019-02-21 17:21:04 +01:00
emp . Serie = serie
emp . Powtorzenia = powtorzenia_cel
emp . Nazwa = nazwa
emp . Ciezar = ciezar_cel
emp . Id_cwiczenie = id_cwiczenie
2019-02-10 20:01:29 +01:00
} else {
2019-02-21 17:21:04 +01:00
emp . Serie = serie
emp . Powtorzenia = powtorzenia_cel
emp . Nazwa = nazwa
emp . Ciezar = ciezar_cel
emp . Id_cwiczenie = id_cwiczenie
2019-02-16 22:29:58 +01:00
}
}
2019-01-16 23:47:40 +01:00
}
2019-02-21 17:21:04 +01:00
} } }
2019-01-16 23:47:40 +01:00
2019-02-10 20:01:29 +01:00
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
res = append ( res , emp )
2019-02-21 17:21:04 +01:00
2019-01-16 23:47:40 +01:00
}
2019-01-20 11:32:43 +01:00
emp2 . Plan = res
res2 = append ( res2 , emp2 )
}
tmpl . ExecuteTemplate ( w , "Index" , res2 )
2019-02-10 20:01:29 +01:00
t , _ := template . ParseFiles ( "komunikat.html" )
t . Execute ( w , p )
2019-02-06 23:29:13 +01:00
2019-01-16 23:47:40 +01:00
}
//autoryzacja-KONIEC
2019-02-21 17:21:04 +01:00
2019-02-16 22:29:58 +01:00
}
}
2019-01-16 23:47:40 +01:00
2019-02-06 23:29:13 +01:00
2019-01-16 23:47:40 +01:00
func logowanieHandler ( w http . ResponseWriter , r * http . Request ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2018-12-18 23:17:57 +01:00
if err != nil {
2019-01-16 23:47:40 +01:00
panic ( err . Error ( ) )
2018-12-18 23:17:57 +01:00
}
defer db . Close ( )
2019-01-16 23:47:40 +01:00
if r . Method == "GET" {
id_uzytkownik := r . FormValue ( "cookies" )
setCookie ( w , r , id_uzytkownik )
2019-02-21 17:21:04 +01:00
p := Plan { Opis : "" }
2019-01-16 23:47:40 +01:00
t , _ := template . ParseFiles ( "logowanie.html" )
t . Execute ( w , p )
}
if r . Method == "POST" {
Login := r . FormValue ( "Login" )
Haslo := r . FormValue ( "Haslo" )
rows , err := db . Query ( "SELECT COUNT(*) FROM baza.uzytkownicy WHERE login=? and haslo=?" , Login , Haslo )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-01-16 23:47:40 +01:00
for rows . Next ( ) {
var autoryzacja int
err = rows . Scan ( & autoryzacja )
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
if err != nil {
panic ( err . Error ( ) )
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
if autoryzacja != 0 {
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
rows , err := db . Query ( "SELECT id_uzytkownik FROM baza.uzytkownicy WHERE login=? and haslo=?" , Login , Haslo )
if err != nil {
panic ( err . Error ( ) )
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
for rows . Next ( ) {
var id_uzytkownik string
err = rows . Scan ( & id_uzytkownik )
if err != nil {
panic ( err . Error ( ) )
}
setCookie ( w , r , id_uzytkownik )
2019-02-21 17:21:04 +01:00
p := Plan { Opis : "" }
2019-01-16 23:47:40 +01:00
t , _ := template . ParseFiles ( "start.html" )
t . Execute ( w , p ) }
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
} else {
2019-02-21 17:21:04 +01:00
p := Plan { Opis : "Podano złe hasło lub login." }
2019-01-16 23:47:40 +01:00
t , _ := template . ParseFiles ( "logowanie.html" )
t . Execute ( w , p )
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
} }
}
2018-12-18 23:17:57 +01:00
}
2019-01-16 23:47:40 +01:00
func opisCwiczenia ( w http . ResponseWriter , r * http . Request ) {
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
2018-12-18 23:17:57 +01:00
nazwa := r . FormValue ( "Nazwa" )
2019-01-16 23:47:40 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer db . Close ( )
2018-12-18 23:17:57 +01:00
2019-02-21 17:21:04 +01:00
rows , err := db . Query ( "SELECT opis, rodzaj, Film FROM baza.cwiczenie where nazwa=?" , nazwa )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-18 23:17:57 +01:00
2019-02-10 20:01:29 +01:00
emp := Cwiczenie { }
2018-12-18 23:17:57 +01:00
res := [ ] Cwiczenie { }
for rows . Next ( ) {
var opis string
var rodzaj string
2019-02-21 17:21:04 +01:00
var Film string
err = rows . Scan ( & opis , & rodzaj , & Film )
2018-12-18 23:17:57 +01:00
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-18 23:17:57 +01:00
emp . Opis = opis
emp . Rodzaj = rodzaj
2019-02-21 17:21:04 +01:00
if Film != "" {
emp . Film = Film
}
2018-12-18 23:17:57 +01:00
emp . Nazwa = nazwa
res = append ( res , emp )
}
tmpl3 . ExecuteTemplate ( w , "Index" , res )
//koniec wyświetlanie trenngu
2019-01-16 23:47:40 +01:00
} }
2018-12-18 23:17:57 +01:00
2018-12-31 00:56:25 +01:00
func wynikiHandler ( w http . ResponseWriter , r * http . Request ) {
2019-01-16 23:47:40 +01:00
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
} else {
2019-02-09 22:12:27 +01:00
p := Plan { Opis : "" }
2019-01-16 23:47:40 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-31 00:56:25 +01:00
defer db . Close ( )
2019-01-20 11:32:43 +01:00
2019-02-09 22:12:27 +01:00
if r . Method == "POST" {
Nazwa2 := r . FormValue ( "Nazwa" )
data_t2 := r . FormValue ( "Data" )
Ciezar2 := r . FormValue ( "Ciezar" )
Akcja2 := r . FormValue ( "Akcja" )
rows2 , err := db . Query ( "SELECT COUNT(*) FROM baza.trening_rzeczywisty AS A, baza.cwiczenie AS B where B.nazwa=? and A.id_uzytkownik=? and A.data_t=?" , Nazwa2 , getCookie ( w , r ) , data_t2 )
if err != nil { panic ( err . Error ( ) ) }
for rows2 . Next ( ) {
var sprawdzanieBaza int
err = rows2 . Scan ( & sprawdzanieBaza )
if err != nil { panic ( err . Error ( ) ) }
if sprawdzanieBaza != 0 {
2019-02-21 17:21:04 +01:00
if Akcja2 == "Usun" {
insert , err := db . Query ( "delete A from baza.trening_rzeczywisty AS A, baza.cwiczenie AS B where B.nazwa=? and A.id_uzytkownik=? and A.data_t=? and A.id_cwiczenia=B.id_cwiczenie;" , Nazwa2 , getCookie ( w , r ) , data_t2 )
2019-02-09 22:12:27 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer insert . Close ( )
2019-02-21 17:21:04 +01:00
} else if Ciezar2 != "" && Akcja2 == "Edytuj" && len ( Ciezar2 ) < 4 {
rows3 , err := db . Query ( "UPDATE baza.trening_rzeczywisty AS A, baza.cwiczenie AS B SET A.ciezar=? where B.nazwa=? and A.id_uzytkownik=? and A.data_t=? and A.id_cwiczenia=B.id_cwiczenie;" , Ciezar2 , Nazwa2 , getCookie ( w , r ) , data_t2 )
2019-02-09 22:12:27 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer rows3 . Close ( )
} else {
2019-02-21 17:21:04 +01:00
p = Plan { Opis : "Prosze podać cyfry do 999" }
2019-02-09 22:12:27 +01:00
}
} else {
p = Plan { Opis : "Wynik o takiej dacie oraz nazwie nie istanieje w bazie" }
}
}
}
2019-01-20 11:32:43 +01:00
rows , err := db . Query ( "SELECT C.nazwa FROM baza.trening_cel AS N, baza.cwiczenie AS C WHERE id_uzytkownik=? and C.id_cwiczenie = N.id_cwiczenie" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
var i int
i = 0
2018-12-31 00:56:25 +01:00
emp := ww { }
res := [ ] ww { }
for rows . Next ( ) {
var nazwa string
err = rows . Scan ( & nazwa )
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-31 00:56:25 +01:00
emp . Nazwa = nazwa
2019-02-10 20:01:29 +01:00
2019-01-20 11:32:43 +01:00
i ++
2018-12-31 00:56:25 +01:00
emp . NumerCwiczenia = i
2019-02-10 20:01:29 +01:00
2018-12-31 00:56:25 +01:00
2019-02-16 22:29:58 +01:00
rows2 , err := db . Query ( "SELECT P.ciezar,P.ciezar_cel, P.data_t FROM baza.trening_rzeczywisty AS P, baza.cwiczenie AS C WHERE C.nazwa = ? and C.id_cwiczenie = P.id_cwiczenia and P.id_uzytkownik=?" , nazwa , getCookie ( w , r ) )
2018-12-31 00:56:25 +01:00
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-31 00:56:25 +01:00
emp2 := Wyniki { }
res2 := [ ] Wyniki { }
for rows2 . Next ( ) {
var ciezar_rzecz int
var ciezar_cel int
2019-01-16 23:47:40 +01:00
var data_t string
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
err = rows2 . Scan ( & ciezar_rzecz , & ciezar_cel , & data_t )
2019-02-10 20:01:29 +01:00
if err != nil { panic ( err . Error ( ) ) }
2018-12-31 00:56:25 +01:00
emp2 . Ciezar_rzecz = ciezar_rzecz
emp2 . Ciezar_cel = ciezar_cel
2019-01-16 23:47:40 +01:00
emp2 . Data_t = data_t
2018-12-31 00:56:25 +01:00
res2 = append ( res2 , emp2 )
}
emp . Wyniki = res2
2019-01-16 23:47:40 +01:00
res = append ( res , emp )
2019-01-20 11:32:43 +01:00
}
2018-12-31 00:56:25 +01:00
tmpl4 . ExecuteTemplate ( w , "Index" , res )
2019-02-09 22:12:27 +01:00
rows4 , err := db . Query ( "SELECT B.nazwa FROM baza.trening_rzeczywisty as A, cwiczenie as B where B.id_cwiczenie=A.id_cwiczenia and A.id_uzytkownik=? GROUP BY A.id_cwiczenia" , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
emp2 := Wyniki { }
res2 := [ ] Wyniki { }
for rows4 . Next ( ) {
var nazwa string
err = rows4 . Scan ( & nazwa )
if err != nil { panic ( err . Error ( ) ) }
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl7 . ExecuteTemplate ( w , "Index2" , res2 )
t , _ := template . ParseFiles ( "komunikat.html" )
t . Execute ( w , p )
2018-12-31 00:56:25 +01:00
}
2019-01-16 23:47:40 +01:00
2018-12-31 00:56:25 +01:00
}
2019-01-16 23:47:40 +01:00
func dodaj_cwiczenieHandler ( w http . ResponseWriter , r * http . Request ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +01:00
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
2018-12-31 00:56:25 +01:00
t . Execute ( w , p )
2019-01-16 23:47:40 +01:00
} else {
2019-02-10 20:01:29 +01:00
p := Plan { Opis : "" }
2019-01-16 23:47:40 +01:00
2018-12-31 00:56:25 +01:00
if r . Method == "POST" {
Nazwa := r . FormValue ( "Nazwa" )
Rodzaj := r . FormValue ( "Rodzaj" )
Opis := r . FormValue ( "Opis" )
2019-02-21 17:21:04 +01:00
Film := r . FormValue ( "Film" )
2019-01-16 23:47:40 +01:00
2019-02-21 17:21:04 +01:00
rows , err := db . Query ( "SELECT COUNT(*) FROM baza.cwiczenie WHERE nazwa=? and uzytkownik=? or uzytkownik=1" , Nazwa , getCookie ( w , r ) )
2019-02-03 23:59:21 +01:00
2019-02-21 17:21:04 +01:00
if err != nil { panic ( err . Error ( ) ) }
var sprawdzanienazwa int
2019-02-03 23:59:21 +01:00
for rows . Next ( ) {
2019-02-21 17:21:04 +01:00
err = rows . Scan ( & sprawdzanienazwa )
2019-02-03 23:59:21 +01:00
2019-02-21 17:21:04 +01:00
if sprawdzanienazwa == 0 {
if blank ( Nazwa ) == false && blank ( Rodzaj ) == false && blank ( Opis ) == false && len ( Nazwa ) < 45 && len ( Opis ) < 400 && len ( Film ) < 150 {
insert , err := db . Query ( "INSERT INTO baza.cwiczenie ( opis, rodzaj, nazwa, Film, uzytkownik) VALUES ( ?,?,?,?,? )" , Opis , Rodzaj , Nazwa , Film , getCookie ( w , r ) )
2019-01-16 23:47:40 +01:00
fmt . Println ( insert )
fmt . Println ( err )
2019-02-03 23:59:21 +01:00
} else {
2019-02-21 17:21:04 +01:00
p = Plan { Opis : "Musisz wypełnić wszystkie pola. Pole film jest opcjonalne. Maksymalna ilośc znaków to: nazwa ćwiczenia-45 znaków, opis-400 znaków i film-150 znaków" }
}
} else {
p = Plan { Opis : "Cwiczenie o tej nazwie juz istnieje." }
2019-02-10 20:01:29 +01:00
2019-02-21 17:21:04 +01:00
}
}
2019-01-16 23:47:40 +01:00
}
2019-01-31 22:31:47 +01:00
2019-02-10 20:01:29 +01:00
2019-01-31 22:31:47 +01:00
rows2 , err := db . Query ( "select nazwa from baza.cwiczenie where uzytkownik=?" , getCookie ( w , r ) )
emp2 := Plan { }
res2 := [ ] Plan { }
for rows2 . Next ( ) {
var nazwa string
err = rows2 . Scan ( & nazwa )
if err != nil { panic ( err . Error ( ) ) }
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl6 . ExecuteTemplate ( w , "Index" , res2 )
2019-02-10 20:01:29 +01:00
t , _ := template . ParseFiles ( "komunikat.html" )
t . Execute ( w , p )
2019-01-16 23:47:40 +01:00
} }
2019-02-03 23:59:21 +01:00
func usun_cwiczenieHandler ( w http . ResponseWriter , r * http . Request ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
if r . Method == "POST" {
NazwaUsun := r . FormValue ( "NazwaUsun" )
2019-02-18 23:26:04 +01:00
insert , err := db . Query ( "delete A from baza.trening_rzeczywisty as A, baza.cwiczenie as B where B.id_cwiczenie=A.id_cwiczenia and B.nazwa=? and B.uzytkownik=?" , NazwaUsun , getCookie ( w , r ) )
2019-02-03 23:59:21 +01:00
if err != nil { panic ( err . Error ( ) ) }
defer insert . Close ( )
2019-02-18 23:26:04 +01:00
insert2 , err := db . Query ( "delete A from baza.zmiany as A, baza.cwiczenie as B where B.id_cwiczenie=A.id_cwiczenia and B.nazwa=? and B.uzytkownik=?" , NazwaUsun , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer insert2 . Close ( )
insert3 , err := db . Query ( "delete A from baza.trening_cel as A, baza.cwiczenie as B where B.id_cwiczenie=A.id_cwiczenie and B.nazwa=? and B.uzytkownik=?" , NazwaUsun , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer insert3 . Close ( )
insert4 , err := db . Query ( "delete from baza.cwiczenie where nazwa=? and uzytkownik=?" , NazwaUsun , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer insert4 . Close ( )
2019-02-03 23:59:21 +01:00
}
rows2 , err := db . Query ( "select nazwa from baza.cwiczenie where uzytkownik=?" , getCookie ( w , r ) )
emp2 := Plan { }
res2 := [ ] Plan { }
for rows2 . Next ( ) {
var nazwa string
err = rows2 . Scan ( & nazwa )
if err != nil { panic ( err . Error ( ) ) }
emp2 . Nazwa = nazwa
res2 = append ( res2 , emp2 )
}
tmpl6 . ExecuteTemplate ( w , "Index" , res2 )
} }
2019-01-16 23:47:40 +01:00
func rejestracja ( w http . ResponseWriter , r * http . Request ) {
// p := Uzytkownicy{Url: "/start"}
// t, _ := template.ParseFiles("pocz.html")
// t.Execute(w, p)
2019-02-21 17:21:04 +01:00
var IsLetter = regexp . MustCompile ( ` ^[0-9a-zA-Z]+$ ` ) . MatchString
2019-01-16 23:47:40 +01:00
if r . Method == "POST" {
Login := r . FormValue ( "Login" )
Haslo := r . FormValue ( "Haslo" )
2019-02-21 17:21:04 +01:00
Haslo2 := r . FormValue ( "Haslo2" )
2019-01-16 23:47:40 +01:00
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil { panic ( err . Error ( ) ) }
2018-12-31 00:56:25 +01:00
defer db . Close ( )
2019-02-21 17:21:04 +01:00
if Haslo2 == Haslo {
if len ( Login ) > 0 && len ( Haslo ) > 0 && len ( Login ) < 7 && len ( Haslo ) < 7 && IsLetter ( Haslo ) && IsLetter ( Login ) {
2019-01-16 23:47:40 +01:00
rows , err := db . Query ( "SELECT COUNT(*) FROM baza.uzytkownicy WHERE login=?" , Login )
var login int
for rows . Next ( ) {
2019-02-10 20:01:29 +01:00
err = rows . Scan ( & login )
2019-02-21 17:21:04 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-10 20:01:29 +01:00
}
2018-12-31 00:56:25 +01:00
2019-02-21 17:21:04 +01:00
if login == 0 {
2018-12-31 00:56:25 +01:00
2019-01-20 14:22:29 +01:00
2019-01-16 23:47:40 +01:00
insert , err := db . Query ( "INSERT INTO uzytkownicy (login, haslo) VALUES ( ?,? )" , Login , Haslo )
2018-12-31 00:56:25 +01:00
if err != nil {
panic ( err . Error ( ) )
}
2019-01-16 23:47:40 +01:00
defer insert . Close ( )
2019-01-20 14:22:29 +01:00
2019-01-16 23:47:40 +01:00
p := komunikat { Opis : "" }
t , _ := template . ParseFiles ( "logowanie.html" )
t . Execute ( w , p )
} else {
p := komunikat { Opis : "Ten login jest już zajęty" }
t , _ := template . ParseFiles ( "rejestracja.html" )
t . Execute ( w , p )
2019-02-21 17:21:04 +01:00
} } else {
p := komunikat { Opis : "Login i hasło nie mogą być puste, nie mogą mieć wiecej niz 6 znaków i muszą się składać tylko z liter i cyfr" }
t , _ := template . ParseFiles ( "rejestracja.html" )
t . Execute ( w , p )
2019-01-16 23:47:40 +01:00
2019-02-21 17:21:04 +01:00
} } else {
p := komunikat { Opis : "Hasła muszą być takie same" }
t , _ := template . ParseFiles ( "rejestracja.html" )
t . Execute ( w , p ) }
2019-01-16 23:47:40 +01:00
} else {
p := komunikat { Opis : "" }
t , _ := template . ParseFiles ( "rejestracja.html" )
t . Execute ( w , p )
}
2018-12-31 00:56:25 +01:00
}
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
func start ( w http . ResponseWriter , r * http . Request ) {
p := Uzytkownicy { Url : "/start" }
t , _ := template . ParseFiles ( "start.html" )
t . Execute ( w , p )
}
2019-01-20 11:32:43 +01:00
func wymiary ( w http . ResponseWriter , r * http . Request ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
if getCookie ( w , r ) == "brak" {
p := Plan { Opis : "zakładka" }
t , _ := template . ParseFiles ( "brakdostepu.html" )
t . Execute ( w , p )
} else {
2019-02-10 20:01:29 +01:00
p := Plan { Opis : "" }
2019-01-20 11:32:43 +01:00
if r . Method == "POST" {
2019-02-09 22:12:27 +01:00
nazwa := r . FormValue ( "Nazwa" )
wymiar := r . FormValue ( "wymiar" )
Akcja := r . FormValue ( "Akcja" )
DataEdycja := r . FormValue ( "DataEdycja" )
2019-01-20 11:32:43 +01:00
currentTime := time . Now ( )
data := currentTime . Format ( "2006-01-02" )
2019-02-09 22:12:27 +01:00
rows , err := db . Query ( "SELECT COUNT(*) FROM baza.wymiary where nazwa=? and data=? and id_uzytkownik=?" , nazwa , data , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-09 22:12:27 +01:00
for rows . Next ( ) {
var istnieje int
err = rows . Scan ( & istnieje )
if err != nil { panic ( err . Error ( ) ) }
2019-02-21 17:21:04 +01:00
if istnieje == 0 && Akcja == "Dodaj" && IsNumeric ( wymiar ) && len ( wymiar ) < 4 {
2019-02-09 22:12:27 +01:00
insert , err := db . Query ( "INSERT INTO baza.wymiary ( id_uzytkownik, wymiar, nazwa, data) VALUES ( ?,?,?,?)" , getCookie ( w , r ) , wymiar , nazwa , data )
if err != nil { panic ( err . Error ( ) ) }
defer insert . Close ( )
2019-02-21 17:21:04 +01:00
} else if Akcja == "Edytuj" && IsNumeric ( wymiar ) {
if istnieje != 0 {
2019-02-09 22:12:27 +01:00
UPDATE , err := db . Query ( "UPDATE baza.wymiary set wymiar=? where nazwa=? and data=? and id_uzytkownik=?" , wymiar , nazwa , DataEdycja , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer UPDATE . Close ( )
2019-02-21 17:21:04 +01:00
} else {
p = Plan { Opis : "Podana data nie istnieje." }
}
2019-02-09 22:12:27 +01:00
} else if Akcja == "Usun" {
DELETE , err := db . Query ( "DELETE from baza.wymiary where nazwa=? and id_uzytkownik=?" , nazwa , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
defer DELETE . Close ( )
2019-01-20 11:32:43 +01:00
} else {
2019-02-09 22:12:27 +01:00
2019-02-21 17:21:04 +01:00
p = Plan { Opis : "Wszytkie pola formularza muszą być uzupełnione.Podane dane muszą być cyframi mniejszymi od 999." }
2019-02-18 23:26:04 +01:00
} } }
2019-02-09 22:12:27 +01:00
rows , err := db . Query ( "SELECT nazwa from wymiary where id_uzytkownik=? group by nazwa" , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-09 22:12:27 +01:00
emp := Wymiary { }
res := [ ] Wymiary { }
for rows . Next ( ) {
var nazwa string
err = rows . Scan ( & nazwa )
if err != nil { panic ( err . Error ( ) ) }
emp . Nazwa = nazwa
rows2 , err := db . Query ( "SELECT wymiar, data from wymiary where nazwa=? and id_uzytkownik=?" , nazwa , getCookie ( w , r ) )
if err != nil { panic ( err . Error ( ) ) }
emp2 := Wymiary_2 { }
res2 := [ ] Wymiary_2 { }
2019-01-20 11:32:43 +01:00
for rows2 . Next ( ) {
var wymiar int
var data string
2019-02-09 22:12:27 +01:00
err = rows2 . Scan ( & wymiar , & data )
if err != nil { panic ( err . Error ( ) ) }
2019-01-20 11:32:43 +01:00
emp2 . Wymiar = wymiar
emp2 . Data = data
res2 = append ( res2 , emp2 )
2019-02-09 22:12:27 +01:00
}
emp . Wymiary_2 = res2
res = append ( res , emp )
2019-01-20 11:32:43 +01:00
}
2019-02-09 22:12:27 +01:00
tmpl5 . ExecuteTemplate ( w , "Index" , res )
2019-02-10 20:01:29 +01:00
t , _ := template . ParseFiles ( "komunikat.html" )
t . Execute ( w , p )
2019-01-20 11:32:43 +01:00
}
}
2019-01-16 23:47:40 +01:00
func main ( ) {
db , err := sql . Open ( "mysql" , "finley:password@tcp(127.0.0.1:3306)/baza" )
2018-12-18 23:17:57 +01:00
if err != nil {
panic ( err . Error ( ) )
}
defer db . Close ( )
/ *
//wpisywanie do bazy
insert , err := db . Query ( "INSERT INTO trening_rzeczywisty VALUES ( 1, 1, 1, 22, 33, 44 )" )
if err != nil {
panic ( err . Error ( ) )
}
defer insert . Close ( )
* /
//wybieranie z bazy
/ * results , err := db . Query ( "SELECT login FROM uzytkownicy" )
if err != nil {
panic ( err . Error ( ) )
}
for results . Next ( ) {
var login string
err = results . Scan ( & login )
if err != nil {
panic ( err . Error ( ) )
}
} * /
/ *
//usuwanie wiersza z bazy
insertq , err := db . Query ( "DELETE FROM uzytkownicy WHERE id_uzytkownik=4" )
if err != nil {
panic ( err . Error ( ) )
}
defer insertq . Close ( )
* /
http . Handle ( "/static/" , http . StripPrefix ( "/static/" , http . FileServer ( http . Dir ( "static" ) ) ) )
2019-02-09 22:12:27 +01:00
http . HandleFunc ( "/trening/" , treningHandler )
2019-02-06 23:29:13 +01:00
// http.HandleFunc("/wypisz_usun/", wypiszHandler_usun)
2019-01-16 23:47:40 +01:00
http . HandleFunc ( "/logowanie" , logowanieHandler )
2018-12-18 23:17:57 +01:00
http . HandleFunc ( "/planer/" , planowanieTreningu )
2018-12-31 00:56:25 +01:00
http . HandleFunc ( "/cwiczenie/" , opisCwiczenia )
http . HandleFunc ( "/wyniki/" , wynikiHandler )
2019-01-16 23:47:40 +01:00
http . HandleFunc ( "/dodajcwiczenie/" , dodaj_cwiczenieHandler )
2019-02-03 23:59:21 +01:00
http . HandleFunc ( "/usuncwiczenie/" , usun_cwiczenieHandler )
2019-01-16 23:47:40 +01:00
http . HandleFunc ( "/rejestracja/" , rejestracja )
2019-01-20 11:32:43 +01:00
http . HandleFunc ( "/wymiary/" , wymiary )
2019-02-16 22:29:58 +01:00
http . HandleFunc ( "/zmianaUstawien/" , zmianaUstawien )
2018-12-18 23:17:57 +01:00
2019-01-16 23:47:40 +01:00
http . HandleFunc ( "/start/" , start )
http . ListenAndServe ( ":8099" , nil )
2018-12-18 23:17:57 +01:00
}