strtotime('-1 day') && $generatedHash == getIfExists($_GET, 'clearCacheHash')) { $clearCache = true; } if (isset($_GET['sw'])) { if (!$clearCache && $cache) { $cachedScript = getCachedScript(SW_CACHEKEY); if ($cachedScript) { output($cachedScript); } } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => SW_URL, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => CURL_TIMEOUT, CURLOPT_USERAGENT => 'PRIntegrationScript', CURLOPT_REFERER => "primoaffiliateoffers.com", )); $response = curl_exec($curl); if ($cache && curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200) { setCachedScript(SW_CACHEKEY, $response); output($response); } else { http_response_code(500); echo('Server Issue'); die(); } } if (!$clearCache && $cache) { $cachedScript = getCachedScript(CACHEKEY); if ($cachedScript) { output($cachedScript); } } $currentTimestamp = time(); $adblockSafeHash = hash('sha256', SECRET_KEY . $currentTimestamp); $urlQueryParams = "&t=" . $currentTimestamp . "&i=" . $adblockSafeHash; $userAgent = ''; if (isset($_SERVER['HTTP_USER_AGENT']) && !empty($_SERVER['HTTP_USER_AGENT'])) { $userAgent = $_SERVER['HTTP_USER_AGENT']; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => INTEGRATION_BASE_URL . $urlQueryParams, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => CURL_TIMEOUT, CURLOPT_USERAGENT => $userAgent, CURLOPT_REFERER => !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "primoaffiliateoffers.com", )); $response = curl_exec($curl); $setCacheSuccess = true; if ($cache && curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200 && isValidDomain($response)) { $setCacheSuccess = setCachedScript(CACHEKEY, $response); } output($response, $setCacheSuccess); function getCacheExtension() { $host = 'localhost'; $port = 11211; if (class_exists('Memcached')) { $memcached = new Memcached(); $memcached->addServer($host, $port); $serverIndex = $host . ':' . $port; $statuses = $memcached->getStats(); if (isset($statuses[$serverIndex]['pid']) && $statuses[$serverIndex]['pid'] > 0) { return $memcached; } } if (class_exists('Memcache')) { if (!class_exists('ExtendedMemcache')) { class ExtendedMemcache extends Memcache { public function set ($key, $var, $expire) { return parent::set($key, $var, 0, $expire); } } } $memcache = new ExtendedMemcache(); if (@$memcache->connect($host, $port)) { return $memcache; } } return new WriteFile(); } function setCachedScript($cacheKey, $content) { $cache = getCacheExtension(); return $cache->set($cacheKey, $content, PR_PUB_INTEGRATION_CACHE_EXPIRATION_TIME_IN_SECONDS); } function getCachedScript($cacheKey) { $cache = getCacheExtension(); return $cache->get($cacheKey); } function output($script, $setCacheSuccess = true) { header('Content-Type: application/javascript'); if (!$setCacheSuccess) { echo "//setcachefail\n"; } echo $script; die(); } function isValidDomain($response) { if (!preg_match("/#domainIdString-(\d+)-domainIdString#/", $response, $matches)) { return false; } if (!isset($matches[1]) || $matches[1] != DOMAIN_ID) { return false; } return true; } class WriteFile { function set($filename, $content, $expire) { try { $file = @fopen("./$filename", 'w'); if (!$file) { return false; } fwrite($file, $content); return fclose($file); } catch (Exception $e) { return false; } } function get($filename) { try { if (!file_exists("./$filename")) { return false; } $content = file_get_contents("./$filename"); if (!$content) { return false; } if ($this->isFileExpired($filename)) { return false; } return $content; } catch (Exception $e) { return false; } } function isFileExpired($filename) { // Increasing chance to expire the cache pre-emptively the final minute of cache time. return (time() + rand(0, 60)) - filemtime("./$filename") > PR_PUB_INTEGRATION_CACHE_EXPIRATION_TIME_IN_SECONDS; } } function getIfExists($input, $key) { return isset($input[$key]) ? $input[$key] : null; }

​​​​About

Our commitment at PrimoAffiliateOffers.com is to bring you the best and honest options of the products and services that you are looking for. We have selected the best products, materials and resources that we believe will fit what you are seeking. The information we provide is factual information provided directly from the vendor, which we produce by working with the vendor on their advice and the information they provide. At no time do we make false claims about the products or services on our site, and we regularly review the information in case of any updates or changes. We aim to bring you the very best prices and honest reviews at all times to ensure you receive the best experience for the products and/or services that you are seeking.

Direct Your Visitors to a Clear Action at the Bottom of the Page