/**
  * Constructs the frontend config array
  * @return config array
  */
 function construct_config_array()
 {
     $current_url = HA_Common::get_current_url();
     $config_array = array('ajax_url' => admin_url('admin-ajax.php'), 'ajax_nonce' => wp_create_nonce(HA_Common::PLUGIN_ID . '-nonce'), 'ignore_ajax_actions' => $this->ignore_ajax_actions, 'plugin_version' => HA_Common::PLUGIN_VERSION);
     $ip_address = HA_Common::get_ip_address();
     $session_id = session_id();
     // get or create user details and user environment details
     $user_details = HA_Common::get_user_details($ip_address, $session_id, false, null);
     $user_environment_details = HA_Common::get_user_environment_details($user_details['user_id'], false, null);
     $config_array = array_merge($config_array, $user_environment_details);
     $config_array = array_merge($config_array, $user_details);
     $config_array = array_merge($config_array, $this->get_custom_events($current_url));
     $config_array = array_merge($config_array, $this->get_schedule_check());
     $config_array = array_merge($config_array, $this->get_url_excluded($current_url));
     $config_array = array_merge($config_array, $this->get_general_settings());
     $config_array = array_merge($config_array, $this->get_heat_map_settings());
     $config_array = array_merge($config_array, $this->get_url_db_limit_check($current_url));
     $config_array = array_merge($config_array, $this->get_url_filters_settings());
     return $config_array;
 }