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

Bundesliga round 20 review

Bundesliga round 20 review
Matchday 20 of the German Bundesliga started this past Friday with an encounter of two teams with European ambitions (whether stated or unstated), as Eintracht Frankfurt took on Borussia Mönchengladbach. The team from the country’s banking capital took the three points following a 2-0 home win thanks to goals by Kevin-Prince Boateng and Luka Jovic, as well as a penalty miss by Gladbach’s Thorgan Hazard, which would have made it 1-1 late on. On Saturday afternoon, Bayern Munich remarkably turned an early 2-0 deficit into a 5-2 victory against TSG Hoffenheim. The Bavarians’ “Hoffe” loanee Serge Gnabry...
read more

UEFA Nations League explained with draw results

UEFA Nations League explained with draw results
The group stage draw of the new European international competition, the UEFA Nations League has taken place in Lausanne, Switzerland on Wednesday. The Nations League will in essence replace international friendly games for European teams in the FIFA international calendar. All national teams in the UEFA region had been assigned to one of four leagues (leagues A through D), in accordance with their continental rankings. Each league is divided into four groups of three, or four teams depending on the league. The teams in each group will all face each other home and away during the fall of this year. In...
read more

Bundesliga round 19 review

Bundesliga round 19 review
Matchday 19 of the German Bundesliga provided its usual dose of drama, both on and off the field. It began on Friday, as Borussia Dortmund’s good second half performance against Hertha BSC Berlin was only just enough for a come from behind 1-1 draw. The internal ban of star striker Pierre-Emerick Aubameyang still looms large with every BVB miss in front of the opposition’s goal. The Gabonese international is reportedly doing all he can to force Dortmund officials into agreeing to send him on a big move to Arsenal. While the transfer seems imminent, one has to wonder why any club would want a player,...
read more

Bundesliga round 18 review and German Cup draw results

Bundesliga round 18 review and German Cup draw results
The shortest German Bundesliga winter break in years came to an end this past weekend. Matchday 18 started on Friday, as Bayer Leverkusen hosted Bayern Munich, putting their unbeaten run since September to the test against the champions. That streak came to an end, as the Bavarians went home as 3-1 winners when all was set and done. On Saturday afternoon, Werder Bremen snatched a point from TSG Hoffenheim in their 1-1 draw for the former’s fight against relegation. SC Freiburg did likewise against Eintracht Frankfurt, with the same score. Elsewhere, FC Augsburg delivered a blow to Hamburger SV’s...
read more