Exemplo n.º 1
0
 /**
  * Add clientdata
  *
  * @param array $content json data
  *
  * @return void
  */
 function addClientdata($content)
 {
     $this->load->model('servicepublicclass/clientdatapublic', 'clientdatapublic');
     $clientdata = new clientdatapublic();
     $clientdata->loadclientdata($content);
     $ip = $this->utility->getOnlineIP();
     $nowtime = date('Y-m-d H:i:s');
     if (isset($clientdata->time)) {
         $nowtime = $clientdata->time;
         if (strtotime($nowtime) < strtotime('1970-01-01 00:00:00') || strtotime($nowtime) == '') {
             $nowtime = date('Y-m-d H:i:s');
         }
     }
     $data = array('productkey' => $clientdata->appkey, 'platform' => $clientdata->platform, 'osversion' => $clientdata->os_version, 'language' => $clientdata->language, 'deviceid' => $clientdata->deviceid, 'resolution' => $clientdata->resolution, 'ismobiledevice' => isset($clientdata->ismobiledevice) ? $clientdata->ismobiledevice : '', 'devicename' => isset($clientdata->devicename) ? $clientdata->devicename : 'unknown', 'defaultbrowser' => isset($clientdata->defaultbrowser) ? $clientdata->defaultbrowser : '', 'javasupport' => isset($clientdata->javasupport) ? $clientdata->javasupport : '', 'flashversion' => isset($clientdata->flashversion) ? $clientdata->flashversion : '', 'modulename' => isset($clientdata->modulename) ? $clientdata->modulename : '', 'imei' => isset($clientdata->imei) ? $clientdata->imei : '', 'imsi' => isset($clientdata->imsi) ? $clientdata->imsi : '', 'salt' => isset($clientdata->salt) ? $clientdata->salt : '', 'havegps' => isset($clientdata->havegps) ? $clientdata->havegps : '', 'havebt' => isset($clientdata->havebt) ? $clientdata->havebt : '', 'havewifi' => isset($clientdata->havewifi) ? $clientdata->havewifi : '', 'havegravity' => isset($clientdata->havegravity) ? $clientdata->havegravity : '', 'wifimac' => isset($clientdata->wifimac) ? $clientdata->wifimac : '', 'version' => isset($clientdata->version) ? $clientdata->version : '', 'network' => isset($clientdata->network) ? $clientdata->network : '', 'latitude' => isset($clientdata->latitude) ? $clientdata->latitude : '', 'longitude' => isset($clientdata->longitude) ? $clientdata->longitude : '', 'isjailbroken' => isset($clientdata->isjailbroken) ? $clientdata->isjailbroken : 0, 'useridentifier' => isset($clientdata->userid) ? $clientdata->userid : '', 'date' => $nowtime, 'service_supplier' => isset($clientdata->mccmnc) ? $clientdata->mccmnc : '0', 'clientip' => $ip);
     $latitude = isset($clientdata->latitude) ? $clientdata->latitude : '';
     $choose = $this->config->item('get_geographical');
     $data["country"] = 'unknown';
     $data["region"] = 'unknown';
     $data["city"] = 'unknown';
     $data["street"] = '';
     $data["streetno"] = '';
     $data["postcode"] = '';
     if ($choose == 2) {
         $this->iplibrary->setLibrary('GeoIpLibrary', $ip);
         $data['country'] = $this->iplibrary->getCountry();
         $data['region'] = $this->iplibrary->getRegion();
         $data['city'] = $this->iplibrary->getCity();
     }
     if ($choose == 1) {
         $this->iplibrary->setLibrary('IpIpLibrary', $ip);
         $data['country'] = $this->iplibrary->getCountry();
         $data['region'] = $this->iplibrary->getRegion();
         $data['city'] = $this->iplibrary->getCity();
     }
     $this->db->insert('clientdata', $data);
 }
Exemplo n.º 2
0
 function postClientData()
 {
     $this->load->model('servicepublicclass/clientdatapublic', 'clientdatapublic');
     if (!isset($_POST["content"])) {
         $ret = array('flag' => -3, 'msg' => 'Invalid content.');
         echo json_encode($ret);
         return;
     }
     $encoded_content = $_POST["content"];
     $content = json_decode($encoded_content);
     $clientdata = new clientdatapublic();
     $clientdata->loadclientdata($content);
     $retParamsCheck = $this->utility->isPraramerValue($content, $array = array("appkey", "platform", "os_version", "language", "deviceid", "resolution"));
     if ($retParamsCheck["flag"] <= 0) {
         $ret = array('flag' => -2, 'msg' => $retParamsCheck['msg']);
         echo json_encode($ret);
         return;
     }
     $key = $clientdata->appkey;
     $isKeyAvailable = $this->utility->isKeyAvailale($key);
     if (!$isKeyAvailable) {
         $ret = array('flag' => -1, 'msg' => 'Invalid app key');
         echo json_encode($ret);
         return;
     } else {
         try {
             $this->clientdata->addClientdata($content);
             $ret = array('flag' => 1, 'msg' => 'ok');
         } catch (Exception $ex) {
             $ret = array('flag' => -4, 'msg' => 'DB Error');
         }
     }
     log_message('debug', json_encode($ret));
     echo json_encode($ret);
 }
