public static function getUserAnalyticsInfo($user_id) { $analytics_info = array(); $analytics_info = UserGeoAnalytics::where('user_id', $user_id)->first(); if (count($analytics_info) > 0) { $campaign_url = ''; $ga_content = trim($analytics_info['content']); if (isset($analytics_info['content']) && $analytics_info['content'] != '-') { //Condition to add http if not exist in ga_source if (!preg_match('/http/', $analytics_info['source'])) { $campaign_url = 'http://' . $analytics_info['source'] . $ga_content; } else { $campaign_url = $analytics_info['source'] . $ga_content; } } $analytics_info['campaign_url'] = $campaign_url; // geo byte info $geobyte_info = json_decode($analytics_info['geobyte_info']); if (isset($geobyte_info)) { $geobyte_info_list['region_name'] = isset($geobyte_info->region_name) ? $geobyte_info->region_name : ""; $geobyte_info_list['city'] = isset($geobyte_info->city) ? $geobyte_info->city : ""; $geobyte_info_list['certainty'] = isset($geobyte_info->certainty) ? $geobyte_info->certainty : ""; $others_arr = array(); foreach ($geobyte_info as $geoKey => $geoValue) { if ($geoKey != "region_name" && $geoKey != "city" && $geoKey != "certainty") { $others_arr[] = ucwords(str_replace("_", " ", $geoKey)) . ": " . $geoValue; } } $geobyte_info_list['others'] = implode(", ", $others_arr); $analytics_info['geobyte_info_list'] = $geobyte_info_list; } // maxmind info $maxmind_info = json_decode($analytics_info['maxmind_info']); if (isset($maxmind_info)) { $maxmind_info_list['region_name'] = isset($geobyte_info->region_name) ? $geobyte_info->region_name : ""; $maxmind_info_list['city'] = isset($geobyte_info->city) ? $geobyte_info->city : ""; $others_arr = array(); foreach ($maxmind_info as $maxmindKey => $maxmindValue) { if ($maxmindKey != "region_name" && $maxmindKey != "city") { $others_arr[] = ucwords(str_replace("_", " ", $maxmindKey)) . ": " . $maxmindValue; } } $maxmind_info_list['others'] = implode(", ", $others_arr); $analytics_info['maxmind_info_list'] = $maxmind_info_list; } $brwoser_info = json_decode($analytics_info['browser_info']); if (isset($brwoser_info)) { $others_arr = array(); foreach ($brwoser_info as $brwdKey => $brwValue) { $others_arr[] = ucwords(str_replace("_", " ", $brwdKey)) . ": " . $brwValue; } $analytics_info['browser_info_list'] = implode(", ", $others_arr); } } return $analytics_info; }
public function addUserAnalyticsInfo($data_arr) { $data_arr['date_added'] = date('Y-m-d H:i:s'); /* Region and countries entry starts */ $maxmind_info = html_entity_decode($data_arr['maxmind_info']); $maxmind_arr = json_decode($maxmind_info, true); if (isset($maxmind_arr['region_name']) && $maxmind_arr['region_name'] != '') { $data_arr['region'] = $maxmind_arr['region_name']; } if (isset($maxmind_arr['mx_countryName']) && $maxmind_arr['mx_countryName'] != '') { $data_arr['country'] = $maxmind_arr['mx_countryName']; } if ($data_arr['region'] == '' && $data_arr['country'] == '') { $geobyte_info = html_entity_decode($data_arr['geobyte_info']); $geocode_arr = json_decode($geobyte_info, true); if (isset($geocode_arr['region_name']) && isset($geocode_arr['gn_countryName'])) { if ($geocode_arr['region_name'] != '') { $data_arr['region'] = $geocode_arr['region_name']; } if ($geocode_arr['gn_countryName'] != '') { $data_arr['country'] = $geocode_arr['gn_countryName']; } } } $user_geo_analytics = new UserGeoAnalytics(); $user_geo_analytics->addNew($data_arr); }