function refresh_user_info($prn, $site_id)
 {
     $DB_info = $this->load->database('default', TRUE);
     //grab user info from Ops Whse
     $user_details_array = get_name_and_prn_array_opw('prn', $prn);
     if (empty($user_details_array)) {
         return array();
     }
     $entries = $user_details_array[$prn];
     $username = $entries['first_name'] != null ? $entries['first_name'] : "Anonymous Stranger";
     $fullname = $username . " " . $entries['last_name'];
     $values = array('first_name' => $entries['first_name'], 'last_name' => $entries['last_name'], 'display_name' => $fullname, 'email' => $entries['mail'], 'telephone' => $entries['telephone'], 'updated_at' => NULL);
     //check for prn in database
     if ($this->is_user_in_database($prn) && $entries['first_name'] != null) {
         //update user_info
         $DB_info->update("user_cache", $values, array('network_id' => $prn));
     } else {
         //add user_info to cache
         $values['network_id'] = $prn;
         $values['created_at'] = null;
         $DB_info->insert("user_cache", $values);
     }
     //check if user is mapped to this site
     $map_query = $DB_info->where(array('network_id' => $prn, 'site_id' => $site_id))->get('v_user_cache');
     if ($map_query && $map_query->num_rows() > 0) {
         //must be mapped, so we're ok
     } else {
         //not mapped to this site, add them
         $map_insert_data = array('network_id' => $prn, 'site_id' => $site_id);
         $DB_info->insert("user_mappings", $map_insert_data);
     }
     $retval = $DB_info->affected_rows() > 0 ? true : false;
     return $retval;
 }
function get_name_and_prn_list($search_type, $query, $additional_fields_array = false)
{
    return json_encode(get_name_and_prn_array_opw($search_type, $query));
}