/** * Register new referral * * @return boolean */ private function createReferral() { $result = false; $manager = AffiliatesManager::getInstance(); $referrals_manager = AffiliateReferralsManager::getInstance(); // prepare data $uid = fix_chars($_REQUEST['affiliate']); $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null; $base_url = url_GetBaseURL(); $landing = url_MakeFromArray($_REQUEST); $landing = mb_substr($landing, 0, mb_strlen($base_url)); // get affiliate $affiliate = $manager->getSingleItem($manager->getFieldNames(), array('uid' => $uid)); // if affiliate code is not valid, assign to default affiliate if (!is_object($affiliate)) { $affiliate = $manager->getSingleItem($manager->getFieldNames(), array('default' => 1)); } // if affiliate exists, update if (is_object($affiliate) && !is_null($referer)) { $referral_data = array('url' => $referer, 'landing' => $landing, 'affiliate' => $affiliate->id, 'conversion' => 0); $referrals_manager->insertData($data); $id = $referrals_manager->getInsertedID(); $_SESSION['referral_id'] = $id; // increase referrals counter $manager->updateData(array('clicks' => '`clicks` + 1'), array('id' => $affiliate->id)); $result = true; } return result; }
require_once 'units/config.php'; require_once 'units/doctypes.php'; require_once 'units/gravatar.php'; // set timezone as specificed in the config date_default_timezone_set(_TIMEZONE); // change error reporting level if (!defined('DEBUG')) { error_reporting(E_ERROR | E_WARNING | E_USER_ERROR | E_USER_WARNING); } else { error_reporting(E_ALL | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE); } // define constants define('_DOMAIN', $_SERVER['SERVER_NAME']); define('_SECURE', !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off'); define('_BASEPATH', dirname(__FILE__)); define('_BASEURL', url_GetBaseURL()); define('_LIBPATH', _BASEPATH . '/libraries/'); define('_DESKTOP_VERSION', get_desktop_version()); define('_MOBILE_VERSION', !_DESKTOP_VERSION); define('_AJAX_REQUEST', !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); define('_BROWSER_OK', is_browser_ok()); define('_VERSION', 0.1); // start measuring time $time_start = explode(" ", microtime()); $time_start = $time_start[0] + $time_start[1]; // start session Session::start(); // unpack parameters if needed if ($url_rewrite) { url_UnpackValues(); }