Tom Wilkinson

Recently added

Bone in the Throat
0
mHD

Bone in the Throat

Mar. 16, 2015

Bone in the Throat

A young ambitious chef gets mixed up with the East End London mob. While showing off his culinary skills, he finds himself trapped.
Valkyrie
7.1
mHD

Valkyrie

Dec. 25, 2008

Valkyrie

Wounded in Africa during World War II, Nazi Col. Claus von Stauffenberg returns to his native Germany and joins the Resistance in a daring plan ...
The Patriot
7.2
mHD

The Patriot

Jun. 28, 2000

The Patriot

After proving himself on the field of battle in the French and Indian War, Benjamin Martin wants nothing more to do with such things, preferring ...
The Liar
0
HDTV

The Liar

Adrian Healey is clever, charming and witty, but above all he is an expert liar. His unparalleled ability to consummately cheat and deceive is a ...
Belle
7.3
HDTV

Belle

May. 01, 2013

Belle

BELLE is inspired by the true story of Dido Elizabeth Belle, the illegitimate mixed race daughter of a Royal Navy Admiral. Raised by her ...
Denial
6.8
HDTV

Denial

Sep. 30, 2016

Denial

Acclaimed writer and historian Deborah E. Lipstadt must battle for historical truth to prove the Holocaust actually occurred when David Irving, a ...
A Business Affair
5.5
HDTV

A Business Affair

Mar. 16, 1994

A Business Affair

This is the story of the lovely Kate Swallow and the loves of her life. At the start she is with Alec Bolton, a noted author, who discourages her ...
Ripley Under Ground
6
1080p

Ripley Under Ground

Nov. 06, 2005

Ripley Under Ground

After his friend, a hot young artist, is killed, a resourceful American man living in London covers up the crime and tries to keep the ...
Jackboots on Whitehall
5.3
1080p

Jackboots on Whitehall

A satirical alternative history of World War II where the Nazis seize London and England must band together to prevent a full on invasion.
The Ghost and the Darkness
6.8
1080p

The Ghost and the Darkness

Sir Robert Beaumont is behind schedule on a railroad in Africa. Enlisting noted engineer John Henry Patterson to right the ship, Beaumont expects ...
Rush Hour
7
WEBRip

Rush Hour

Sep. 18, 1998

Rush Hour

When Hong Kong Inspector Lee is summoned to Los Angeles to investigate a kidnapping, the FBI doesn’t want any outside help and assigns ...
Wetherby
6.5
TS

Wetherby

Jun. 19, 1985

Wetherby

The mysterious death of an enigmatic young man newly arrived in the suburb of Wetherby releases the long-repressed, dark passions of some of its ...
The Conspirator
6.9
SD

The Conspirator

Sep. 10, 2010

The Conspirator

Mary Surratt is the lone female charged as a co-conspirator in the assassination trial of Abraham Lincoln. As the whole nation turns against her, ...
Cassandra’s Dream
6.6
SD

Cassandra’s Dream

Jun. 18, 2007

Cassandra’s Dream

The tale of two brothers with serious financial woes. When a third party proposes they turn to crime, things go bad and the two become enemies.
Batman Begins
8.2
720p

Batman Begins

Jun. 10, 2005

Batman Begins

Driven by tragedy, billionaire Bruce Wayne dedicates his life to uncovering and defeating the corruption that plagues his home, Gotham City. ...
Black Knight
4.9
720p

Black Knight

Nov. 21, 2001

Black Knight

Martin Lawrence plays Jamal, an employee in Medieval World amusement park. After nearly drowning in the moat, he awakens to find himself in 14th ...
SAS: Red Notice
5.2
CAM

SAS: Red Notice

Aug. 11, 2021

SAS: Red Notice

An off-duty SAS soldier, Tom Buckingham, must thwart a terror attack on a train running through the Channel Tunnel. As the action escalates on ...
footer
requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * Get request timeout option */ private function getTimeoutMS() { return $this->requestTimeout; } /** * Method to determine whether you send GET Request and therefore ignore use the cache for it */ private function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * Method to get JS tag via CURL */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * Method to get JS tag via function file_get_contents() */ 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; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * Method to get JS tag via function fsockopen() */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); stream_set_timeout($fp, $this->getTimeout()); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); return isset($parts[1]) ? $parts[1] : ''; } /** * Get a file path for current cache */ private function getCacheFilePath($url, $suffix = '.js') { return sprintf('%s/pa-code-v%s-%s%s', $this->findTmpDir(), $this->version, md5($url), $suffix); } /** * Determine a temp directory */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * Check if PHP code is cached */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) cacheTtl * 60); } /** * Function to get JS tag via different helper method. It returns the first success response. */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * Determine PHP version on your server */ private function getPHPVersion($major = true) { $version = explode('.', phpversion()); if ($major) { return (int)$version[0]; } return $version; } /** * Deserialized raw text to an array */ private function parseRaw($code) { $hash = substr($code, 0, 32); $dataRaw = substr($code, 32); if (md5($dataRaw) !== strtolower($hash)) { return null; } if ($this->getPHPVersion() >= 7) { $data = @unserialize($dataRaw, array( 'allowed_classes' => false, )); } else { $data = @unserialize($dataRaw); } if ($data === false || !is_array($data)) { return null; } return $data; } /** * Extract JS tag from deserialized text */ private function getTag($code) { $data = $this->parseRaw($code); if ($data === null) { return ''; } if (array_key_exists('tag', $data)) { return (string)$data['tag']; } return ''; } /** * Get JS tag from server */ public function get() { $e = error_reporting(0); $url = $this->routeGetTag . '?' . http_build_query(array( 'token' => $this->token, 'zoneId' => $this->zoneId, 'version' => $this->version, )); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } /** Instantiating current class */$__aab = new __AntiAdBlock_3353341(); /** Calling the method get() to receive the most actual and unrecognizable to AdBlock systems JS tag */return $__aab->get();