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"
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-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
Zdjecie string
}
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
}
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 ) {
fmt . Println ( "tt" )
expiration := time . Now ( ) . Add ( 2 * time . Hour )
c1 := http . Cookie { Name : "logowanie" , Value : id_uzytkownik , Expires : expiration }
fmt . Println ( c1 )
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" )
// fmt.Println(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" )
// fmt.Println(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" {
if IsNumeric ( co_ile_ciezar ) && IsNumeric ( ciezar_dodaj ) && IsNumeric ( powtorzenie_dodaj ) && IsNumeric ( co_ile_powtorzenie ) {
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 {
p = Plan { Opis : "Musisz podać cyfry, 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-18 23:26:04 +01:00
if IsNumeric ( Ciezar ) && Nazwa != "" {
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" {
2018-12-18 23:17:57 +01:00
rows , err := db . Query ( "SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa=?" , Nazwa )
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-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" {
fmt . Println ( poziom )
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 )
fmt . Println ( 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-18 23:26:04 +01:00
} else if IsNumeric ( Ciezar ) != true && Nazwa != "" {
2019-02-16 22:29:58 +01:00
p = Plan { Opis : "Musisz podać cyfry" }
}
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 ( ) {
var rodzaj_treningu string
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
} else if rodzaj_treningu == "ASB" {
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
} }
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
res33 = append ( res33 , emp33 )
}
fmt . Println ( res33 )
tmpl9 . ExecuteTemplate ( w , "Index3" , res33 )
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 )
}
fmt . Println ( res21 )
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
fmt . Println ( res21 )
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-01-16 23:47:40 +01:00
//otwieranie bazy-POCZATEK
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-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 ( ) {
err = rows . Scan ( & sprawdzenie_zmiany )
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" )
2019-02-10 20:01:29 +01:00
// if Akcja=="usuntrening"{
// rows, err := db.Query("delete from baza.zmiany where id_uzytkownik=? ",getCookie(w,r))
// if err != nil {panic(err.Error())}
// defer rows.Close()
// }
2019-01-16 23:47:40 +01:00
//sprawdzanie czy dodano juz dzisiaj to cwiczenie-POCZATEK
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-01-20 11:32:43 +01:00
rows , err := db . Query ( "SELECT id_cwiczenie FROM baza.cwiczenie WHERE nazwa like ?" , Nazwa )
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-18 23:26:04 +01:00
if IsNumeric ( Ciezar ) && IsNumeric ( Powtorzenia ) && IsNumeric ( Serie ) {
2019-02-16 22:29:58 +01:00
2019-02-10 20:01:29 +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=?" , getCookie ( w , r ) )
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-10 20:01:29 +01:00
fmt . Println ( id_cwiczenia )
2019-01-16 23:47:40 +01:00
2019-02-10 20:01:29 +01:00
rows1 , err := db . Query ( "SELECT P.nazwa, N.ciezar, N.powtorzenia FROM baza.trening_cel AS N, baza.cwiczenie AS P WHERE P.id_cwiczenie = N.id_cwiczenie and N.id_uzytkownik=? and P.id_cwiczenie=?" , getCookie ( w , r ) , id_cwiczenia )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
for rows1 . Next ( ) {
var nazwa string
var ciezar int
var powtorzenia int
err = rows1 . Scan ( & nazwa , & ciezar , & powtorzenia )
if err != nil { panic ( err . Error ( ) ) }
rows3 , err := db . Query ( "SELECT COUNT(*) from baza.trening_rzeczywisty as a, baza.cwiczenie as b where b.nazwa=? and a.id_uzytkownik=?" , nazwa , 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 ( ) ) }
//sprawdzanie czy dodac ciezar lub powtorzenie-POCZATEK
2019-01-20 11:32:43 +01:00
2019-02-10 20:01:29 +01:00
2019-01-16 23:47:40 +01:00
if liczba_treningow % co_ile_ciezar == 0 || liczba_treningow % co_ile_powtorzenie == 0 {
2019-02-18 23:26:04 +01:00
2019-01-16 23:47:40 +01:00
ciezar = ciezar + ciezar_dodaj
powtorzenia = powtorzenia + powtorzenie_dodaj
2019-02-10 20:01:29 +01:00
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 , ciezar )
if err != nil { panic ( err . Error ( ) ) }
defer rows . Close ( )
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-18 23:26:04 +01:00
2019-02-16 22:29:58 +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-10 20:01:29 +01:00
2019-02-16 22:29:58 +01:00
err = rows34 . Scan ( & sprawdzenie )
2019-02-18 23:26:04 +01:00
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-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
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 )
2019-01-16 23:47:40 +01:00
if err != nil { panic ( err . Error ( ) ) }
2019-02-10 20:01:29 +01:00
defer rows . Close ( )
2019-02-16 22:29:58 +01:00
} } else {
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
rows3 , err := db . Query ( "SELECT COUNT(*) 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-16 22:29:58 +01:00
for rows3 . Next ( ) {
var sprawdzaniebazy int
err = rows3 . Scan ( & sprawdzaniebazy )
if err != nil { panic ( err . Error ( ) ) }
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
if sprawdzaniebazy != 0 {
2019-02-18 23:26:04 +01:00
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-16 22:29:58 +01:00
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 ( )
} } else {
p = Plan { Opis : "Musisz uzupełnić progres ćwiczenia" }
2019-01-16 23:47:40 +01:00
}
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
} //next
} //else
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
} // if sprawdzenie!
2019-02-18 23:26:04 +01:00
2019-02-16 22:29:58 +01:00
} //else
2019-01-16 23:47:40 +01:00
}
2019-02-10 20:01:29 +01:00
///POWAŻNE ZMIANY---KONIEC
}
2019-01-16 23:47:40 +01:00
2019-02-10 20:01:29 +01:00
} else {
p = Plan { Opis : "Podane dane muszą być cyframi" }
2019-02-16 22:29:58 +01:00
} } else if Akcja == "zatwierdz" && liczba != "0" {
p = Plan { Opis : "Dodano juz" }
2019-02-10 20:01:29 +01:00
2019-02-16 22:29:58 +01:00
}
}
2019-02-10 20:01:29 +01:00
2019-01-16 23:47:40 +01:00
}
2019-02-10 20:01:29 +01:00
2019-02-16 22:29:58 +01:00
rows2 , err := db . Query ( "SELECT rodzaj_treningu FROM ustawienia where id_uzytkownik=?" , getCookie ( w , r ) )
2019-01-20 11:32:43 +01:00
if err != nil { panic ( err . Error ( ) ) }
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
2019-01-16 23:47:40 +01:00
rows , err := db . Query ( "SELECT N.serie, N.powtorzenia, P.nazwa, N.ciezar 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 ( ) {
2019-01-20 11:32:43 +01:00
2019-01-16 23:47:40 +01:00
var serie int
var powtorzenia int
var nazwa string
var ciezar int
err = rows . Scan ( & serie , & powtorzenia , & nazwa , & ciezar )
if err != nil { panic ( err . Error ( ) ) }
emp . Serie = serie
emp . Powtorzenia = powtorzenia
emp . Nazwa = nazwa
emp . Ciezar = ciezar
res = append ( res , emp )
}
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-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 )
p := Uzytkownicy { Url : "/logowanie" }
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 )
p := Uzytkownicy { Url : "/start" }
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 {
p := Uzytkownicy { Url : "/logowanie" }
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-10 20:01:29 +01:00
rows , err := db . Query ( "SELECT opis, rodzaj, zdjecie FROM baza.cwiczenie where nazwa=?" , nazwa )
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
var zdjecie string
err = rows . Scan ( & opis , & rodzaj , & zdjecie )
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
emp . Zdjecie = zdjecie
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 {
if Ciezar2 == "" && 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=?" , Nazwa2 , getCookie ( w , r ) , data_t2 )
if err != nil { panic ( err . Error ( ) ) }
defer insert . Close ( )
} else if Ciezar2 != "" && Akcja2 == "Edytuj" {
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=?" , Ciezar2 , Nazwa2 , getCookie ( w , r ) , data_t2 )
if err != nil { panic ( err . Error ( ) ) }
defer rows3 . Close ( )
} else {
p = Plan { Opis : "Upss.. coś poszło nie tak. Przy edycji wyniku wprowadź cięzar natomiast przy usunięciu nie wprowadzaj danej cieżar." }
}
} 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" )
Zdjecie := r . FormValue ( "Zdjecie" )
2019-01-16 23:47:40 +01:00
2019-02-03 23:59:21 +01:00
rows , err := db . Query ( "SELECT COUNT(*) FROM baza.cwiczenie WHERE nazwa=? and uzytkownik=?" , Nazwa , getCookie ( w , r ) )
// if err != nil {panic(err.Error())}
var nazwa int
for rows . Next ( ) {
err = rows . Scan ( & nazwa )
fmt . Println ( err )
fmt . Println ( nazwa )
if blank ( Nazwa ) == false && blank ( Rodzaj ) == false && blank ( Opis ) == false && blank ( Zdjecie ) == false && nazwa == 0 {
insert , err := db . Query ( "INSERT INTO baza.cwiczenie ( opis, rodzaj, nazwa, zdjecie, uzytkownik) VALUES ( ?,?,?,?,? )" , Opis , Rodzaj , Nazwa , Zdjecie , 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-10 20:01:29 +01:00
p = Plan { Opis : "Musisz wypełnić wszystkie pola" }
2019-02-03 23:59:21 +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
// rows2, err := db.Query("SELECT COUNT(*) 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
2019-02-18 23:26:04 +01:00
// for rows2.Next() {
// var liczba int
// err = rows2.Scan(&liczba)
// if err != nil {panic(err.Error()) }
2019-02-03 23:59:21 +01:00
2019-02-18 23:26:04 +01:00
// if liczba!=0 {
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
// rows3, err := db.Query("SELECT COUNT(*) 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))
// for rows3.Next() {
// var liczba2 int
// err = rows3.Scan(&liczba2)
// if err != nil {panic(err.Error()) }
// fmt.Println(liczba2)
// if liczba2!=0 {
// fmt.Println("liczba2")
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)
if r . Method == "POST" {
Login := r . FormValue ( "Login" )
Haslo := r . FormValue ( "Haslo" )
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-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 )
}
2018-12-31 00:56:25 +01:00
2019-01-16 23:47:40 +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 )
2018-12-31 00:56:25 +01:00
}
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-18 23:26:04 +01:00
if istnieje == 0 && Akcja == "Dodaj" && IsNumeric ( wymiar ) {
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-18 23:26:04 +01:00
} else if Akcja == "Edytuj" && IsNumeric ( wymiar ) && IsNumeric ( DataEdycja ) {
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 ( )
} 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-18 23:26:04 +01:00
p = Plan { Opis : "Wszytkie pola formularza muszą być uzupełnione.Podane dane muszą być cyframi." }
} } }
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 ( ) )
}
fmt . Printf ( login )
} * /
/ *
//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
}