Advertisement
FIN-codelines

nhl-ebet-results

Oct 11th, 2023 (edited)
60
0
165 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 13.86 KB | None | 0 0
  1. <?php
  2. // Haetaan Veikkauksen pitkävedon vahvistettu tulos ja eri kertoimet (1X2, 12, jne)
  3. // Oletuksena haetaan tämä päivä (aamuyön pelejä) eli nhl-ebet-results.php?pva=0
  4. // Toissapäivä haetaan nhl-ebet-results.php?pva=2
  5. error_reporting(0);
  6. header("Content-Type: text/html; charset=utf-8");
  7. header("Cache-Control: no-cache");
  8. $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + 60) . " GMT";
  9. header($ExpStr);
  10. date_default_timezone_set("Europe/Helsinki");
  11. $current_url = basename($_SERVER['PHP_SELF']);
  12. function test_input($data) {
  13.     $data = trim($data);
  14.     $data = stripslashes($data);
  15.     $data = htmlspecialchars($data);
  16.     return $data;
  17. }
  18. if (isset($_GET["pva"])) {
  19.     $luku = test_input($_GET["pva"]);
  20.     $luku = preg_replace("/[^0-9]/", '', $luku);
  21. } else {
  22.     $luku = 0;
  23. }
  24. ?>
  25. <!DOCTYPE HTML>
  26. <html lang="fi">
  27. <head>
  28. <meta charset="UTF-8" />
  29. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  30. <title>NHL - EBET RESULTS</title>
  31. <meta name="apple-mobile-web-app-title" content="EBET RESULTS" />
  32. <meta name="author" content="Anonymous" />
  33. <style>*{box-sizing:border-box}*:focus{outline:none}html{background:#F7F7F7;font-family:Verdana,sans-serif;font-size:large;height:100%;}body{margin:0;overflow-y:scroll}a,a:hover{text-decoration:none;color:#008000}h3{text-align:center}#main{width:375px;margin:15px auto;display:block;text-align:left;padding:20px;background-color:#FFF;border-radius:5px;border:solid 1px #008000;box-shadow:2px -2px 5px 0 #008000;position:relative}#info{width:30px;height:30px;justify-content:center;align-items:center;border-radius:50%;text-align:center;display:flex;font-size:18px;background-color:#FFF;padding:3px;color:#008000;border:solid 2px #008000;position:absolute;top:-15px;right:-15px;cursor:pointer}.cor{color:#000;font-weight:bold;background:linear-gradient(180deg,rgba(255,255,255,0) 70%, #FF0 30%)}.hrst{height:2px;border:0;background-image:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,0.75),rgba(0,0,0,0))}.kes{text-align:center}.lefm{margin-left:30px}.linkact{background-color:#DBFFDB}.links{width:90px;margin:5px 10px;display:block;text-align:center;padding:5px;cursor:pointer;font-size:medium;border-radius:5px;border:solid 1px #008000;box-shadow:2px -2px 5px 0 #008000;float:left}.linkz{clear:both}.pgbr{page-break-after:always}.pun{color:#F00}.vih{background-color:#FFF;color:#008000;border:solid 1px #008000;padding:4px;border-radius:5px;box-shadow:2px -2px 5px 0 #008000}</style>
  34. </head><body>
  35. <?php
  36. echo "<div id='main'>";
  37. if ($luku == 0) {
  38.     echo "<div class='links linkact'><a href='".$current_url."?pva=0' title='TÄNÄÄN'>".date("d.m.", strtotime("-0day"))."</a></div>";
  39. } else {
  40.     echo "<div class='links'><a href='".$current_url."?pva=0' title='TÄNÄÄN'>".date("d.m.", strtotime("-0day"))."</a></div>";
  41. }
  42. if ($luku == 1) {
  43.     echo "<div class='links linkact'><a href='".$current_url."?pva=1' title='EILEN'>".date("d.m.", strtotime("-1day"))."</a></div>";
  44. } else {
  45.     echo "<div class='links'><a href='".$current_url."?pva=1' title='EILEN'>".date("d.m.", strtotime("-1day"))."</a></div>";
  46. }
  47. if ($luku == 2) {
  48.     echo "<div class='links linkact'><a href='".$current_url."?pva=2' title='TOISSAPÄIVÄNÄ'>".date("d.m.", strtotime("-2day"))."</a></div>";
  49. } else {
  50.     echo "<div class='links'><a href='".$current_url."?pva=2' title='TOISSAPÄIVÄNÄ'>".date("d.m.", strtotime("-2day"))."</a></div>";
  51. }
  52. echo "<div class='linkz'></div>";
  53. if ($luku == 3) {
  54.     echo "<div class='links linkact'><a href='".$current_url."?pva=3' title='3 PÄIVÄÄ SITTEN'>".date("d.m.", strtotime("-3day"))."</a></div>";
  55. } else {
  56.     echo "<div class='links'><a href='".$current_url."?pva=3' title='3 PÄIVÄÄ SITTEN'>".date("d.m.", strtotime("-3day"))."</a></div>";
  57. }
  58. if ($luku == 4) {
  59.     echo "<div class='links linkact'><a href='".$current_url."?pva=4' title='4 PÄIVÄÄ SITTEN'>".date("d.m.", strtotime("-4day"))."</a></div>";
  60. } else {
  61.     echo "<div class='links'><a href='".$current_url."?pva=4' title='4 PÄIVÄÄ SITTEN'>".date("d.m.", strtotime("-4day"))."</a></div>";
  62. }
  63. if ($luku > 5) {
  64.     echo "<div class='links linkact'><a href='".$current_url."?pva=".$luku."' title='".$luku." PÄIVÄÄ SITTEN'>".date("d.m.", strtotime("-".$luku."day"))."</a></div>";
  65. } else if ($luku == 5) {
  66.     echo "<div class='links linkact'><a href='".$current_url."?pva=5' title='5 PÄIVÄÄ SITTEN'>".date("d.m.", strtotime("-5day"))."</a></div>";
  67. } else {
  68.     echo "<div class='links'><a href='".$current_url."?pva=5' title='5 PÄIVÄÄ SITTEN'>".date("d.m.", strtotime("-5day"))."</a></div>";
  69. }
  70. echo "<div class='linkz'></div>";
  71. echo "<hr class='hrst' />";
  72. // Haku veikkaus.fi
  73. $lajikoodi = "3"; //jääkiekko
  74. $kategorianro = "2"; //USA, Pohjois-Amerikka
  75. $turnausnro = "1"; //NHL  (3 = NHL PreSeason)
  76. $nhljoukkueet = array("Anaheim", "Arizona", "Boston", "Buffalo", "Calgary", "Carolina", "Chicago", "Colorado", "Columbus", "Dallas", "Detroit", "Edmonton", "Florida", "Los Angeles", "Minnesota", "Montreal", "Nashville", "New Jersey", "NY Islanders", "NY Rangers", "Ottawa", "Philadelphia", "Pittsburgh", "San Jose", "Seattle", "St.Louis", "Tampa Bay", "Toronto", "Vancouver", "Vegas", "Washington", "Winnipeg");
  77. $statuslist = array("FINAL", "EARLY_KICKOFF");
  78. $matsit = $tapahtumat = array();
  79. $day = date("Y-m-d", strtotime("-".$luku."day"));
  80. $header = array(
  81.     "Accept: application/json",
  82.     "Content-Type: application/json",
  83.     "X-ESA-API-Key: ROBOT"
  84. );
  85. // Päivän kaikki peruskohteet
  86. $url = "https://www.veikkaus.fi/api/ebet-results/v1/games/EBET/draws/by-day/".$day;
  87. // Alustetaan cURL asetuksineen
  88. $ch = curl_init();
  89. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  90. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  91. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  92. curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
  93. curl_setopt($ch, CURLOPT_URL, $url);
  94. curl_setopt($ch, CURLOPT_POST, 0);
  95. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  96. curl_setopt($ch, CURLOPT_ENCODING, "identity");
  97. // Suoritetaan pyyntö
  98. $oddsdata = curl_exec($ch);
  99. // Suljetaan cURL
  100. curl_close($ch);
  101. // Tarkistetaan että datassa on eloa
  102. $sub = "CLOSED";
  103. if ($oddsdata && strpos($oddsdata, $sub) !== false) {
  104.     $tulokset = array();
  105.     $tulokset = json_decode($oddsdata,true);
  106. } else { die("<h3 class='pun kes'>Ei tulostietoja saatavilla!</h3>"); }
  107. $x = 0;
  108. while (isset($tulokset[$x])) {
  109.     $y = 0;
  110.     while (isset($nhljoukkueet[$y])) {
  111.         if (strpos($tulokset[$x]['rows'][0]['name'], $nhljoukkueet[$y]) !== false) {
  112.             if ($tulokset[$x]['rows'][0]['sportId'] == $lajikoodi) {
  113.                 $teams = array();
  114.                 $teams = explode(" - ",$tulokset[$x]['rows'][0]['name']);
  115.                 if (in_array($teams[0], $nhljoukkueet) && in_array($teams[1], $nhljoukkueet)) {
  116.                     array_push($matsit, $x);
  117.                     array_push($tapahtumat, $tulokset[$x]['rows'][0]['eventId']);
  118.                     break;
  119.                 }
  120.             }
  121.         }
  122.         $y++;
  123.     }
  124.     $x++;
  125. }
  126. // Tarkistetaan että kategoria on oikein (syy: joukkueet pelaa vastakkain eri kategorioissa)
  127. $url = "https://www.veikkaus.fi//api/sport-codes/v1/fi/sports/".$lajikoodi."/categories/".$kategorianro."/tournaments/".$turnausnro;
  128. // Alustetaan cURL asetuksineen
  129. $ch = curl_init();
  130. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  131. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  132. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  133. curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
  134. curl_setopt($ch, CURLOPT_URL, $url);
  135. curl_setopt($ch, CURLOPT_POST, 0);
  136. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  137. curl_setopt($ch, CURLOPT_ENCODING, "identity");
  138. // Suoritetaan pyyntö
  139. $tourdata = curl_exec($ch);
  140. // Suljetaan cURL
  141. curl_close($ch);
  142. // Tarkistetaan että datassa on eloa
  143. $sub = "NHL";
  144. if ($tourdata && strpos($tourdata, $sub) !== false) {
  145.     $turnauspelit = $mahikset = array();
  146.     $turnauspelit = json_decode($tourdata,true);
  147.     $nyt = time() - 2678400;
  148.     $x = 0;
  149.     while (isset($turnauspelit['events'][$x])) {
  150.         if ($nyt < ($turnauspelit['events'][$x]['date']/1000)) {
  151.             $mahikset[] = $turnauspelit['events'][$x]['id'];
  152.         }
  153.         $x++;
  154.     }
  155. } else { die("<h3 class='pun kes'>Ei turnaustietoja saatavilla!</h3>"); }
  156. $sarjadata = array_intersect($mahikset,$tapahtumat);
  157.  
  158. // Kirjoitetaan tulokset
  159. if (count($sarjadata) == 0) { echo "<h3 class='pun kes'>Ei vahvistettuja tuloksia!<br />(".substr($day,8,2).".".substr($day,5,2).".)</h3>"; }
  160. if (count($sarjadata) > 0) {
  161.     echo "<h3>Vahvistettuja 🏒 tuloksia</h3>";
  162.     $x = 0;
  163.     while (isset($matsit[$x])) {
  164.         if (!in_array($tapahtumat[$x], $mahikset)) { $x++; continue; }
  165.         if ($x > 0) { echo "<hr class='hrst' /><br />"; }
  166.         // Valitun tapahtuman kaikki myyntipaikkakohteet
  167.         $url = "https://www.veikkaus.fi/api/ebet-results/v1/games/EBET/draws/by-day/".$day."/by-event/".$tapahtumat[$x];
  168.         // Alustetaan cURL asetuksineen
  169.         $ch = curl_init();
  170.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  171.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  172.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  173.         curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
  174.         curl_setopt($ch, CURLOPT_URL, $url);
  175.         curl_setopt($ch, CURLOPT_POST, 0);
  176.         curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  177.         curl_setopt($ch, CURLOPT_ENCODING, "identity");
  178.         // Suoritetaan pyyntö
  179.         $oddsalldata = curl_exec($ch);
  180.         // Suljetaan cURL
  181.         curl_close($ch);
  182.         // Tarkistetaan että datassa on eloa
  183.         $sub = "CLOSED";
  184.         if ($oddsalldata && strpos($oddsalldata, $sub) !== false) {
  185.             $tuloslista = array();
  186.             $tuloslista = json_decode($oddsalldata,true);
  187.         } else { die("<h3 class='pun kes'>Ei tulostietoja saatavilla!</h3>"); }
  188.         $z = 0;
  189.         while (isset($tuloslista[$z])) {
  190.             if (strlen($tuloslista[$z]['rows'][0]['description']) < 4 && strlen($tuloslista[$z]['rows'][0]['name']) > 24) {
  191.                 echo "<span class='lefm'>".$tuloslista[$z]['rows'][0]['name']."</span><br />";
  192.                 echo "<span class='lefm'>(".$tuloslista[$z]['rows'][0]['description'].")</span><br />";
  193.             } else if (strlen($tuloslista[$z]['rows'][0]['description']) > 3) {
  194.                 echo "<span class='lefm'>".$tuloslista[$z]['rows'][0]['name']."</span><br />";
  195.                 if ($tuloslista[$z]['rows'][0]['description'] == "Molemmat joukkueet tekevät maalin") {
  196.                     echo "<span class='lefm'>(Molemmat tekee maalin, K/E)</span><br />";
  197.                 } else {
  198.                     echo "<span class='lefm'>(".$tuloslista[$z]['rows'][0]['description'].")</span><br />";
  199.                 }
  200.             } else {
  201.                 echo "<span class='lefm'>".$tuloslista[$z]['rows'][0]['name']." (".$tuloslista[$z]['rows'][0]['description'].")</span><br />";
  202.             }
  203.             echo "<span class='lefm'>".number_format(($tuloslista[$z]['rows'][0]['competitors'][0]['odds']['odds']/100),2,","," ")." / ";
  204.             if (isset($tuloslista[$z]['rows'][0]['competitors'][2])) {
  205.                 echo number_format(($tuloslista[$z]['rows'][0]['competitors'][2]['odds']['odds']/100),2,","," ")." / ";
  206.             }
  207.             echo number_format(($tuloslista[$z]['rows'][0]['competitors'][1]['odds']['odds']/100),2,","," ")."</span><br />";
  208.             if (in_array($tuloslista[$z]['rows'][0]['result']['status'], $statuslist)) {
  209.                 echo "<span class='lefm'>tulos: ".$tuloslista[$z]['rows'][0]['result']['score']['home']." - ".$tuloslista[$z]['rows'][0]['result']['score']['away']." &zigrarr; kerroin: <span class='vih'>";
  210.                 if ($tuloslista[$z]['rows'][0]['result']['competitors'][0] == 1) {
  211.                     echo number_format(($tuloslista[$z]['rows'][0]['competitors'][0]['odds']['odds']/100),2,","," ");
  212.                 } else if ($tuloslista[$z]['rows'][0]['result']['competitors'][0] == 2) {
  213.                     echo number_format(($tuloslista[$z]['rows'][0]['competitors'][1]['odds']['odds']/100),2,","," ");
  214.                 } else if ($tuloslista[$z]['rows'][0]['result']['competitors'][0] == 3) {
  215.                     echo number_format(($tuloslista[$z]['rows'][0]['competitors'][2]['odds']['odds']/100),2,","," ");
  216.                 }
  217.                 echo "</span></span><br /><br />";
  218.             } else {
  219.                 echo "<span class='lefm'>tulos: kohde peruttu</span><br /><br />";
  220.             }
  221.             $z++;
  222.         }
  223.         $x++;
  224.     }
  225. }
  226. echo "<div id='info' onclick='infobox()' title='INFO'>?</div>";
  227. echo "<script>const pageinfo = 'Tehtävänä on raportoida NHL:n pitkävedon vahvistettuja lopputuloksia kertoimineen.\\n\\nHUOM! Vain myyntipaikkakohteet saatavilla!'</script>";
  228. echo "</div><br />";
  229. // Siivotaan roskat
  230. if (isset($ch)) { unset($ch); }
  231. if (isset($data)) { unset($data); }
  232. if (isset($day)) { unset($day); }
  233. if (isset($ExpStr)) { unset($ExpStr); }
  234. if (isset($header)) { unset($header); }
  235. if (isset($kategorianro)) { unset($kategorianro); }
  236. if (isset($kategoriat)) { unset($kategoriat); }
  237. if (isset($lajikoodi)) { unset($lajikoodi); }
  238. if (isset($luku)) { unset($luku); }
  239. if (isset($mahikset)) { unset($mahikset); }
  240. if (isset($matsit)) { unset($matsit); }
  241. if (isset($nhljoukkueet)) { unset($nhljoukkueet); }
  242. if (isset($oddsalldata)) { unset($oddsalldata); }
  243. if (isset($oddsdata)) { unset($oddsdata); }
  244. if (isset($sarjadata)) { unset($sarjadata); }
  245. if (isset($statuslist)) { unset($statuslist); }
  246. if (isset($sub)) { unset($sub); }
  247. if (isset($tapahtumat)) { unset($tapahtumat); }
  248. if (isset($teams)) { unset($teams); }
  249. if (isset($tulokset)) { unset($tulokset); }
  250. if (isset($tuloslista)) { unset($tuloslista); }
  251. if (isset($turnausnro)) { unset($turnausnro); }
  252. if (isset($turnauspelit)) { unset($turnauspelit); }
  253. if (isset($url)) { unset($url); }
  254. if (isset($x)) { unset($x); }
  255. if (isset($y)) { unset($y); }
  256. if (isset($z)) { unset($z); }
  257. ?>
  258. <script>function infobox(){alert(pageinfo)}</script>
  259. </body></html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement