/**
  * 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;
 }
Ejemplo n.º 4
0
 /**
  * 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');
 }
Ejemplo n.º 5
0
$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();
});