__('Data source', '12-step-meeting-list'), 'data_source_error' => __('Data source error', '12-step-meeting-list'), 'import_meeting' => __('Meeting import', '12-step-meeting-list'), 'geocode_success' => __('Geocoding success', '12-step-meeting-list'), 'geocode_error' => __('Geocoding error', '12-step-meeting-list'), 'geocode_connection_error' => __('Geocoding connection error', '12-step-meeting-list'), ]); // clear log entries $valid_nonce = isset($_POST['tsml_nonce']) && wp_verify_nonce($_POST['tsml_nonce'], $tsml_nonce); if ($valid_nonce && isset($_POST['clear_log'])) { delete_option('tsml_log'); tsml_alert(__('Log cleared', '12-step-meeting-list')); } // get all entries to count them for the dropdown filter $log_entries = tsml_log_get(); // query param filters the array $filter_type = !empty($_GET['filter_type']) ? sanitize_text_field($_GET['filter_type']) : null; $filtered_log_entries = array_filter($log_entries, function ($entry) use ($filter_type) { return !$filter_type || $filter_type === $entry['type']; }); // dropdown filter $log_types = array_count_values(array_map(function (array $entry) { return $entry['type']; }, $log_entries)); ?>

'button', 'name' => 'clear_log']); ?>