PluginProbe
WP Coder – Insert & Manage Code Snippets / 4.2
WP Coder – Insert & Manage Code Snippets v4.2
4.5.1 1.1 2.3.1 2.3.2 2.4.1 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1 3.1.1 3.2 3.2.1 3.3 3.4 3.5 3.5.1 All 39 releases
wp-coder / classes / Admin / AdminInitializer.php

AdminInitializer.php in WP Coder – Insert & Manage Code Snippets 4.2, at classes/Admin/AdminInitializer.php

156 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPCoder\Admin;
4
5 defined( 'ABSPATH' ) || exit;
6
7 // Exit if accessed directly.
8 use WPCoder\Dashboard\DashboardHelper;
9 use WPCoder\WPCoder;
10
11 class AdminInitializer {
12
13 public static function init(): void {
14 add_filter( 'plugin_action_links', [ __CLASS__, 'settings_link' ], 10, 2 );
15 add_filter( 'admin_footer_text', [ __CLASS__, 'footer_text' ], 20 );
16 add_action( 'admin_menu', [ __CLASS__, 'add_admin_page' ] );
17 add_action( 'admin_enqueue_scripts', [ __CLASS__, 'admin_scripts' ] );
18 new AdminNotices;
19 new AdminActions;
20 }
21
22 public static function settings_link( $links, $file ) {
23 if ( false === strpos( $file, WPCoder::basename() ) ) {
24 return $links;
25 }
26 $link = admin_url( 'admin.php?page=' . WPCoder::SLUG );
27 $text = esc_attr__( 'Settings', 'wp-coder' );
28 $settings_link = '<a href="' . esc_url( $link ) . '">' . esc_attr( $text ) . '</a>';
29 array_unshift( $links, $settings_link );
30
31 return $links;
32 }
33
34 public static function footer_text( $footer_text ) {
35 global $pagenow;
36
37 if ( $pagenow === 'admin.php' && ( isset( $_GET['page'] ) && $_GET['page'] === WPCoder::SLUG ) ) {
38 $text = sprintf(
39 /* translators: 1. link to the plugin page 2. plugin name */
40 __( 'Thank you for using <b>%2$s</b>! Please <a href="%1$s" target="_blank">rate us</a>', 'wp-coder' ),
41 esc_url( WPCoder::PluginURL ),
42 esc_attr( WPCoder::info( 'name' ) )
43 );
44
45 return str_replace( '</span>', '', $footer_text ) . ' | ' . $text . '</span>';
46 }
47
48 return $footer_text;
49 }
50
51 public static function add_admin_page(): void {
52 $icon = 'data:image/svg+xml;base64,' . base64_encode( self::icon() );
53 $parent = 'wp-coder';
54 $title = WPCoder::info( 'name' ) . ' version ' . WPCoder::info( 'version' );
55 $menu_title = 'All Codes';
56 $capability = 'unfiltered_html';
57 $slug = WPCoder::SLUG;
58
59 add_menu_page( 'WP Coder Pro', 'WP Coder', 'unfiltered_html', $slug, [ __CLASS__, 'plugin_page' ], $icon );
60
61 add_submenu_page( $slug, $title, $menu_title, $capability, $slug, [ __CLASS__, 'plugin_page' ] );
62
63 add_submenu_page( $slug, $title, 'Add new', $capability, $slug . '-settings', [ __CLASS__, 'settings' ] );
64 add_submenu_page( $slug, $title, 'Snippets', $capability, $slug . '-snippets', [ __CLASS__, 'snippets' ] );
65 add_submenu_page( $slug, $title, 'Tools', $capability, $slug . '-tools', [ __CLASS__, 'tools' ] );
66 add_submenu_page( $slug, $title, 'Global PHP', $capability, $slug . '-global', [ __CLASS__, 'global_php' ] );
67 add_submenu_page( $slug, $title, 'Debug Log', $capability, $slug . '-debug', [ __CLASS__, 'debug_log' ] );
68 add_submenu_page( $slug, $title, 'Import / Export', $capability, $slug . '-import-export', [ __CLASS__, 'import_export' ] );
69 add_submenu_page( $slug, $title, 'Support', $capability, $slug . '-support', [ __CLASS__, 'support' ] );
70
71 }
72
73 public static function icon(): string {
74 return '<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><title>48px_code</title><g><path d="M14.562 14.75a1.998 1.998 0 0 0-2.811-.312l-10.001 8a2 2 0 0 0 0 3.124l10 8a1.997 1.997 0 0 0 2.811-.312 2 2 0 0 0-.312-2.81L6.201 24l8.048-6.438a2 2 0 0 0 .312-2.81v-.003h.001z" fill="url(#1699598250888-4824476_nc-code-0_linear_235_116)"></path><path d="M36.25 14.438a2 2 0 0 0-2.499 3.123L41.799 24l-8.048 6.438a2 2 0 0 0 2.499 3.123l10-8a2 2 0 0 0 0-3.124l-10-8v.002z" fill="url(#1699598250888-4824476_nc-code-1_linear_235_116)"></path><path d="M29.535 4.073a2.003 2.003 0 0 0-2.462 1.392l-10 36a2 2 0 0 0 3.854 1.07l10-36a2 2 0 0 0-1.392-2.462z" fill="url(#1699598250888-4824476_nc-code-2_linear_235_116)"></path><defs><linearGradient id="1699598250888-4824476_nc-code-0_linear_235_116" x1="8" y1="13.999" x2="8" y2="34" gradientUnits="userSpaceOnUse"><stop stop-color="#5B5E71"></stop><stop offset="1" stop-color="#393A46"></stop></linearGradient><linearGradient id="1699598250888-4824476_nc-code-1_linear_235_116" x1="40" y1="13.999" x2="40" y2="33.998" gradientUnits="userSpaceOnUse"><stop stop-color="#5B5E71"></stop><stop offset="1" stop-color="#393A46"></stop></linearGradient><linearGradient id="1699598250888-4824476_nc-code-2_linear_235_116" x1="24" y1="4" x2="24" y2="44" gradientUnits="userSpaceOnUse"><stop stop-color="#E0E0E6"></stop><stop offset="1" stop-color="#C2C3CD"></stop></linearGradient></defs></g></svg>';
75 }
76
77 public static function plugin_page(): void {
78 $page_path = DashboardHelper::get_folder_path( 'pages' ) . '/1.list.php';
79
80 if ( file_exists( $page_path ) ) {
81 require_once $page_path;
82 }
83 }
84
85 public static function settings(): void {
86 $page_path = DashboardHelper::get_folder_path( 'pages' ) . '/2.settings.php';
87
88 if ( file_exists( $page_path ) ) {
89 require_once $page_path;
90 }
91 }
92
93 public static function snippets() {
94 $page_path = DashboardHelper::get_folder_path( 'pages' ) . '/3.snippets.php';
95
96 if ( file_exists( $page_path ) ) {
97 require_once $page_path;
98 }
99 }
100
101 public static function tools() {
102 $page_path = DashboardHelper::get_folder_path( 'pages' ) . '/4.tools.php';
103
104 if ( file_exists( $page_path ) ) {
105 require_once $page_path;
106 }
107 }
108
109 public static function global_php() {
110 $page_path = DashboardHelper::get_folder_path( 'pages' ) . '/5.global-php.php';
111
112 if ( file_exists( $page_path ) ) {
113 require_once $page_path;
114 }
115 }
116
117
118 public static function import_export() {
119 $page_path = DashboardHelper::get_folder_path( 'pages' ) . '/6.import-export.php';
120
121 if ( file_exists( $page_path ) ) {
122 require_once $page_path;
123 }
124 }
125
126 public static function support() {
127 $page_path = DashboardHelper::get_folder_path( 'pages' ) . '/7.support.php';
128
129 if ( file_exists( $page_path ) ) {
130 require_once $page_path;
131 }
132 }
133
134 public static function debug_log() {
135 $page_path = DashboardHelper::get_folder_path( 'pages' ) . '/10.debug-log.php';
136
137 if ( file_exists( $page_path ) ) {
138 require_once $page_path;
139 }
140 }
141
142 public static function admin_scripts( $hook ): void {
143 // $page = 'toplevel_page_' . WPCoder::SLUG;
144 $assets_url = WPCoder::url() . 'assets/';
145 wp_enqueue_style( 'wowp-general-admin', $assets_url . 'css/admin-general.css' );
146
147 $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
148
149 if ( strpos( $page, WPCoder::SLUG ) === false ) {
150 return;
151 }
152
153 do_action( WPCoder::PREFIX . '_admin_load_styles_scripts' );
154 }
155
156 }