====== alert.php ====== query($strSQL); while ($row=$result->fetchArray()) { $strEmail=$row['email']; //echo $strEmail."
"; //Über die Bahnhöfe iterieren - Nutze die Ibnr $strSQL="SELECT ibnr from tableAlarm WHERE email='$strEmail' GROUP BY ibnr"; $result2=$db->query($strSQL); $maxVerspaetung=0; $strMailText=""; while ($row2=$result2->fetchArray()){ $strIbnr=$row2['ibnr']; //echo "-".$strIbnr."
"; //$bhf = $bahn->getStation($strStation) ; //reset($bhf); //$ibnr = key($bhf); //$bhf = array_shift($bhf); //echo $ibnr."
"; $strSQL="SELECT zug,departure from tableAlarm WHERE email='$strEmail' AND ibnr='$strIbnr'"; $result3=$db->query($strSQL); $arrZuege= array(); while ($row3=$result3->fetchArray()) { //echo "*".$row3['zug']." - ".$row3['departure']."
"; array_push($arrZuege,$row3['zug']); } // Jetzt über die aktuelle Stunde und die nächste Stunde iterieren for ($numStunde=0;$numStunde<=1;$numStunde++) { $numZeit = time() + $numStunde*3600; $zuege = $bahn->getTimetable($strIbnr,$numZeit); if(!count($zuege)){ echo "keine Verbindungen"; } //DEBUG: print_r($arrZuege);echo "
"; foreach($zuege as $zug){ $zugname = $zug['zug']['klasse'].$zug['zug']['nummer']; //echo $zugname."
\n"; //print_r($arrZuege);echo "
"; if(in_array($zugname, $arrZuege) AND isset($zug['abfahrt']) ) { $timeAbfahrt=$bahn->dateToTimestamp($zug['abfahrt']['zeitGeplant']); $strAbfahrt=date("H:i",$timeAbfahrt); $strStation = $arrStations[$strIbnr]; if(!isset($zug['abfahrt']['zeitAktuell'])){ $verspaetung = 0; }else{ $verspaetung = $bahn->dateToTimestamp($zug['abfahrt']['zeitAktuell'])-$bahn->dateToTimestamp($zug['abfahrt']['zeitGeplant']); $strMailText.="$zugname hat ". ($verspaetung/60) . " Minuten Verspätung ab $strStation.\r\n"; } if ($verspaetung>$maxVerspaetung) $maxVerspaetung=$verspaetung; if ($verspaetung>0) { $strSQL="insert into verspaetungen (zeit,station,zug,verspaetung,email,abfahrt) values (datetime(),'$strStation','$zugname','$verspaetung','$strEmail','$strAbfahrt')"; $db->exec($strSQL); // echo "DEBUG: ".$strSQL."
\n"; } } } } } if ($maxVerspaetung>=360) { //echo "Versende Mail an $strEmail mit Verspätungsalarm:
"; //echo nl2br($strMailText); alertmail($strEmail,$strMailText); } }