From 0cadef122f867c6852521e57c90abc909512cba6 Mon Sep 17 00:00:00 2001 From: Fred Date: Wed, 22 Jan 2014 08:54:42 +0100 Subject: [PATCH] Delete oebbApi --- oebbApi | 424 -------------------------------------------------------- 1 file changed, 424 deletions(-) delete mode 100644 oebbApi diff --git a/oebbApi b/oebbApi deleted file mode 100644 index 9e88227..0000000 --- a/oebbApi +++ /dev/null @@ -1,424 +0,0 @@ -loadUrl($url); - - if (!$this->isValid($departure, $arrival)) { - return false; - } - - $i = 0; - - while ($amount > $this->i) { - $tempOkey = (pq('#trOverviewC0-' . $i)->getString()); - if (!empty($tempOkey)) { - $this->data[] = $this->getConnection($i); - $this->i++; - $i++; - } else { - $time = $this->getConnection($i - 1); - $time = strtotime($time["startTime"] . ' + 1 minute'); - $time = date("H:i", $time); - - $date = $this->getConnection($i - 1); - $date = $date["startDate"]; - $this->get($departure, $arrival, $amount, $date, $time); - } - } - $_SESSION["oebbApi"] = $this->data; - return $this->data; - } - - public function getCoords() { - $details = $_SESSION["oebbApi"]["detail"]; - $returnArray = array(); - foreach ($details AS $detail) { - $url = $detail["data"]["productUrl"]; - - if ($url != null) { - $this->loadUrl($url); - $temp = (pq('.detailContainer')->HTML()); - - $temp = str_replace("zebracol-2", "zebracol", $temp); - $temp = str_replace("zebracol-1", "zebracol", $temp); - $temp = str_replace('title="Anfang Ihrer Verbindung -> Einstieg"', 'class="pqOkey"', $temp); - $temp = str_replace('title="Ende Ihrer Verbindung -> Ausstieg"', 'class="pqOkey"', $temp); - //$temp = $this->str_replace_once("center sepline", "ankunftPq", $temp); - - - $i = 0; - $j = 0; - $img = pq('.resultTable:ep(0) td')->html(); - $img = explode('", $stations); - $finalStations = ""; - foreach ($stations as $station) { - $tempStation = strip_tags($this->trim($station)); - $tempStation = preg_replace('/\([^)]*\)|[()]/', '', $tempStation); - $oneStation = json_decode(file_get_contents("http://www.oebb.at/__ressources/system/stationsHafas.jsp?q=" . urlencode($tempStation)), true); - - if (isset($oneStation[0]) && $oneStation[0] != null) { - if (strpos($img[$j], 'oc.gif') !== false) { - - $finalStations[] = array( - "name" => $oneStation[0]["value"], - "xcoord" => $oneStation[0]["xcoord"], - "ycoord" => $oneStation[0]["ycoord"], - "realName" => $tempStation, - ); - } - } - $j++; - } - if (pq('.zebracol:ep(' . $i + 1 . ')')->text() == "") { - break; - } - $i++; - } - $returnArray[] = $finalStations; - } - } - return $returnArray; - } - - public function validate($name) { - $temp = json_decode(file_get_contents("http://www.oebb.at/__ressources/system/stationsHafas.jsp?q=" . urlencode($name)), true); - $return = array(); - foreach($temp as $temp1) { - $return[] = array( - "value" => $temp1["value"], - "id" => $temp1["extId"], - ); - } - return $return; - } - - public function getDetails($index) { - if ($index > count($_SESSION["oebbApi"])) { - return false; - } - - $this->loadUrl($_SESSION["oebbApi"][$index]["changesLink"]); - - $temp = (pq('.detailContainer')->HTML()); - $temp = str_replace("conFirstSecFirstRow", "intermediateSection", $temp); - $temp = str_replace("conLastSecLastRow", "intermediateSection", $temp); - $temp = str_replace('title="Fahrtinformation"', 'id="connectionInfo"', $temp); - - phpQuery::newDocumentHTML($temp, $charset = 'utf-8'); - $changes = array(); - $i = 0; - $j = 0; - $fuss = 0; - $lastDate = ""; - while (1) { - $startDateTemp = - pq('.intermediateSection .date:eq(' . $i . ')')->text(); - $startDateTemp = $this->trim($startDateTemp); - if ($startDateTemp == "") { - $startDate = $lastDate; - } else { - $lastDate = $startDateTemp; - $startDate = $startDateTemp; - } - - $startStation = - pq('.intermediateSection .station:eq(' . $i . ')')->text(); - - $startTime = - pq('.intermediateSection .timeValue:eq(' . $i . ')')->text(); - - $startPlattform = - pq('.intermediateSection .platform:eq(' . $i . ')')->text(); - - $productName = - pq('.intermediateSection img.product:eq(' . $j . ')')->attr("alt"); - - $productImg = - "http://fahrplan.oebb.at" . - (pq('.intermediateSection img.product:eq(' . $j . ')')->attr("src")); - if ($productImg == "http://fahrplan.oebb.at/img/vs_oebb/fuss_pic.gif") { - $productUrl = null; - $fuss -= 1; - } else { - $productUrl = - (pq('#connectionInfo:eq(' . $fuss . ')')->attr("href")); - } - $i++; - - $endDateTemp = - pq('.intermediateSection .date:eq(' . $i . ')')->text(); - $endDateTemp = $this->trim($endDateTemp); - if ($endDateTemp == "") { - $endDate = $lastDate; - } else { - $lastDate = $endDateTemp; - $endDate = $endDateTemp; - } - - $endStation = - pq('.intermediateSection .station:eq(' . $i . ')')->text(); - - $endTime = - pq('.intermediateSection .timeValue:eq(' . $i . ')')->text(); - - $endPlattform = - pq('.intermediateSection .platform:eq(' . $i . ')')->text(); - - - $startStation = $this->trim($startStation); - $endStation = $this->trim($endStation); - - $startTime = substr($startTime, 3); - $endTime = substr($endTime, 3); - - $startTime = $this->trim($startTime); - $endTime = $this->trim($endTime); - - $startPlattform = $this->trim($startPlattform, "\xC2\xA0\n"); - $endPlattform = $this->trim($endPlattform, "\xC2\xA0\n"); - - $startPlattform = $this->trim($startPlattform); - $endPlattform = $this->trim($endPlattform); - - $startPlattform = empty($startPlattform) ? "" : $startPlattform; - $endPlattform = empty($endPlattform) ? "" : $endPlattform; - - $sTime = strtotime($startTime . " " . $startDate); - $eTime = strtotime($endTime . " " . $endTime); - $dur = $eTime - $sTime; - $duration = date("H:m", $dur); - - if ($startStation != "") { - $changes[] = array( - "start" => array( - "station" => $startStation, - "time" => $startTime, - "plattform" => $startPlattform, - "date" => $startDate, - ), - "end" => array( - "station" => $endStation, - "time" => $endTime, - "plattform" => $endPlattform, - "date" => $endDate, - ), - "data" => array( - "productName" => $productName, - "productImg" => $productImg, - "productUrl" => $productUrl, - "duration" => $duration, - ), - ); - $i++; - $j++; - $fuss++; - } else { - break; - } - } - $_SESSION["oebbApi"]["detail"] = $changes; - return $changes; - } - - /* The Crap begins here */ - - protected function getChangesLink($pos) { - $temp = (pq('#linkDtlC0-' . $pos)->attr("href")); - return $temp; - } - - protected function getChanges($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .changes')->text()); - return intval($temp); - } - - protected function getStartTime($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .planed')->html()); - $temp = explode("
", $temp); - return substr($temp[0], 1, 5); - } - - protected function getStartTimeEarly() { - $temp = (pq('#trOverviewC1-0 .planed')->html()); - $temp = explode("
", $temp); - return substr($temp[0], 1, 5); - } - - protected function getStartDateEarly() { - $temp = (pq('#trOverviewC1-0 .date')->html()); - $temp = explode("
", $temp); - return $temp[0]; - } - - protected function getEndTime($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .planed')->html()); - $temp = explode("
", $temp); - return substr($temp[1], 1, 5); - } - - protected function getDuration($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .duration')->text()); - return str_replace("\n", "", $temp); - } - - protected function getPrognose($pos) { - $temp = (pq('.prognosis:eq(' . $pos . ')')->html()); - return $this->trim($temp); - } - - protected function getStartStation($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .station div ')->getString()); - return $this->trim($temp[0]); - } - - protected function getEndStation($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .station div ')->getString()); - return $this->trim($temp[2]); - } - - protected function getBuyLink($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .fares a')->attr("href")); - return $temp; - } - - protected function getStartDate($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .date')->HTML()); - $temp = explode("
", $temp); - return $temp[0]; - } - - protected function getEndDate($pos) { - $temp = (pq('#trOverviewC0-' . $pos . ' .date')->HTML()); - $temp = explode("
", $temp); - - if ($temp[1] == "\n") { - return $temp[0]; - } else { - return $temp[1]; - } - } - - protected function loadUrl($url) { - - $file = file_get_contents($url); - phpQuery::newDocumentHTML($file); - } - - protected function getConnection($pos) { - $data = array( - "startStation" => $this->getStartStation($pos), - "endStation" => $this->getEndStation($pos), - "startDate" => $this->getStartDate($pos), - "endDate" => $this->getEndDate($pos), - "startTime" => $this->getStartTime($pos), - "endTime" => $this->getEndTime($pos), - "duration" => $this->getDuration($pos), - "changes" => $this->getChanges($pos), - "buyLink" => $this->getBuyLink($pos), - "changesLink" => $this->getChangesLink($pos), - "products" => $this->getProducts($pos), - "prognose" => $this->getPrognose($pos), - "id" => $this->i, - "earlier" => $this->getEarlierLink(), - ); - return $data; - } - - protected function isValid($start, $end) { - $temp = (pq('#trOverviewC0-0')->getString()); - - if (empty($temp)) { - return false; - } else { - return true; - } - } - - protected function str_replace_once($str_pattern, $str_replacement, $string) { - if (strpos($string, $str_pattern) !== false) { - $occurrence = strpos($string, $str_pattern); - return substr_replace($string, $str_replacement, strpos($string, $str_pattern), strlen($str_pattern)); - } - return $string; - } - - protected function stringInsert($str, $pos, $insertstr) { - if (!is_array($pos)) - $pos = array($pos); - - $offset = -1; - foreach ($pos as $p) { - $offset++; - $str = substr($str, 0, $p + $offset) . $insertstr . substr($str, $p + $offset); - } - return $str; - } - - protected function getProducts($pos) { - $products = ""; - $i = 0; - - while(1) { - $src = (pq('#trOverviewC0-' . $pos . ' .product:eq(' . $i . ')')->attr('src')); - $alt = (pq('#trOverviewC0-' . $pos . ' .product:eq(' . $i . ')')->attr('alt')); - if(empty($src)) { - break; - } else { - $products[] = array( - "name" => $alt, - "img" => "http://fahrplan.oebb.at" . $src, - ); - $i++; - } - - } - - return $products; - } - - protected function getEarlierLink(){ - $temp = (pq('.navi a:ep(0)')->attr("href")); - $this->loadUrl($temp); - $start = $this->getStartTimeEarly(); - return $start; - } - - protected function trim($string) { - return trim($string, "\xC2\xA0\n\t\r\0\x0B"); - } -}