/**
  * 重写获取统计用户所在地区数据
  * 
  * 注:由于使用网络数据库,而获取相关数据花费时间太长,所以先把每次访问时的数据写入一个单独的文件,使用本地文件读取相关数据
  */
 public function actionRewriteRegion()
 {
     set_time_limit(0);
     ignore_user_abort(true);
     $file = Yii::app()->params->visitIpPath;
     $fp = fopen($file, 'w+');
     $model = Comments::model()->findAll();
     foreach ($model as $data) {
         $local = UtilNet::getIPLoc($data->comment_author_IP);
         fwrite($fp, $local->country . "\t" . $local->province . "\t" . $local->city . "\r\n");
         //			UtilHelper::dump($local);
         //			$province = $local->province;
         ///			$city = $local->city;
         //			echo $province.$city;
     }
     fclose($fp);
     //		$provinceModel = Region::model()->getProvinceByName($province);
     //		UtilHelper::dump($provinceModel);
     //		$cityModel = Region::model()->getManicipalByName($city, $provinceModel->id);
 }
Example #2
0
 /**
  * 检查登录状态
  */
 public function actionCheckLoginState()
 {
     $username = $_GET['username'];
     $string = 's:' . strlen($username) . ':"' . $username . '"';
     $criteria = new CDbCriteria();
     $criteria->addSearchCondition('data', $string);
     $model = Sessions::model()->find($criteria);
     if ($model) {
         $session = UtilSession::parseSession(Yii::app()->session->readSession($model->id));
         $ip = $session['loginIp'];
         //			$ip = '125.68.51.203';
         $region = UtilNet::getIPLoc($ip);
         $result = array('id' => $model->id, 'msg' => "<b>检测到您的帐号当前已经在" . $region->province . '.' . $region->city . '.' . $region->district . "登录</b><br />是否要注销,重新登录");
         echo json_encode($result);
     } else {
         $result = array('msg' => 'false');
         echo json_encode($result);
     }
 }
Example #3
0
 /**
  * 根据IP地址获取当前所在地区
  * Enter description here ...
  */
 public function getAreaModel()
 {
     $queryIP = "182.128." . rand(10, 244) . ".21";
     //		$queryIP = strval(rand(10, 244).'.'.rand(10, 244).'.'.rand(10, 244).'.'.rand(10, 244));
     //		echo $queryIP;
     //		$queryIP = UtilNet::getClientIp();
     $local = UtilNet::getIPLoc($queryIP);
     //		UtilHelper::dump($local);
     //		UtilHelper::writeToFile($local);
     $province = $local->province;
     $city = $local->city;
     //		echo $province.$city;
     $provinceModel = Region::model()->getProvinceByName($province);
     //		UtilHelper::dump($provinceModel);
     $cityModel = Region::model()->getManicipalByName($city, $provinceModel->id);
     if ($cityModel) {
         $model = $cityModel;
     } elseif ($provinceModel && !$cityModel) {
         $model = $provinceModel;
     }
     return $model;
 }