PluginProbe
SuperFrete / 3.3.2
SuperFrete v3.3.2
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 3.3.2, at app/Controllers/Admin/Admin_Menu.php

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