Alfred Cheung Kin-Ting

Recently added

Green Hat
8.5
mHD

Green Hat

Jun. 16, 1995

Green Hat

A film that foretells three modern-day ghost stories, set in the City of Hong Kong. The first segment deals with a popular singer that ...
Love Is… Pyjamas
4.8
HDTC

Love Is… Pyjamas

Oct. 11, 2012

Love Is… Pyjamas

Spring (Teresa Mo) and her daughter, Autumn (Karena Ng), work respectively as a Designer and Steward Manager in a Multinational Enterprise of ...
Dances with Dragon
6.8
WEBRip

Dances with Dragon

Dec. 19, 1991

Dances with Dragon

Aaron, a young, successful Chinese businessman, drifts on to a rural island after a scuba accident. Mistaken for an illegal immigrant, he is ...
Truant Heroes
5.3
WEBRip

Truant Heroes

Feb. 20, 1992

Truant Heroes

The war against organized crime in Hong Kong has opened a new front: the school. And police Commandant Wong orders officer Kin to go under cover ...
It’s Now or Never
5.8
WEBRip

It’s Now or Never

Sep. 17, 1992

It’s Now or Never

Rose (amazing Cheung Man) heads up a gang of be-bopping teddy girls who are constantly getting into trouble with the law. A nice cop (Alfred ...
Pom Pom And Hot Hot
6.3
WEBRip

Pom Pom And Hot Hot

Oct. 21, 1992

Pom Pom And Hot Hot

Shin (Jacky Cheung) and Chiang (Stephen Tung Wai) are happy-go-lucky partners investigating a particularly notorious crime syndicate. ...
Twin Dragons
6.4
WEBRip

Twin Dragons

Jan. 15, 1992

Twin Dragons

Twins, separated at birth, end up as a Hong Kong gangster and a New York concert pianist. When the pianist travels to Hong Kong for a concert, ...
The Accidental Spy
5.8
WEBRip

The Accidental Spy

Jan. 18, 2001

The Accidental Spy

A fun-filled story about an ordinary guy about to kick into an action-packed adventure. Jackie Chan plays a bored and unsuccessful salesman who ...
Golden Chicken
7.1
WEBRip

Golden Chicken

Dec. 26, 2002

Golden Chicken

After his attempted robbery runs aground, a thief takes a shine to his would-be victim, a charming prostitute, who begins to tell him her life story.
Spooky, Spooky
6.3
TS

Spooky, Spooky

Oct. 19, 1988

Spooky, Spooky

Years ago, a village head in the Hong Kong countryside executed a man for committing adultery by drowning him in the ocean. His mistress, in ...
Till Death Shall We Start
6.1
TS

Till Death Shall We Start

David died a virgin, and the Doomsday Book says a virgin ghost has no right for reincarnation until he deflowers a human virgin. So David assumes ...
The Nocturnal Demon
5.6
TS

The Nocturnal Demon

Dec. 22, 1990

The Nocturnal Demon

Tow truck driver Tin bears an uncanny resemblance to a psychotic, serial killer, taxi driver — and now the cops are chasing the wrong man. ...
The Saviour
5
SD

The Saviour

Jan. 08, 1980

The Saviour

Inspectors Tong (Shaw Brothers regular Pai Ying) and Cheng (Kent Cheng) are investing a psychopathic serial killer who has been raping and ...
The Strange Bedfellow
5.7
144p

The Strange Bedfellow

Jan. 11, 1986

The Strange Bedfellow

1. IDENTIKIT LOVE Chan has difficulties solving the case since the piece of skull was so incomplete. Chan is inspired to use Winnie’s ...
Perfect Education 3
6.1
720p

Perfect Education 3

Dec. 07, 2002

Perfect Education 3

A lonely young Japanese student, Ai Narushima (Kana Ito) goes on a field trip with her school. At night she decides to take a taxi into the city. ...
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();