lib forgotten

This commit is contained in:
2024-09-27 15:23:28 +02:00
parent 6b3742c746
commit b277c23ce8
5 changed files with 403 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
<?
$servername = "db";
$username = 'kalskeborec';
$password = 'Kalskeborec1!23$';
$db = 'kalskeborec';
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->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);
?>

View File

@@ -0,0 +1,18 @@
<?
//phpinfo();
$servername = "db";
$username = 'kalskeborec';
$password = 'Kalskeborec1!23$';
$db = 'kalskeborec';
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "Connected successfully";
?>

View File

@@ -0,0 +1,48 @@
<?
$servername = "db";
$username = 'kalskeborec';
$password = 'Kalskeborec1!23$';
$db = 'kalskeborec';
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->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.'<tr>';
$table_registered = $table_registered.'<td>'.$row["ID"].'</td><td>'.$row["NAME"].' '.$row["SURNAME"].'</td><td>'.$row["EMAIL"].'</td><td>'.$row["PHONE"].'</td>';
$table_registered = $table_registered.'<td>'.$row["NICK"].'</td><td>'.$row["RACE"].'</td>';
$table_registered = $table_registered.'<td>'.$row["TIME"].'</td><td>'.$row["TRACKLOG"].'</td>';
$table_registered = $table_registered.'<td>'.$row["EMAIL_CHECK"].'</td><td>'.$row["CONFIRMED"].'</td><td>'.$row["PAID"].'</td>';
$table_registered = $table_registered.'</tr>';
}
}else{
echo "0 results";
}
$conn->close();
?>
<table class="w3-table w3-striped w3-bordered w3-border w3-white">
<tr>
<th>ID</th>
<th>Jméno</th>
<th>Email</th>
<th>Telefon</th>
<th>Přezdívka / Team</th>
<th>Závod</th>
<th>Čas</th>
<th>Log</th>
<th>Email check link</th>
<th>Potvrzeno</th>
<th>Zaplaceno</th>
</tr>
<? echo $table_registered; ?>
</table>

View File

@@ -0,0 +1,171 @@
<?
$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;
}
}
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 = '<img src="./img/1st.jpg" class="w3-image" width="20">';
if($place == 2) $medal = '<img src="./img/2nd.jpg" class="w3-image" width="20">';
if($place == 3) $medal = '<img src="./img/3rd.jpg" class="w3-image" width="20">';
$reg_race_5_display = $reg_race_5_display.'<tr><td>'.$racer['ID'].'</td><td>'.$racer["NICK"].'</td><td>'.$racer["RACE"].'</td><td>'.$racer["TIME"].'</td><td>'.$place.'. '.$medal.'</td></tr>';
$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 = '<img src="./img/1st.jpg" class="w3-image" width="20">';
if($place == 2) $medal = '<img src="./img/2nd.jpg" class="w3-image" width="20">';
if($place == 3) $medal = '<img src="./img/3rd.jpg" class="w3-image" width="20">';
$reg_race_4_display = $reg_race_4_display.'<tr><td>'.$racer['ID'].'</td><td>'.$racer["NICK"].'</td><td>'.$racer["TIME"].'</td><td>'.$place.'. '.$medal.'</td></tr>';
$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 = '<img src="./img/1st.jpg" class="w3-image" width="20">';
if($place == 2) $medal = '<img src="./img/2nd.jpg" class="w3-image" width="20">';
if($place == 3) $medal = '<img src="./img/3rd.jpg" class="w3-image" width="20">';
$reg_race_3_display = $reg_race_3_display.'<tr><td>'.$racer['ID'].'</td><td>'.$racer["NICK"].'</td><td>'.$racer["TIME"].'</td><td>'.$place.'. '.$medal.'</td></tr>';
$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 = '<img src="./img/1st.jpg" class="w3-image" width="20">';
if($place == 2) $medal = '<img src="./img/2nd.jpg" class="w3-image" width="20">';
if($place == 3) $medal = '<img src="./img/3rd.jpg" class="w3-image" width="20">';
$reg_race_2_display = $reg_race_2_display.'<tr><td>'.$racer['ID'].'</td><td>'.$racer["NICK"].'</td><td>'.$racer["TIME"].'</td><td>'.$place.'. '.$medal.'</td></tr>';
$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 = '<img src="./img/1st.jpg" class="w3-image" width="20">';
if($place == 2) $medal = '<img src="./img/2nd.jpg" class="w3-image" width="20">';
if($place == 3) $medal = '<img src="./img/3rd.jpg" class="w3-image" width="20">';
$reg_race_1_display = $reg_race_1_display.'<tr><td>'.$racer['ID'].'</td><td>'.$racer["NICK"].'</td><td>'.$racer["TIME"].'</td><td>'.$place.'. '.$medal.'</td></tr>';
$place++;
$medal = '';
}
}
else {
$reg_race_1_display = '';
}
?>

View File

@@ -0,0 +1,131 @@
<?
$servername = "db";
$username = 'kalskeborec';
$password = 'Kalskeborec1!23$';
$db = 'kalskeborec';
$race_name = $race_blob[$race_to_write];
// mail send
function read_cb($ch, $fp, $length) {
return fread($fp, $length);
}
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->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 <ventil@spoton.cz>\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 .= "<b>Děkuji, $fname $lname, za registraci na Kalského Borca <span style=\"color: green;\">//24</span></b>
<p>Jako první věc, poprosím o potvrzení emailu na <a href=\"http://$base_url/confirm.php?email_check=$email_check\">
http://$base_url/confirm.php?email_check=$email_check</a></p>
<p>Pod tímto odkazem pak můžeš sledovat jestli s tebou počítám, nebo stav zaplacení startovného.</p>\r\n
<p>
Číslo registrace: $id<br>
Okruh, resp. závod: $race_to_write ($race_name)<br>
Pod přezdívkou: $nick<br>
</p>
<p>
Datum konání: 23.3.2024<br>
Start na závod //Kalský Borec, tedy ten největší: 9:00 <br>
Start samostatných okruhů //Freeride a //XC: 10:00<br>
Start //Junior a //Rodina: 12:00<br>
</p>
<p>
Startovné: 400,-<br>
Číslo účtu: 1262023012/3030<br>
Zpráva: Kalské Borec 24, $id<br>
Var. Symbol: $id <br>
<img src=\"https://chart.googleapis.com/chart?chs=300x300&cht=qr&chl=SPD*1.0*ACC:CZ9430300000001262023012*RN:MILAN%20TOMAN*AM:400*CC:CZK*MSG:KALSKE%20BOREC-$id&choe=UTF-8\"><br>
Jídlo a pití máš v ceně, nezávodníci pak přispívají na místě, pokuď bude hlad a žízeň.
</p>
<p><b>Abys k nám trefil:</b><br>
Kaly 62, 59455, Kaly.
<a href=\"https://en.mapy.cz/s/demanuzomo\">//MAPA</a>
<img src=\"http://$base_url/img/mapa.jpg\" alt=\"Mapa k zavodu\">
</p>
<p>Kolu zdar,<br>
<p>Milan \"Ventil\" Toman</p>";
$string .= "\r\n";
fwrite($fp, $string);
rewind($fp);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'smtps://mail.spoton.cz',
CURLOPT_MAIL_FROM => '<ventil@spoton.cz>',
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();
?>