From b277c23ce849b5f11aab115b7023ba885523dff7 Mon Sep 17 00:00:00 2001 From: Milan Ventil Toman Date: Fri, 27 Sep 2024 15:23:28 +0200 Subject: [PATCH] lib forgotten --- www/2024/lib/get_races.php | 35 ++++++ www/2024/lib/mysql_connect.php | 18 ++++ www/2024/lib/registered_table.php | 48 +++++++++ www/2024/lib/show_reg_public.php | 171 ++++++++++++++++++++++++++++++ www/2024/lib/write_registered.php | 131 +++++++++++++++++++++++ 5 files changed, 403 insertions(+) create mode 100644 www/2024/lib/get_races.php create mode 100644 www/2024/lib/mysql_connect.php create mode 100644 www/2024/lib/registered_table.php create mode 100644 www/2024/lib/show_reg_public.php create mode 100644 www/2024/lib/write_registered.php diff --git a/www/2024/lib/get_races.php b/www/2024/lib/get_races.php new file mode 100644 index 0000000..b30b6d6 --- /dev/null +++ b/www/2024/lib/get_races.php @@ -0,0 +1,35 @@ +connect_error) { + die("Connection failed: " . $conn->connect_error); + } + + $year = date("Y"); + $sql = "SELECT ID, NAME, LENGTH, CLIMB from RACES where YEAR like '".$year."'"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $table_registered = ''; + while($row = $result->fetch_assoc()) { + $races[] = $row; + } + } + // would be nice to check if the email exists + $sql = "SELECT ID, NAME, SURNAME, EMAIL from REGISTERED where EMAIL_CHECK like '".$email_check."'"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $unique_email = False; + } + else{ + $unique_email = True; + } + $conn->close(); + //var_dump($races); +?> diff --git a/www/2024/lib/mysql_connect.php b/www/2024/lib/mysql_connect.php new file mode 100644 index 0000000..63d9d84 --- /dev/null +++ b/www/2024/lib/mysql_connect.php @@ -0,0 +1,18 @@ +connect_error) { + die("Connection failed: " . $conn->connect_error); +} +//echo "Connected successfully"; + + +?> diff --git a/www/2024/lib/registered_table.php b/www/2024/lib/registered_table.php new file mode 100644 index 0000000..4990bc9 --- /dev/null +++ b/www/2024/lib/registered_table.php @@ -0,0 +1,48 @@ +connect_error) { + die("Connection failed: " . $conn->connect_error); + } + + $sql = "SELECT ID, NAME, SURNAME, EMAIL, PHONE, NICK, RACE, TIME, TRACKLOG, EMAIL_CHECK, CONFIRMED, PAID FROM REGISTERED"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $table_registered = ''; + while($row = $result->fetch_assoc()) { + $table_registered = $table_registered.''; + $table_registered = $table_registered.''.$row["ID"].''.$row["NAME"].' '.$row["SURNAME"].''.$row["EMAIL"].''.$row["PHONE"].''; + $table_registered = $table_registered.''.$row["NICK"].''.$row["RACE"].''; + $table_registered = $table_registered.''.$row["TIME"].''.$row["TRACKLOG"].''; + $table_registered = $table_registered.''.$row["EMAIL_CHECK"].''.$row["CONFIRMED"].''.$row["PAID"].''; + $table_registered = $table_registered.''; + } + }else{ + echo "0 results"; + } + $conn->close(); +?> + + + + + + + + + + + + + + + + +
IDJménoEmailTelefonPřezdívka / TeamZávodČasLogEmail check linkPotvrzenoZaplaceno
diff --git a/www/2024/lib/show_reg_public.php b/www/2024/lib/show_reg_public.php new file mode 100644 index 0000000..21dd90f --- /dev/null +++ b/www/2024/lib/show_reg_public.php @@ -0,0 +1,171 @@ + +query($sql); + if ($result->num_rows > 0){ + $table_registered = ''; + while($row = $result->fetch_assoc()) { + $races[] = $row; + } + } + foreach($races as $race){ + $race_blob[$race['ID']] = $race['NAME']; + } + +$sql = "SELECT ID, NICK, RACE, TIME FROM REGISTERED"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $reg_racers = []; + while($row = $result->fetch_assoc()) { + + $reg_racers[$row["RACE"]][] = ["ID" => $row["ID"], "NICK" => $row["NICK"], "RACE" => $race_blob[$row["RACE"]], "TIME" => $row["TIME"]]; + } + }else{ + //echo "0 results"; + } + +$sql = "SELECT ID, NICK, RACE, TIME FROM REGISTERED where RACE like '5' order by TIME ASC"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $reg_racers = []; + while($row = $result->fetch_assoc()) { + + $reg_racers_5[] = ["ID" => $row["ID"], "NICK" => $row["NICK"], "RACE" => $race_blob[$row["RACE"]], "TIME" => $row["TIME"]]; + } + }else{ + $reg_racers_5 = null; + } + +$sql = "SELECT ID, NICK, RACE, TIME FROM REGISTERED where RACE like '4' order by TIME ASC"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $reg_racers = []; + while($row = $result->fetch_assoc()) { + + $reg_racers_4[] = ["ID" => $row["ID"], "NICK" => $row["NICK"], "RACE" => $race_blob[$row["RACE"]], "TIME" => $row["TIME"]]; + } + }else{ + $reg_racers_4 = null; + } + +$sql = "SELECT ID, NICK, RACE, TIME FROM REGISTERED where RACE like '3' order by TIME ASC"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $reg_racers = []; + while($row = $result->fetch_assoc()) { + + $reg_racers_3[] = ["ID" => $row["ID"], "NICK" => $row["NICK"], "RACE" => $race_blob[$row["RACE"]], "TIME" => $row["TIME"]]; + } + }else{ + $reg_racers_3 = null; + } + +$sql = "SELECT ID, NICK, RACE, TIME FROM REGISTERED where RACE like '2' order by TIME ASC"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $reg_racers = []; + while($row = $result->fetch_assoc()) { + + $reg_racers_2[] = ["ID" => $row["ID"], "NICK" => $row["NICK"], "RACE" => $race_blob[$row["RACE"]], "TIME" => $row["TIME"]]; + } + }else{ + $reg_racers_2 = null; + } + +$sql = "SELECT ID, NICK, RACE, TIME FROM REGISTERED where RACE like '1' order by TIME ASC"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $reg_racers = []; + while($row = $result->fetch_assoc()) { + + $reg_racers_1[] = ["ID" => $row["ID"], "NICK" => $row["NICK"], "RACE" => $race_blob[$row["RACE"]], "TIME" => $row["TIME"]]; + } + }else{ + $reg_racers_1 = null; + } + +if($reg_racers_5 != null){ + $place = 1; + $medal = ''; + $reg_race_5_display = ''; + foreach($reg_racers_5 as $racer){ + if($place == 1) $medal = ''; + if($place == 2) $medal = ''; + if($place == 3) $medal = ''; + $reg_race_5_display = $reg_race_5_display.''.$racer['ID'].''.$racer["NICK"].''.$racer["RACE"].''.$racer["TIME"].''.$place.'. '.$medal.''; + $place++; + $medal = ''; + } +} +else { + $reg_race_5_display = ''; +} +if($reg_racers_4 != null){ + $place = 1; + $medal = ''; + $reg_race_4_display = ''; + foreach($reg_racers_4 as $racer){ + if($place == 1) $medal = ''; + if($place == 2) $medal = ''; + if($place == 3) $medal = ''; + $reg_race_4_display = $reg_race_4_display.''.$racer['ID'].''.$racer["NICK"].''.$racer["TIME"].''.$place.'. '.$medal.''; + $place++; + $medal = ''; + } +} +else { + $reg_race_4_display = ''; +} +if($reg_racers_3 != null){ + $place = 1; + $medal = ''; + $reg_race_3_display = ''; + foreach($reg_racers_3 as $racer){ + if($place == 1) $medal = ''; + if($place == 2) $medal = ''; + if($place == 3) $medal = ''; + $reg_race_3_display = $reg_race_3_display.''.$racer['ID'].''.$racer["NICK"].''.$racer["TIME"].''.$place.'. '.$medal.''; + $place++; + $medal = ''; + } +} +else { + $reg_race_3_display = ''; +} +if($reg_racers_2 != null){ + $place = 1; + $medal = ''; + $reg_race_2_display = ''; + foreach($reg_racers_2 as $racer){ + if($place == 1) $medal = ''; + if($place == 2) $medal = ''; + if($place == 3) $medal = ''; + $reg_race_2_display = $reg_race_2_display.''.$racer['ID'].''.$racer["NICK"].''.$racer["TIME"].''.$place.'. '.$medal.''; + $place++; + $medal = ''; + } +} +else { + $reg_race_2_display = ''; +} +if($reg_racers_1 != null){ + $place = 1; + $medal = ''; + $reg_race_1_display = ''; + foreach($reg_racers_1 as $racer){ + if($place == 1) $medal = ''; + if($place == 2) $medal = ''; + if($place == 3) $medal = ''; + $reg_race_1_display = $reg_race_1_display.''.$racer['ID'].''.$racer["NICK"].''.$racer["TIME"].''.$place.'. '.$medal.''; + $place++; + $medal = ''; + } +} +else { + $reg_race_1_display = ''; +} +?> + + diff --git a/www/2024/lib/write_registered.php b/www/2024/lib/write_registered.php new file mode 100644 index 0000000..fbf8581 --- /dev/null +++ b/www/2024/lib/write_registered.php @@ -0,0 +1,131 @@ +connect_error) { + die("Connection failed: " . $conn->connect_error); +} + +// would be nice to check if the name / nick / email exists +$sql = "SELECT ID, NAME, SURNAME, EMAIL from REGISTERED where EMAIL_CHECK like '".$email_check."'"; + $result = $conn->query($sql); + if ($result->num_rows > 0){ + $unique_email = False; + } + else{ + $unique_email = True; + } + +// Geting the values from the script above. -< register.php + +if($unique_email){ + $stm = $conn->prepare("INSERT INTO REGISTERED (ID, NAME, SURNAME, EMAIL, PHONE, NICK, RACE, TIME, TRACKLOG, EMAIL_CHECK, CONFIRMED, PAID) + values (NULL,?,?,?,?,?,?,'[None]','[None]',?,'0','0')"); + $stm->bind_param('sssssss',$fname, $lname, $email, $phone, $nick, $race_to_write, $email_check); + + + if ($stm->execute() === TRUE) { + //echo "New record created successfully"; + $sql = "SELECT ID, NAME, SURNAME, EMAIL, PHONE, NICK, RACE from REGISTERED where EMAIL_CHECK like '".$email_check."'"; + $result = $conn->query($sql); + if ($result->num_rows == 1){ + while($racer = $result->fetch_assoc()) { + $racers[] = $racer; + } + $write_success = ["result"=> True, "reason" => "Přihlášeno"]; + $logged_racer = $racers[0]; + $id = $logged_racer['ID']; + // Must send email somehow. :-) + $fp = fopen('php://memory', 'r+'); + $string = "From: Kalské Borec \r\n"; + $string .= "To: <$email>\r\n"; + $string .= "Date: " . date('r') . "\r\n"; + $string .= "Subject: Kalske Borec\r\n"; + $string .= "Content-Type: text/html; charset=\"utf-8\""; + $string .= "Content-Transfer-Encoding: quoted-printable"; + $string .= "\r\n"; + $string .= "Děkuji, $fname $lname, za registraci na Kalského Borca //24 +

Jako první věc, poprosím o potvrzení emailu na + http://$base_url/confirm.php?email_check=$email_check

+

Pod tímto odkazem pak můžeš sledovat jestli s tebou počítám, nebo stav zaplacení startovného.

\r\n +

+ Číslo registrace: $id
+ Okruh, resp. závod: $race_to_write ($race_name)
+ Pod přezdívkou: $nick
+

+

+ Datum konání: 23.3.2024
+ Start na závod //Kalský Borec, tedy ten největší: 9:00
+ Start samostatných okruhů //Freeride a //XC: 10:00
+ Start //Junior a //Rodina: 12:00
+

+

+ Startovné: 400,-
+ Číslo účtu: 1262023012/3030
+ Zpráva: Kalské Borec 24, $id
+ Var. Symbol: $id
+
+ Jídlo a pití máš v ceně, nezávodníci pak přispívají na místě, pokuď bude hlad a žízeň. +

+ +

Abys k nám trefil:
+ Kaly 62, 59455, Kaly. + //MAPA + \"Mapa +

+ +

Kolu zdar,
+

Milan \"Ventil\" Toman

"; + $string .= "\r\n"; + fwrite($fp, $string); + rewind($fp); + + $ch = curl_init(); + curl_setopt_array($ch, [ + CURLOPT_URL => 'smtps://mail.spoton.cz', + CURLOPT_MAIL_FROM => '', + CURLOPT_MAIL_RCPT => ["<$email>"], + CURLOPT_USERNAME => 'ventil', + CURLOPT_PASSWORD => '3 litry Kvasaru!', + CURLOPT_USE_SSL => CURLUSESSL_ALL, + CURLOPT_READFUNCTION => 'read_cb', + CURLOPT_INFILE => $fp, + CURLOPT_UPLOAD => true, + CURLOPT_VERBOSE => true, + CURLOPT_SSL_VERIFYHOST => false, + CURLOPT_SSL_VERIFYPEER => false, + ]); + $x = curl_exec($ch); + if ($x === false) { + echo curl_errno($ch) . ' = ' . curl_strerror(curl_errno($ch)) . PHP_EOL; + } + curl_close($ch); + fclose($fp); + } + else{ + $write_success = ["result"=> False, "reason" => "Error: Duplikátní záznam závodnika, napiš Ventilovi"]; + } + } else { + $write_success = ["result"=> False, "reason" => "Error: " . $stm . ": " . $conn->error]; + } +} +else { + $write_success = ["result"=> False, "reason" => "Závodník s tímto emailem už existuje"]; +} + + +$conn->close(); +?>