PluginProbe
Float menu – awesome floating side menu / 6.1
Float menu – awesome floating side menu v6.1
7.2.5 trunk 2.1 2.2 3.0.1 3.1 3.2.2 3.3.1 3.5 3.5.1 3.5.2 3.5.3. 3.5.4 4.0 4.1 4.1.1 4.2 4.3 4.3.1 4.3.2 5.0 5.0.1 5.0.2 5.0.3 5.1 All 57 releases
float-menu / admin / class-wowp-admin.php

class-wowp-admin.php in Float menu – awesome floating side menu 6.1, at admin/class-wowp-admin.php

108 lines 3.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Class WOWP_Admin
5 *
6 * The main admin class responsible for initializing the admin functionality of the plugin.
7 *
8 * @package FloatMenuLite
9 * @subpackage Admin
10 * @author Dmytro Lobov <dev@wow-company.com>, Wow-Company
11 * @copyright 2024 Dmytro Lobov
12 * @license GPL-2.0+
13 */
14
15 namespace FloatMenuLite;
16
17 use FloatMenuLite\Admin\AdminActions;
18 use FloatMenuLite\Admin\Dashboard;
19
20 defined( 'ABSPATH' ) || exit;
21
22 class WOWP_Admin {
23 public function __construct() {
24 Dashboard::init();
25 AdminActions::init();
26 $this->includes();
27
28 add_action( WOWP_Plugin::PREFIX . '_admin_header_links', [ $this, 'plugin_links' ] );
29 add_filter( WOWP_Plugin::PREFIX . '_save_settings', [ $this, 'save_settings' ] );
30 add_action( WOWP_Plugin::PREFIX . '_admin_load_assets', [ $this, 'load_assets' ] );
31 }
32
33 public function includes(): void {
34 require_once plugin_dir_path( __FILE__ ) . 'class-settings-helper.php';
35 }
36
37 public function plugin_links(): void {
38 ?>
39 <div class="wpie-links">
40 <a href="<?php echo esc_url(WOWP_Plugin::info('pro'));?>" target="_blank">PRO Plugin</a>
41 <a href="<?php echo esc_url(WOWP_Plugin::info('support'));?>" target="_blank">Support</a>
42 <a href="<?php echo esc_url(WOWP_Plugin::info('rating'));?>" target="_blank" class="wpie-color-orange">Rating</a>
43 <a href="https://www.wordfence.com/r/a0fe3fadb6e08d58/products/wordfence-free/" class="wpie-color-success" target="_blank">Secure your site</a>
44 </div>
45 <?php
46 }
47 public function save_settings( $request ) {
48
49 $param = ! empty( $request ) ? map_deep( $request, 'sanitize_text_field' ) : [];
50
51 if ( isset( $request['menu_1']['item_tooltip'] ) ) {
52 $param['menu_1']['item_tooltip'] = map_deep( $request['menu_1']['item_tooltip'], array(
53 $this,
54 'sanitize_tooltip'
55 ) );
56 }
57
58 if ( isset( $request['menu_1']['item_text'] ) ) {
59 $param['menu_1']['item_text'] = map_deep( $request['menu_1']['item_text'], [
60 $this,
61 'sanitize_text'
62 ] );
63 }
64
65 if ( isset( $request['popupcontent'] ) ) {
66 $param['popupcontent'] = wp_kses_post( wp_unslash( $request['popupcontent'] ) );
67 }
68
69 return $param;
70
71 }
72
73 public function sanitize_text( $text ): string {
74 return wp_kses_post( wp_unslash( $text ) );
75 }
76
77 public function sanitize_tooltip( $text ): string {
78 return sanitize_text_field( wp_unslash( $text ) );
79 }
80
81
82 public function load_assets(): void {
83
84 wp_enqueue_style( 'wp-color-picker' );
85 wp_enqueue_script( 'wp-color-picker' );
86 wp_enqueue_script( 'jquery-ui-sortable' );
87 wp_enqueue_editor();
88 wp_enqueue_media();
89
90 $handle = WOWP_Plugin::SLUG;
91 $version = WOWP_Plugin::info( 'version' );
92 $url_assets = WOWP_Plugin::url() . 'vendors/';
93
94 $fonticonpicker_js = $url_assets . 'fonticonpicker/fonticonpicker.min.js';
95 wp_enqueue_script( $handle . '-fonticonpicker', $fonticonpicker_js, array( 'jquery' ), $version, true );
96
97 $fonticonpicker_css = $url_assets . 'fonticonpicker/css/fonticonpicker.min.css';
98 wp_enqueue_style( $handle . '-fonticonpicker', $fonticonpicker_css, null, $version );
99
100 $fonticonpicker_dark_css = $url_assets . 'fonticonpicker/fonticonpicker.darkgrey.min.css';
101 wp_enqueue_style( $handle . '-fonticonpicker-darkgrey', $fonticonpicker_dark_css, null, $version );
102
103 $url_fontawesome = $url_assets . 'fontawesome/css/all.min.css';
104 wp_enqueue_style( 'wowp-fontawesome', $url_fontawesome, null, '6.6' );
105
106 }
107
108 }