/** * Initialize stats component */ public function __construct() { if (!Yii::app()->request->isAjaxRequest && $this->checkIgnoreRoute()) { $offset = 0; $t = time() + 3600 * $offset; $day = date("D", $t); $dt = date("Ymd", $t); $tm = date("H:i", $t); $refer = $_SERVER['HTTP_REFERER']; $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); $user = $_SERVER['HTTP_USER_AGENT']; $req = $_SERVER['REQUEST_URI']; if ($ip = $_SERVER['HTTP_X_FORWARDED_FOR']) { if (!stristr($_SERVER['HTTP_X_FORWARDED_FOR'], CMS::getip()) and !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip .= ", " . CMS::getip(); } else { $ip = CMS::getip(); } $proxy = CMS::getip(); } else { $ip = CMS::getip(); $proxy = ""; } if ($proxy == $ip) { $proxy = ""; } $a = explode(", ", $ip); $real_ip = $a[count($a) - 1]; if (!empty($proxy)) { $host = gethostbyaddr($proxy); } else { if ($host = gethostbyaddr($ip)) { } else { if ($host = gethostbyaddr($real_ip)) { } else { $host = $ip; } } } $model = new StatsSurf(); $model->day = $day; $model->dt = $dt; $model->tm = $tm; $model->refer = $refer; $model->ip = $ip; $model->proxy = $proxy; $model->host = $host; $model->lang = $lang; $model->user = $user; $model->req = $req; if (!$model->save(false, false, false)) { Yii::log('Error save stats', 'info', 'stats'); } } }