static function GetUser() { $user = null; //if cookie set then load if (array_key_exists(self::USER_COOKIE, $_COOKIE)) { $user = User::FromKey($_COOKIE[self::USER_COOKIE], self::PARTNER_CODE); } //if null create new if (is_null($user)) { $user = new User(); $user->setPartnerCode(self::PARTNER_CODE); $user->setUserKey(md5($_SERVER['REMOTE_ADDR'] . $_SERVER['REQUEST_URI'] . $_SERVER['REQUEST_TIME'])); if (array_key_exists('HTTP_HOST', $_SERVER)) { $user->setLandingDomain($_SERVER['HTTP_HOST']); } if (array_key_exists('REQUEST_URI', $_SERVER)) { $user->setLandingUri($_SERVER['REQUEST_URI']); } if (array_key_exists('HTTP_REFERER', $_SERVER)) { $user->setRefererUri($_SERVER['HTTP_REFERER']); } if (array_key_exists('HTTP_USER_AGENT', $_SERVER)) { $user->setUserAgent($_SERVER['HTTP_USER_AGENT']); } if (array_key_exists('REMOTE_ADDR', $_SERVER)) { $user->setIpAddress($_SERVER['REMOTE_ADDR']); } $user->save(); setcookie(self::USER_COOKIE, $user->getUserKey(), 0, '/'); } return $user; }