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();

My take on the Bundesliga drama on and off the field

The 2016/17 season was quite a turbulent one in German soccer. Both in Bundesliga 1 and below, there was high drama on the field. Drama, which at times was overshadowed by what happened off the field and behind the scenes.

My posts about the Bundesliga and German clubs are filled with these stories. From the sackings of various coaches and even seemingly mighty general managers, to the terrible attack on the Borussia Dortmund team bus and what we should have learned from it, but clearly failed to…

Just after the Bundesliga season ended, the drama continued, when Mainz 05 fired their coach Martin Schmidt. During the promotion/ relegation playoff fever and all of the transfer gossip, that headline was just about lost.

The playoffs for a place in Bundesliga one and two each featured duels between teams from the same state. VfL Wolfsburg retained its place in the top division with a pair of 1-0 victories in the derbies of Lower Saxony against Eintracht Braunschweig.

In the Bavarian derbies for a place in Bundesliga 2, Jahn Regensburg triumphed over 1860 Munich.

During the second legs of both contests, there was violence at, or toward the end, especially on Tuesday in Munich.
Despite being a Bayern fan, 1860’s downfall into the third tier saddens me greatly. Many of my friends and acquaintances  from the Munich area are supporters of that great traditional club.

What saddens me even more however, is the extreme violence that some of the 1860 ultras resorted to toward the end of the match.
Stadium destruction and the endangerment of other people’s lives have no place in the Beautiful Game! That is what I meant by us failing to learn from the Dortmund bus tragedy.

Speaking of Dortmund, their sacking of coach Thomas Tuchel over personal differences between him and the club on Tuesday, was one of the final acts of the drama that was this Bundesliga season.

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 *