From 27862a9f3d6b1e94290ee147560cb966e909a17f Mon Sep 17 00:00:00 2001 From: R40fendt Date: Fri, 22 Aug 2025 19:00:11 +0200 Subject: [PATCH] =?UTF-8?q?check.php=20auf=2030=20Spieltage=20begrenzt=20z?= =?UTF-8?q?um=20Debuggen,=20Tippen=20optimiert=20mit=20ein=20paar=20QoL=20?= =?UTF-8?q?Features,=20updaten=20von=20Tipps=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bulitipp/check.php | 2 +- bulitipp/tippeintragen.php | 12 ++++++--- bulitipp/tipps.php | 30 +++++++++++---------- bulitipp/tippsuser.php | 53 ++++++++++++++++++++++++++++++++++++++ bulitipp/zeitzutippen.php | 24 +++++++++++++++++ 5 files changed, 103 insertions(+), 18 deletions(-) create mode 100755 bulitipp/tippsuser.php create mode 100755 bulitipp/zeitzutippen.php diff --git a/bulitipp/check.php b/bulitipp/check.php index c6a46bd..6cc4fd3 100755 --- a/bulitipp/check.php +++ b/bulitipp/check.php @@ -67,7 +67,7 @@ if ($responseData!=null) { $spieltag=getmaxspieltag()+1; -if($spieltag<=34){ +if($spieltag<=29){ $response = file_get_contents("https://api.openligadb.de/getmatchdata/bl".$bundesliga."/".$year."/".$spieltag, false); diff --git a/bulitipp/tippeintragen.php b/bulitipp/tippeintragen.php index 824bc0c..d50df72 100755 --- a/bulitipp/tippeintragen.php +++ b/bulitipp/tippeintragen.php @@ -31,6 +31,7 @@ if(isset($headers['Authorization'])) { } $payload = JWT::decode($token, new Key($secret, 'HS256')); +$userid= $payload->id; if($payload->exp < time()){ die("Token abgelaufen"); @@ -51,10 +52,15 @@ foreach($tipps as $tipp){ $paarungsid = $tipp['paarung']["id"]; $score1 = $tipp['heim']; $score2 = $tipp['gast']; - mysqli_execute_query($db_id,"INSERT INTO `buli-tipp` (`spieltag`,`paarung`,`score1`,`score2`) VALUES (?,?,?,?);",[$spieltag,$paarungsid,$score1,$score2]); - $tippids[] = mysqli_insert_id($db_id); + $update=!mysqli_execute_query($db_id,"SELECT COUNT(*) AS anzahl FROM `buli-tipps` WHERE `spieltag`=? AND user=?;",[$spieltag,$userid])->fetch_assoc()["anzahl"]==0; + if(!$update){ + mysqli_execute_query($db_id,"INSERT INTO `buli-tipp` (`spieltag`,`paarung`,`score1`,`score2`) VALUES (?,?,?,?);",[$spieltag,$paarungsid,$score1,$score2]); + $tippids[] = mysqli_insert_id($db_id); + } + else + mysqli_execute_query($db_id,"UPDATE `buli-tipp` AS bt JOIN `buli-tipps` AS bts ON bt.id IN (bts.tipp1, bts.tipp2, bts.tipp3, bts.tipp4, bts.tipp5, bts.tipp6, bts.tipp7, bts.tipp8, bts.tipp9) SET bt.score1=?, bt.score2=? WHERE bt.spieltag=? AND bt.paarung=? AND bts.user=?;",[$score1,$score2,$spieltag,$paarungsid,$userid]); } array_push($tippids, $spieltag); array_push($tippids, $payload->id); -mysqli_execute_query($db_id,"INSERT INTO `buli-tipps` (`tipp1`, `tipp2`, `tipp3`, `tipp4`, `tipp5`, `tipp6`, `tipp7`, `tipp8`, `tipp9`, `spieltag`, `user`) VALUES (?,?,?,?,?,?,?,?,?,?,?);",$tippids); +if(!$update) mysqli_execute_query($db_id,"INSERT INTO `buli-tipps` (`tipp1`, `tipp2`, `tipp3`, `tipp4`, `tipp5`, `tipp6`, `tipp7`, `tipp8`, `tipp9`, `spieltag`, `user`) VALUES (?,?,?,?,?,?,?,?,?,?,?);",$tippids); diff --git a/bulitipp/tipps.php b/bulitipp/tipps.php index fcc3a2a..7469905 100755 --- a/bulitipp/tipps.php +++ b/bulitipp/tipps.php @@ -6,26 +6,28 @@ include("./check.php"); if(!isset($_GET["spieltag"])) die("GET spieltag fehlt"); $spieltag = $_GET["spieltag"]; +if($spieltag==""||$spieltag=="null") die('{"error":"GET spieltag leer"}'); $data=[]; -foreach(srowforeach("SELECT `user`, `tipp1`, `tipp2`, `tipp3`, `tipp4`, `tipp5`, `tipp6`, `tipp7`, `tipp8`, `tipp9` from `buli-tipps` where `spieltag`=?;",[$spieltag]) as $key=>$tippquery){ - $userid=$tippquery[0]; - $tippids=[$tippquery[1],$tippquery[2],$tippquery[3],$tippquery[4],$tippquery[5],$tippquery[6],$tippquery[7],$tippquery[8],$tippquery[9]]; - foreach($tippids as $tippid){ - $tipp=srowforeach("SELECT `paarung`, `score1`, `score2` FROM `buli-tipp` WHERE `id` = ?",[$tippid]); +if(deadline($spieltag)) + foreach(srowforeach("SELECT `user`, `tipp1`, `tipp2`, `tipp3`, `tipp4`, `tipp5`, `tipp6`, `tipp7`, `tipp8`, `tipp9` from `buli-tipps` where `spieltag`=?;",[$spieltag]) as $key=>$tippquery){ + $userid=$tippquery[0]; + $tippids=[$tippquery[1],$tippquery[2],$tippquery[3],$tippquery[4],$tippquery[5],$tippquery[6],$tippquery[7],$tippquery[8],$tippquery[9]]; + foreach($tippids as $tippid){ + $tipp=srowforeach("SELECT `paarung`, `score1`, `score2` FROM `buli-tipp` WHERE `id` = ?",[$tippid]); - array_push($data, [ - "user" => $userid, - "tipp" => [ - "paarungsid" => $tipp[0][0], - "heim" => $tipp[0][1], - "gast" => $tipp[0][2] - ] - ]); + array_push($data, [ + "user" => $userid, + "tipp" => [ + "paarungsid" => $tipp[0][0], + "heim" => $tipp[0][1], + "gast" => $tipp[0][2] + ] + ]); + } } -} diff --git a/bulitipp/tippsuser.php b/bulitipp/tippsuser.php new file mode 100755 index 0000000..e934d07 --- /dev/null +++ b/bulitipp/tippsuser.php @@ -0,0 +1,53 @@ +id; + +if($payload->exp < time()){ + die("Token abgelaufen"); +} + +if(!isset($_GET["spieltag"])) die("GET spieltag fehlt"); +$spieltag = $_GET["spieltag"]; + + +$data=[]; + +for($i=0;$i<9;$i++){ + $tipp=mysqli_execute_query($db_id,"SELECT `paarung`, `score1`, `score2` FROM `buli-tipp` AS bt JOIN `buli-tipps` AS bts ON bts.tipp".($i+1)."=bt.id WHERE bt.`spieltag`=? AND bts.user=?;",[$spieltag,$userid])->fetch_assoc(); + array_push($data,$tipp); +} + +echo json_encode($data, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE); \ No newline at end of file diff --git a/bulitipp/zeitzutippen.php b/bulitipp/zeitzutippen.php new file mode 100755 index 0000000..b4926d9 --- /dev/null +++ b/bulitipp/zeitzutippen.php @@ -0,0 +1,24 @@ +0){ + $unixtime = date_create_from_format('Y-m-d H:i:s', $query[0][0])->getTimestamp()-time(); + $hours=(int) date("H", $unixtime); + $days=date("d", $unixtime)-1; +} +$days=0; + +$data=[ + "spieltag" => getmaxspieltag()+1, + "deadline" => $query[0][0], + "unixtime" => $unixtime, + "hours" => $hours, + "days" => $days +]; + +echo json_encode($data,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE); \ No newline at end of file