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