PluginProbe
SuperFrete / 2.1.5
SuperFrete v2.1.5
trunk 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 2.0.0 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4
superfrete / app / Controllers / Admin / Admin_Menu.php

Admin_Menu.php in SuperFrete 2.1.5, at app/Controllers/Admin/Admin_Menu.php

64 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if (!defined('ABSPATH')) {
4 exit; // Segurança para evitar acesso direto
5 }
6
7 /**
8 * Adiciona submenus ao WooCommerce para exibir logs do SuperFrete e um link para configurações.
9 */
10 function superfrete_add_admin_menu() {
11 add_submenu_page(
12 'woocommerce', // Adiciona dentro do WooCommerce
13 'Configurações SuperFrete', // Título da página
14 'Configurações SuperFrete', // Nome no menu
15 'manage_woocommerce', // Permissão necessária
16 'superfrete-settings', // Slug da página
17 'superfrete_redirect_to_settings' // Callback que redireciona para as configurações
18 );
19
20 add_submenu_page(
21 'woocommerce',
22 'Logs SuperFrete',
23 'Logs SuperFrete',
24 'manage_woocommerce',
25 'superfrete-logs',
26 'superfrete_display_logs'
27 );
28 }
29 add_action('admin_menu', 'superfrete_add_admin_menu');
30
31 /**
32 * Redireciona para a aba de configurações da SuperFrete no WooCommerce.
33 */
34 function superfrete_redirect_to_settings() {
35 wp_redirect(admin_url('admin.php?page=wc-settings&tab=shipping&section=options#superfrete_settings_section-description'));
36 exit;
37 }
38
39 /**
40 * Exibe os logs do SuperFrete no painel do WooCommerce.
41 */
42 function superfrete_display_logs() {
43 echo '<div class="wrap">';
44 echo '<h1>Logs da SuperFrete</h1>';
45
46 $log_content = SuperFrete_API\Helpers\Logger::get_log();
47 echo '<textarea readonly style="width:100%; height:500px; font-family:monospace;">';
48 echo esc_textarea($log_content);
49 echo '</textarea>';
50
51 echo '<form method="post" action="">';
52 wp_nonce_field('clear_log_action'); // Adicionar verificação de nonce
53 echo '<button type="submit" name="clear_log" class="button button-danger">Limpar Log</button>';
54 echo '</form>';
55
56 echo '</div>';
57
58 // Se o botão de limpar log for pressionado
59 if (isset($_POST['clear_log']) && check_admin_referer('clear_log_action')) {
60 SuperFrete_API\Helpers\Logger::clear_log();
61 echo '<script>location.reload();</script>'; // Recarrega a página
62 }
63 }
64