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

The draws of both UEFA competitions from a German perspective

(Dec. 11, 2016 – Source: AFP via zimbio.com)

The draw for this season’s UEFA Champions League was made on Thursday evening, with this time only three German participants, after TSG Hoffenheim fell badly to Liverpool FC the night before in qualifying.

While Hoffe’s loss in the first leg was unlucky in an even game, the same could not have been said of the second leg. Overall, Liverpool’s Reds were very deserved winners.

That left Bayern Munich, RB Leipzig and Borussia Dortmund as the Bundesliga’s only representatives in the continent’s top club competition.

It also made Hoffenheim join 1.FC Cologne and Hertha BSC Berlin in the UEFA Europa League draw, which took place on Friday afternoon.

Overall, the two draws at times pitted the German clubs against some difficult opposition, but generally put them into manageable groups.

Starting with the UEFA Champions League, Bayern Munich’s situation is perhaps the best example of this.

The Bavarians were drawn into Group B, with the star-studded big spenders of Paris Saint-Germain, but also with RSC Anderlecht and Celtic Glasgow. On paper, this looks like Bayern will have to merely fight it out for first place in the group with PSG and the rest would be formalities.

But first of all, soccer is not played on paper and secondly there are never any formalities.

Meanwhile, RB Leipzig will start their first ever European season in the wide-open Group G including AS Monaco, FC Porto and Beşiktaş Istanbul.

Borussia Dortmund clearly drew the short end of the stick, as far as Bundesliga sides in the Champions League went. They are in Group H with two-time defending champions Real Madrid, Tottenham Hotspur and APOEL Nicosia. But BVB has proven in the recent past that they can handle these teams.

In the Europa League draw, Hoffenheim was put into Group C with Sporting Braga, Ludogorets Razgrad and Istanbul Başakşehir. None of these opponents sound big, but all of them can be dangerous on their day.

Cologne returns to European competition after decades of absence in Europa League Group H with Arsenal, BATE Borisov and Red Star Belgrade. This is also far from the easiest of groups, yet could be managable.

Hertha finds itself in doable Group J with Athletic Bilbao, Ukraine’s Zorya and Sweden’s Östersund.

Finally, I’d like to wish all Bundesliga teams luck, (just a little more of it to Bayern Munich).

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 *