/** * 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); }
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); }
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); }