/**
  * Inserts a REST API log custom post type record and corresponding
  * post meta and taxonomy terms
  *
  * @param  array $args
  * @return int
  */
 public function insert($args)
 {
     $args = wp_parse_args($args, array('time' => current_time('mysql'), 'ip_address' => filter_input(INPUT_SERVER, 'REMOTE_ADDR', FILTER_SANITIZE_STRING), 'http_x_forwarded_for' => filter_input(INPUT_SERVER, 'HTTP_X_FORWARDED_FOR', FILTER_SANITIZE_STRING), 'route' => '', 'source' => 'WP REST API', 'method' => filter_input(INPUT_SERVER, 'REQUEST_METHOD', FILTER_SANITIZE_STRING), 'status' => 200, 'request' => array('body' => ''), 'response' => array('body' => ''), 'milliseconds' => 0, 'post_meta' => array()));
     if (empty($args['milliseconds'])) {
         global $wp_rest_api_log_start;
         $now = WP_REST_API_Log_Common::current_milliseconds();
         $args['milliseconds'] = absint($now - $wp_rest_api_log_start);
     }
     // allow filtering
     $args = apply_filters(self::plugin_name() . '-pre-insert', $args);
     $new_post = array('post_author' => 0, 'post_type' => self::POST_TYPE, 'post_title' => $args['route'], 'post_content' => wp_json_encode($args['response']['body'], JSON_PRETTY_PRINT), 'post_status' => 'publish', 'post_name' => sanitize_title($args['route']) . '-' . wp_generate_password(6));
     // allow filtering
     $new_post = apply_filters(self::plugin_name() . '-pre-insert-new-post', $new_post, $args);
     $post_id = wp_insert_post($new_post);
     if (!empty($post_id)) {
         $this->insert_post_terms($post_id, $args);
         $this->insert_post_meta($post_id, $args);
         $this->insert_request_meta($post_id, $args);
         $this->insert_response_meta($post_id, $args);
         global $wp_rest_api_log_new_entry_id;
         $wp_rest_api_log_new_entry_id = $post_id;
     }
     return $post_id;
 }
}
$plugin_class_file = 'wp-rest-api-log';
$includes = array('includes/class-' . $plugin_class_file . '-common.php', 'includes/class-' . $plugin_class_file . '-db.php', 'includes/class-' . $plugin_class_file . '-post-type.php', 'includes/class-' . $plugin_class_file . '-i18n.php', 'includes/class-' . $plugin_class_file . '-controller.php', 'includes/class-' . $plugin_class_file . '-request-response-base.php', 'includes/class-' . $plugin_class_file . '-request.php', 'includes/class-' . $plugin_class_file . '-response.php', 'includes/class-' . $plugin_class_file . '-entry.php', 'includes/class-' . $plugin_class_file . '-response-base.php', 'includes/class-' . $plugin_class_file . '-delete-response.php', 'includes/class-' . $plugin_class_file . '-routes-response.php', 'includes/class-' . $plugin_class_file . '-elasticpress.php', 'includes/class-' . $plugin_class_file . '.php', 'includes/settings/class-' . $plugin_class_file . '-settings-base.php', 'includes/settings/class-' . $plugin_class_file . '-settings-general.php', 'includes/settings/class-' . $plugin_class_file . '-settings-routes.php', 'includes/settings/class-' . $plugin_class_file . '-settings-elasticpress.php', 'includes/settings/class-' . $plugin_class_file . '-settings-help.php', 'includes/settings/class-' . $plugin_class_file . '-settings.php', 'admin/class-' . $plugin_class_file . '-admin.php', 'admin/class-' . $plugin_class_file . '-admin-list-table.php');
$class_base = 'WP_REST_API_Log';
$classes = array($class_base . '_Common', $class_base . '_DB', $class_base . '_Post_Type', $class_base . '_i18n', $class_base . '_Controller', $class_base . '', $class_base . '_Admin', $class_base . '_Admin_List_Table');
/* Include classes */
foreach ($includes as $include) {
    require_once WP_REST_API_LOG_PATH . $include;
}
if (defined('WP_CLI') && WP_CLI) {
    require_once WP_REST_API_LOG_PATH . 'includes/wp-cli/setup.php';
}
/* Record the start time so we can log total millisecons */
if (class_exists('WP_REST_API_Log_Common')) {
    global $wp_rest_api_log_start;
    $wp_rest_api_log_start = WP_REST_API_Log_Common::current_milliseconds();
}
/* Instantiate classes and hook into WordPress */
foreach ($classes as $class) {
    $plugin = new $class();
    if (method_exists($class, 'plugins_loaded')) {
        add_action('plugins_loaded', array($plugin, 'plugins_loaded'), 1);
    }
}
WP_REST_API_Log_ElasticPress::plugins_loaded();
WP_REST_API_Log_Settings::plugins_loaded();
WP_REST_API_Log_Settings_General::plugins_loaded();
WP_REST_API_Log_Settings_Routes::plugins_loaded();
WP_REST_API_Log_Settings_ElasticPress::plugins_loaded();
WP_REST_API_Log_Settings_Help::plugins_loaded();
/* Activation hook */