/** * Disables REST API Logging * * ## OPTIONS * * ## EXAMPLES * * wp rest-api-log disable * */ function disable() { WP_REST_API_Log_Settings_General::change_enabled_setting('general', 'logging-enabled', false, 'WP_REST_API_Log_Settings_General::sanitize_settings'); $option = get_option(WP_REST_API_Log_Settings_General::$settings_key); if (!empty($option) && isset($option['logging-enabled']) && '0' === $option['logging-enabled']) { WP_CLI::Success("REST API Log disabled"); } else { WP_CLI::Error("REST API Log was not disabled"); } }
public static function create_default_settings() { // create default settings add_option(WP_REST_API_Log_Settings_General::$settings_key, WP_REST_API_Log_Settings_General::get_default_settings(), '', $autoload = 'no'); add_option(WP_REST_API_Log_Settings_Routes::$settings_key, WP_REST_API_Log_Settings_Routes::get_default_settings(), '', $autoload = 'no'); }
public function purge_old_records($days_old = false, $dry_run = false) { if (empty($days_old)) { $days_old = WP_REST_API_Log_Settings_General::setting_get('general', 'purge-days'); } $days_old = absint($days_old); if (empty($days_old)) { return; } $db = new WP_REST_API_Log_DB(); $args = array('fields' => 'ids', 'to' => date('Y-m-d H:i', current_time('timestamp') - DAY_IN_SECONDS * $days_old), 'posts_per_page' => -1); $ids = $db->search($args); $number_deleted = 0; if (!empty($ids) && is_array($ids)) { foreach ($ids as $id) { if (!$dry_run) { wp_delete_post($id, true); } $number_deleted++; } } return $number_deleted; }
/** * Test that general has default settings */ function test_default_general_settings() { $settings = WP_REST_API_Log_Settings_General::get_default_settings(); $this->assertNotEmpty($settings); $this->assertNotEmpty($settings['logging-enabled'], 'logging-enabled is empty'); }
$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 */ register_activation_hook(__FILE__, function () { require_once 'includes/class-wp-rest-api-log-activator.php'; WP_REST_API_Log_Activator::activate(); });