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

Welcome to my soccer blog!

Welcome to my soccer blog!
Welcome to my new soccer blog! My name is Denis Knezovic and I was born in the year 1986, in Mostar, (a city that is part of Bosnia and Herzegovina today.) in 1993, I moved to Germany with my immediate family. There, I discovered and fell in love with the sport of soccer and more specifically with Bayern Munich, the world-famous, local top team there. Toward the end of the year 2000, we had to move again, this time to the United States. It was a time when the “Beautiful Game” was still in the relatively early stages of development in this country and European, let alone German soccer were still...
read more

Bundesliga round 23 review

Bundesliga round 23 review
Just as many rounds before and surely after it, matchday 23 of this season’s German Bundesliga provided plenty of drama on and off the field. It is fair to call Germany a traditionalist country, especially when it comes to its soccer culture, which is sacred to fans. Particularly older fans demand that most, (preferably all) things stay the same as they were all those years ago, when their fathers first took them to see a match of their local team. They despise the commercialization of the sport, which they are generally correct about, although the extent of their protest can be too extreme at times....
read more

Bundesliga round 22 review and German Cup news

Bundesliga round 22 review and German Cup news
After an interesting midweek of domestic cup quarterfinal action (to which we shall get later), German clubs returned to their day-to-day, “bread-and-butter” competition, the Bundesliga this past weekend. The league’s matchday 22 began last Friday with an encounter between teams with European ambitions, as RB Leipzig hosted FC Augsburg and defeated them 2-0, despite not always playing their best. That result put the Saxon Bulls into second place for the time being. On Saturday afternoon Borussia Dortmund also beat Hamburger SV 2-0, regardless of early difficulties. Elsewhere, TSG Hoffenheim overcame...
read more

Bundesliga round 21 review

Bundesliga round 21 review
Matchday 21 of the German Bundesliga season started with a bang last Friday evening. The game between bottom dwellers 1.FC Cologne and top-four hopefuls Borussia Dortmund had so many stories surrounding it before kickoff. Most interestingly, it was the first return to Cologne for the team’s former coach and current BVB boss Peter Stöger. Apart from that, Dortmund was able to sell their problem striker Pierre-Emerick Aubameyang to Arsenal, while obtaining Chelsea’s Michy Batshuayi on loan, to be the temporary replacement for the Gabonese international. Batshuayi started the game and instantly became a...
read more

Catherine Keipes interview

Catherine Keipes interview
Catherine Keipes is a goalkeeper for the women’s national team of Luxemburg. She also plays for Sporting Bettemburg, the country’s current champion in women’s soccer. I interviewed Keipes on Thursday for this blog. (Note: I conducted the original interview in German and the American English translation is mine).   Denis Knezovic: How did you start playing soccer? Catherine Keipes: I started playing soccer with boys during breaks in elementary school. I always wanted to be in goal and that was the beginning of it all. I don’t know why it started out that way, but it was when I realized that soccer...
read more

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

« Previous Entries