示例#1
0
 /**
  * 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;
 }
示例#2
0
文件: index.php 项目: tareqy/Caracal
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();
}