/** * 以Ip地址为标志,查看当前用户是否有登陆 */ public function checkLoginStatus() { $criteria = new CDbCriteria(); $criteria->addSearchCondition('data', UtilNet::getClientIp()); $model = Session::model()->find($criteria); if ($model) { return true; } else { return false; } }
/** * Displays the login page */ public function actionLogin() { $this->layout = '//layouts/site'; if (!Yii::app()->user->isGuest) { $this->redirect($this->createUrl('/archiver/index', array('name' => Yii::app()->user->name, 'uid' => Yii::app()->user->id))); } $model = new LoginForm(); // if it is ajax validation request if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') { echo CActiveForm::validate($model); Yii::app()->end(); } // collect user input data if (isset($_POST['LoginForm'])) { $model->attributes = $_POST['LoginForm']; // validate user input and redirect to the previous page if valid if ($model->validate() && $model->login()) { Yii::app()->session['loginIp'] = UtilNet::getClientIp(); if (isset($_GET['referer'])) { $this->redirect($_GET['referer']); } else { $this->redirect(array('/archiver/index', 'uid' => Yii::app()->user->id, 'name' => Yii::app()->user->name)); } } } // display the login form $this->render('login', array('model' => $model)); }
/** * Add the visitor who have read this blog * @param int $id */ public function addArticleVisitorInfo($id, $interval) { $ip = UtilNet::getClientIp(); // echo $ip; // $qq = new QQWry(long2ip($ip)); // echo $qq->getDetailInfo(); $visitorInfo = Visitor::model()->find('ip = :ip AND aid = :aid', array(':ip' => $ip, ':aid' => $id)); // UtilHelper::dump($visitorInfo->attributes); if ($visitorInfo) { $visitorInfo->lasttime = time(); $visitorInfo->times++; $visitorInfo->alltime .= '|' . time(); $visitorInfo->intervals .= '|' . $interval; if (!Yii::app()->user->isGuest) { $visitorInfo->uid = Yii::app()->user->id; } UtilHelper::writeToFile($visitorInfo->attributes); // Yii::app()->end(); try { $visitorInfo->save(); } catch (Exception $e) { UtilHelper::dump($e); } } else { $visitorInfo = new Visitor(); $visitorInfo->aid = $id; $visitorInfo->ip = $ip; $visitorInfo->lasttime = time(); $visitorInfo->times = 1; $visitorInfo->intervals = $interval; if (!Yii::app()->user->isGuest) { $visitorInfo->uid = Yii::app()->user->id; } $visitorInfo->alltime = time(); $visitorInfo->refer = $_SERVER['HTTP_REFERER']; $visitorInfo->terminal = $_SERVER['HTTP_USER_AGENT']; UtilHelper::writeToFile($visitorInfo->attributes); // Yii::app()->end(); if ($visitorInfo->save()) { // echo "OK"; } else { // echo "Fail"; } } }
/** * 用户开始进入某页面,添加相关信息 * @param unknown_type $id */ public function visitStart($id, $refer) { try { $ip = ip2long(UtilNet::getClientIp()); $model = Statistics::model()->find(array('condition' => 'ip = :ip AND aid = :aid AND refer = :refer AND UNIX_TIMESTAMP( )-starttime<:interval', 'order' => 'id DESC', 'params' => array(':ip' => $ip, ':aid' => $id, ':refer' => $refer, ':interval' => 180))); UtilHelper::writeToFile($model->attributes); if ($model) { $model->endtime = time(); // UtilHelper::writeToFile(array_merge(array('提示'=>'更新'), $model->attributes), 'a+'); if ($model->save()) { echo $model->id; } } else { $model = new Statistics(); $model->aid = $id; $model->ip = $ip; $model->starttime = time(); if (!Yii::app()->user->isGuest) { $model->uid = Yii::app()->user->id; } $model->terminal = $_SERVER['HTTP_USER_AGENT']; $model->refer = $refer; // UtilHelper::writeToFile(array_merge(array('提示'=>'新加入数据'), $model->attributes), 'a+'); if ($model->save()) { echo $model->id; } } UtilHelper::writeToFile(CHtml::errorSummary($model), 'a+'); } catch (Exception $e) { echo $e->getMessage(); } }