PluginProbe ʕ •ᴥ•ʔ
Email Encoder – Protect Email Addresses and Phone Numbers / trunk
Email Encoder – Protect Email Addresses and Phone Numbers vtrunk
2.5.0 2.4.8 trunk 0.10 0.11 0.12 0.20 0.21 0.22 0.30 0.31 0.32 0.40 0.41 0.42 0.50 0.60 0.70 0.71 0.80 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.3.0 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.5 1.5.2 1.51 1.53 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7
email-encoder-bundle / src / Admin / AdminMenu.php
email-encoder-bundle / src / Admin Last commit date
Admin.php 1 month ago AdminEnqueue.php 1 month ago AdminHelp.php 1 month ago AdminMenu.php 1 month ago PluginActionLinks.php 3 months ago SupportExport.php 2 months ago
AdminMenu.php
71 lines
1 <?php
2
3 namespace OnlineOptimisation\EmailEncoderBundle\Admin;
4
5 if ( ! defined( 'ABSPATH' ) ) exit;
6
7 use OnlineOptimisation\EmailEncoderBundle\Traits\PluginHelper;
8
9 class AdminMenu
10 {
11 use PluginHelper;
12
13 private AdminHelp $help;
14
15
16 public function boot(): void
17 {
18 $this->help = new AdminHelp();
19
20 add_action( 'admin_menu', [ $this, 'register_menu' ], 150 );
21 }
22
23
24 public function register_menu(): void
25 {
26 if ( (string) $this->getSetting( 'own_admin_menu', true ) !== '1' ) {
27 $pagehook = add_submenu_page(
28 'options-general.php',
29 $this->getPageTitle(),
30 $this->getPageTitle(),
31 $this->getAdminCap( 'admin-add-submenu-page-item' ),
32 $this->getPageName(),
33 [ $this, 'render_admin_menu_page' ]
34 );
35 } else {
36 $pagehook = add_menu_page(
37 $this->getPageTitle(),
38 $this->getPageTitle(),
39 $this->getAdminCap( 'admin-add-menu-page-item' ),
40 $this->getPageName(),
41 [ $this, 'render_admin_menu_page' ],
42 $this->getMenuIconUri()
43 );
44 }
45
46 add_action( 'load-' . $pagehook, [ $this->help, 'add_help_tabs' ] );
47 }
48
49
50 private function getMenuIconUri(): string
51 {
52 $svg = (string) file_get_contents( EEB_PLUGIN_DIR . 'assets/img/icon-email-encoder-mono.svg' );
53 return 'data:image/svg+xml;base64,' . base64_encode( $svg );
54 }
55
56
57
58 public function render_admin_menu_page(): void
59 {
60 if ( ! current_user_can( $this->getAdminCap('admin-menu-page') ) ) {
61 wp_die( esc_html__( 'Insufficient permissions.', 'email-encoder-bundle' ) );
62 }
63
64 ( new Admin() )->maybe_consume_redirect_notice();
65
66 $display_notices = Admin::$display_notices;
67
68 include EEB_PLUGIN_DIR . 'templates/eeb-page-display.php';
69 }
70 }
71