/** * 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"; } } }
public function actionHome($uid) { if (Yii::app()->user->isGuest) { $this->redirect('./index.php?r=user/login'); } $vhid = $uid; $user = User::model()->findByPk($uid); $user->visitor += 1; $user->save(false); if ($uid != Yii::app()->user->id) { $visit = new Visitor(); $visit->uid = Yii::app()->user->id; $visit->toid = $uid; $visit->time = time(); $visit->save(false); } //活跃用户展示 $yaya = User::model()->findAll(array('order' => 'update_time desc', 'limit' => 16)); //思想展示 $sql = "select * from {{article}} where author_id = {$uid} order by create_time desc limit 0, 20 "; $sixiang = Article::model()->findAllBySql($sql); //标签展示 $sq = "select * from {{usertags}} where uid = {$uid} order by create_time desc"; $bq = Usertags::model()->findAllBySql($sq); //home页面用户关注的丫丫数量 $uf = "select * from {{follow}} where uid={$uid}"; $userfollow = count(Follow::model()->findAllBySql($uf)); //home页面粉丝数量 $fan = "select * from {{follow}} where touid={$uid}"; $fans = count(Follow::model()->findAllBySql($fan)); //访问我的主页的用户展示 $userid = Yii::app()->user->id; $cs1 = "select *,count(distinct uid) from {{visitor}} where toid={$userid} group by uid order by time desc limit 16"; $fangwenwo = Visitor::model()->findAllBySql($cs1); $cs2 = "select *,count(distinct toid) from {{visitor}} where uid={$vhid} group by toid order by time desc limit 16"; $visitwho = Visitor::model()->findAllBySql($cs2); $data = array('user' => $user, 'yaya' => $yaya, 'sixiang' => $sixiang, 'bq' => $bq, 'userfollow' => $userfollow, 'fans' => $fans, 'fangwenwo' => $fangwenwo, 'visitwho' => $visitwho); $this->render('home', $data); }
echo fmod($i, 2) == 0 ? 'even' : 'odd'; $i++; ?> " id="<?php echo $line->id; ?> "> <td><input type="checkbox" name="id[]" value="<?php echo $line->id; ?> " /></td> <td><?php echo CHtml::link($line->title, array('archiver/blog', 'id' => $line->id)); ?> (<b><?php echo count(Visitor::model()->getArticleVisitors($line->id)); ?> </b>)</td> <td><?php echo $line->channel->name; ?> </td> <td><?php echo date('m-d h:i', $line->pubdate); ?> </td> </tr> <?php } ?>
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = Visitor::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }