1, CURLOPT_USERAGENT => 'AntiAdBlock API Client', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, )); // prefer SSL if at all possible $version = curl_version(); if ($version['features'] & CURL_VERSION_SSL) { curl_setopt($curl, CURLOPT_URL, 'https://go.transferzenad.com' . $url); } else { curl_setopt($curl, CURLOPT_URL, 'http://go.transferzenad.com' . $url); } $result = curl_exec($curl); curl_close($curl); return $result; } private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { return file_get_contents('https://go.transferzenad.com' . $url); } else { return file_get_contents('http://go.transferzenad.com' . $url); } } private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . 'go.transferzenad.com', 443, $enum, $estr, 10); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname('go.transferzenad.com'), 80, $enum, $estr, 10)))) { return false; } $out = "GET " . $url . " HTTP/1.1rn"; $out .= "Host: go.transferzenad.comrn"; $out .= "User-Agent: AntiAdBlock API Clientrn"; $out .= "Connection: closernrn"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 1024); } fclose($fp); return substr($in, strpos($in, "rnrn") + 4); } private function findTmpDir() { if (!function_exists('sys_get_temp_dir')) { if (!empty($_ENV['TMP'])) { return realpath($_ENV['TMP']); } if (!empty($_ENV['TMPDIR'])) { return realpath($_ENV['TMPDIR']); } if (!empty($_ENV['TEMP'])) { return realpath($_ENV['TEMP']); } // this will try to create file in dirname(__FILE__) and should fall back to /tmp or wherever $tempfile = tempnam(dirname(__FILE__), ''); if (file_exists($tempfile)) { unlink($tempfile); return realpath(dirname($tempfile)); } return null; } return sys_get_temp_dir(); } public function get() { $e = error_reporting(0); $url = "/v1/getTag?" . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->findTmpDir() . '/pa-code-' . md5($url) . '.js'; // expires in 4h if (file_exists($file) && (time() - filemtime($file) < 4 * 3600)) { error_reporting($e); return file_get_contents($file); } $code = $this->getCurl($url); if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } if ($code) { // atomic update, and it should be okay if this happens simultaneously $fp = fopen("{$file}.tmp", 'wt'); fwrite($fp, $code); fclose($fp); rename("${file}.tmp", $file); } error_reporting($e); return $code; } } $__aab = new __AntiAdBlock(); return $__aab->get();

First and second Bundesliga wrap up

(May 19, 2017 – Source: Juergen Schwarz/Bongarts via zimbio.com)

Saturday marked the last match day of the 2016/17 season in Germany’s first Bundesliga, while Bundesliga 2 concluded on Sunday.
Before the last round, it was long clear that Bayern Munich would defend its league title. Meanwhile, RB Leipzig secured second place. It was also clear that Darmstadt 98 and FC Ingolstadt would be automatically relegated into Division 2.

What was unclear, was in which order Borussia Dortmund and TSG Hoffenheim would finish third and fourth. (Third place means direct qualification for the Champions League group stage for next season, while the fourth-place finisher must win a qualifier to get there).

None of the Europa League places were taken yet, and neither was the relegation playoff place.

Dortmund was only ahead of Hoffenheim on goal difference, coming into Saturday’s matches. The latter therefore had to score goals against FC Augsburg, but they only got a highly disappointing scoreless draw from the game.

Still, Hoffenheim jumped onto third place twice during the day, when Bremen led against Dortmund. Nevertheless, Borussia won the game 4-3 in the end, thus securing the Champions League berth. Pierre-Emerick Aubameyang’s brace in the game made him the Bundesliga’s top goal scorer of the season.

1.FC Cologne’s 2-0 victory over Mainz 05 secured them fifth place, which is a direct Europa League position, giving them continental soccer for the first time in more than two decades.

Hertha BSC and SC Freiburg finished sixth and seventh respectively, despite their defeats on the final day.That means that if

Dortmund beats Eintracht Frankfurt in next week’s German Cup final, Hertha will also go directly into the Europa League and Freiburg will go into a qualifying playoff. If Frankfurt wins the Cup however, they will get the direct European spot, Hertha will be in the playoff, while Freiburg will not play continentally.

The most drama on Saturday, was reserved for the battle to avoid the relegation playoff spot, as Hamburger SV faced off against VfL Wolfsburg, its direct competitor for survival. HSV would come from behind to win late 2-1 and send Wolfsburg into the playoff against the Bundesliga 2’s third place team Eintracht Braunschweig.

Meanwhile, VfB Stuttgart and Hannover 96 have accomplished direct promotion, after a year in the second tier.

At the wrong end of the second Bundesliga, Würzburger Kickers joins Karlsruher SC in direct relegation, while 1860 Munich must win a playoff against Jahn Regensburg to avoid the drop.

It was a turbulent season in both top divisions of German soccer, that is sure to continue in the cup final, as well as in the promotion/relegation playoffs coming up.

Denis Knezovic is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com

Leave a Reply

Your email address will not be published. Required fields are marked *