Exemplo n.º 3
0
 function addClientdata($content)
 {
     $this->load->model('servicepublicclass/clientdatapublic', 'clientdatapublic');
     $clientdata = new clientdatapublic();
     $clientdata->loadclientdata($content);
     $ip = $this->utility->getOnlineIP();
     $nowtime = date('Y-m-d H:i:s');
     if (isset($clientdata->time)) {
         $nowtime = $clientdata->time;
         if (strtotime($nowtime) < strtotime('1970-01-01 00:00:00') || strtotime($nowtime) == '') {
             $nowtime = date('Y-m-d H:i:s');
         }
     }
     $data = array('productkey' => $clientdata->appkey, 'platform' => $clientdata->platform, 'osversion' => $clientdata->os_version, 'language' => $clientdata->language, 'deviceid' => $clientdata->deviceid, 'resolution' => $clientdata->resolution, 'ismobiledevice' => isset($clientdata->ismobiledevice) ? $clientdata->ismobiledevice : '', 'devicename' => isset($clientdata->devicename) ? $clientdata->devicename : 'unknown', 'defaultbrowser' => isset($clientdata->defaultbrowser) ? $clientdata->defaultbrowser : '', 'javasupport' => isset($clientdata->javasupport) ? $clientdata->javasupport : '', 'flashversion' => isset($clientdata->flashversion) ? $clientdata->flashversion : '', 'modulename' => isset($clientdata->modulename) ? $clientdata->modulename : '', 'imei' => isset($clientdata->imei) ? $clientdata->imei : '', 'imsi' => isset($clientdata->imsi) ? $clientdata->imsi : '', 'havegps' => isset($clientdata->havegps) ? $clientdata->havegps : '', 'havebt' => isset($clientdata->havebt) ? $clientdata->havebt : '', 'havewifi' => isset($clientdata->havewifi) ? $clientdata->havewifi : '', 'havegravity' => isset($clientdata->havegravity) ? $clientdata->havegravity : '', 'wifimac' => isset($clientdata->wifimac) ? $clientdata->wifimac : '', 'version' => isset($clientdata->version) ? $clientdata->version : '', 'network' => isset($clientdata->network) ? $clientdata->network : '', 'latitude' => isset($clientdata->latitude) ? $clientdata->latitude : '', 'longitude' => isset($clientdata->longitude) ? $clientdata->longitude : '', 'isjailbroken' => isset($clientdata->isjailbroken) ? $clientdata->isjailbroken : 0, 'useridentifier' => isset($clientdata->userid) ? $clientdata->userid : '', 'date' => $nowtime, 'service_supplier' => isset($clientdata->mccmnc) ? $clientdata->mccmnc : '0', 'clientip' => $ip);
     $latitude = isset($clientdata->latitude) ? $clientdata->latitude : '';
     $choose = $this->config->item('get_geographical');
     $data["country"] = 'unknown';
     $data["region"] = 'unknown';
     $data["city"] = 'unknown';
     $data["street"] = '';
     $data["streetno"] = '';
     $data["postcode"] = '';
     if ($choose == 2) {
         if ($latitude != '') {
             $latitude = $clientdata->latitude;
             $longitude = $clientdata->longitude;
             $regionInfo = $this->google->getregioninfo($latitude, $longitude);
         } else {
             $regionInfo = $this->ipinfodb->getregioninfobyip($ip);
         }
         if (!empty($regionInfo)) {
             $data["country"] = $regionInfo['country'];
             $data["region"] = $regionInfo['region'];
             $data["city"] = $regionInfo['city'];
             $data["street"] = $regionInfo['street'];
             $data["streetno"] = $regionInfo['street_number'];
             $data["postcode"] = $regionInfo['postal_code'];
         }
     }
     if ($choose == 1) {
         require "geoip.inc";
         require "geoipcity.inc";
         require "geoipregionvars.php";
         $gi = geoip_open("GeoLiteCity.dat", GEOIP_STANDARD);
         $record = geoip_record_by_addr($gi, $ip);
         if (!empty($record)) {
             if ($record->country_name != '') {
                 $data["country"] = $record->country_name;
             } else {
                 $data["country"] = "unknown";
             }
             if ($record->region != '') {
                 $data["region"] = $GEOIP_REGION_NAME[$record->country_code][$record->region];
             } else {
                 $data["region"] = "unknown";
             }
             if ($record->city != '') {
                 $data["city"] = $record->city;
             } else {
                 $data["city"] = "unknown";
             }
             $data["region"] = mb_convert_encoding($data["region"], "UTF-8", "UTF-8");
             $data["city"] = mb_convert_encoding($data["city"], "UTF-8", "UTF-8");
         } else {
             $data["country"] = "unknown";
             $data["region"] = "unknown";
             $data["city"] = "unknown";
         }
     }
     $this->db->insert('clientdata', $data);
 }