PluginProbe
WP Coder – Insert & Manage Code Snippets / 2.5.6
WP Coder – Insert & Manage Code Snippets v2.5.6
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
← All changes | admin/class-admin.php +232 -231 2.3.22.5.6 View file →
@@ -1,249 +1,250 @@
1 -<?php
2 - /**
3 - * Admin Class
4 - *
5 - * @package Wow_Plugin
6 - * @subpackage
7 - * @copyright Copyright (c) 2018, Dmytro Lobov
8 - * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9 - * @since 1.0
10 - */
11 -
12 - namespace wpcoder;
13 -
14 - if ( ! defined( 'ABSPATH' ) ) exit;
15 -
16 - class Wow_Admin_Class {
17 -
18 - private $arg;
19 -
20 - public function __construct( $arg ) {
21 - $this->plugin_name = $arg['plugin_name'];
22 - $this->plugin_menu = $arg['plugin_menu'];
23 - $this->plugin_home_url = $arg['plugin_home_url'];
24 - $this->plugin_version = $arg['plugin_version'];
25 - $this->plugin_file = $arg['plugin_file'];
26 - $this->plugin_slug = $arg['plugin_slug'];
27 - $this->plugin_dir = $arg['plugin_dir'];
28 - $this->plugin_url = $arg['plugin_url'];
29 - $this->plugin_pref = $arg['plugin_pref'];
30 - $this->author_url = $arg['author_url'];
31 - $this->pro_url = $arg['pro_url'];
32 - $this->shortcode = $arg['shortcode'];
33 -
34 -
35 -
36 - add_filter( 'plugin_action_links', array( $this, 'action_links' ), 10, 2 );
37 -
38 - add_action( 'admin_menu', array( $this, 'add_admin_page' ) );
39 -
40 - add_filter( 'admin_footer_text', array( $this, 'rate_us' ) );
41 -
42 - add_action( 'plugins_loaded', array( $this, 'plugin_check' ) );
43 -
44 -
45 - }
46 - public function add_admin_page() {
47 - $icon = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iNTEyLjAwMDAwMHB0IiBoZWlnaHQ9IjUxMi4wMDAwMDBwdCIgdmlld0JveD0iMCAwIDUxMi4wMDAwMDAgNTEyLjAwMDAwMCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgo8bWV0YWRhdGE+CkNyZWF0ZWQgYnkgcG90cmFjZSAxLjE1LCB3cml0dGVuIGJ5IFBldGVyIFNlbGluZ2VyIDIwMDEtMjAxNwo8L21ldGFkYXRhPgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCw1MTIuMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIgpmaWxsPSIjMDAwMDAwIiBzdHJva2U9Im5vbmUiPgo8cGF0aCBkPSJNMjQ4MyA1MTAwIGMtNzEgLTQzIC02OCAtMTggLTcxIC01ODUgbC00IC01MTAgLTc3NCAtNTUwIGMtNDI2IC0zMDIKLTc4OCAtNTYzIC04MDQgLTU4MCAtMTMwIC0xMzUgLTcxIC0zNjggMTA5IC00MzIgbDUxIC0xOCAwIC0xMjEyIDAgLTEyMTMgMjA1CjAgMjA1IDAgMCAxMzA5IDAgMTMwOSAzOCAyOSBjMjAgMTcgMjc5IDIwMSA1NzQgNDExIGw1MzcgMzgyIDU1NiAtMzkyIDU1NQotMzkzIDAgLTEzMjcgMCAtMTMyOCAyMDUgMCAyMDUgMCAwIDEyMTAgYzAgOTYwIDMgMTIxMSAxMyAxMjE0IDYgMiAzNSA5IDYyCjE1IDE4MiA0MiAyNjQgMjY2IDE1MiA0MTMgLTIyIDI5IC0yNjkgMjA5IC04MTkgNTk3IGwtNzg3IDU1NiAtMSA4OCAwIDg3IDQ4NQowIDQ4NSAwIC0xMzYgMjAxIC0xMzcgMjAxIDEzMiAxOTMgYzcyIDEwNyAxMzEgMTk2IDEzMSAxOTkgMCAzIC0yMTYgNiAtNDgwIDYKbC00ODAgMCAwIDIzIGMwIDg3IC0xMjcgMTQ2IC0yMDcgOTd6Ii8+CjxwYXRoIGQ9Ik0yMTM2IDI4MjggbC00MTggLTI3MSA1IC00NTYgYzQgLTQ3NSA2IC01MDIgNDkgLTU1NiA0OCAtNjEgMzAgLTYwCjc0NyAtNjMgNzIyIC0zIDc0MyAtMiA3OTcgNTIgNjEgNjEgNjQgODggNjMgNTg1IGwwIDQ0NiAtMzg2IDI1MCBjLTIxMiAxMzgKLTM5OCAyNTggLTQxMyAyNjcgbC0yNiAxOCAtNDE4IC0yNzJ6IG02MzIgLTM1MyBsMjAyIC0xMzAgMCAtMjI3IDAgLTIyOCAtNDE1CjAgLTQxNSAwIDAgMjI4IDAgMjI3IDIwMyAxMzIgYzExMSA3MyAyMDcgMTMyIDIxMyAxMzAgNiAtMSAxMDEgLTYwIDIxMiAtMTMyeiIvPgo8cGF0aCBkPSJNMjQ0NSAxMzQxIGMtMzA1IC00OSAtNTIxIC0yNTIgLTU3MCAtNTM1IC0xMSAtNjggLTE1IC0xNzEgLTE1IC00NDcKbDAgLTM1OSAyMTAgMCAyMTAgMCAwIDM2OCBjMCAzNjMgMCAzNjcgMjQgNDE3IDQxIDg5IDEyMiAxNDUgMjIzIDE1MyAxMTcgOQoyMTQgLTQxIDI2OCAtMTM5IGwzMCAtNTQgMyAtMzczIDMgLTM3MiAyMDQgMCAyMDUgMCAwIDM4OCBjMCA0MzQgLTIgNDQ5IC02OQo1ODcgLTg0IDE3MCAtMjQzIDI5NiAtNDQ2IDM1MSAtNjMgMTcgLTIxNSAyNSAtMjgwIDE1eiIvPgo8L2c+Cjwvc3ZnPgo=';
48 -
49 - if( !class_exists( 'Wow_Company' ) ) {
50 - add_menu_page( 'Wow Plugins', 'Wow Plugins', 'manage_options', 'wow-company', array( $this, 'admin_main_page' ), $icon );
51 - add_submenu_page( 'wow-company', 'About Wow Plugins', 'About', 'manage_options', 'wow-company' );
52 - add_submenu_page('wow-company', $this->plugin_name . ' version ' . $this->plugin_version, $this->plugin_menu, 'manage_options', $this->plugin_slug, array( $this, 'plugin_page' ) );
53 - }
54 - else {
55 - add_submenu_page('wow-company', $this->plugin_name . ' version ' . $this->plugin_version, $this->plugin_menu, 'manage_options', $this->plugin_slug, array( $this, 'plugin_page' ) );
56 - }
57 -
1 +<?php
2 +/**
3 + * Admin Class
4 + *
5 + * @package Wow_Plugin
6 + * @subpackage
7 + * @copyright Copyright (c) 2018, Dmytro Lobov
8 + * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9 + * @since 1.0
10 + */
11 +
12 +namespace wpcoder;
13 +
14 +if ( ! defined( 'ABSPATH' ) ) {
15 + exit;
16 +}
17 +
18 +class Wow_Admin_Class {
19 +
20 + private $arg;
21 +
22 + public function __construct( $arg ) {
23 + $this->plugin_name = $arg['plugin_name'];
24 + $this->plugin_menu = $arg['plugin_menu'];
25 + $this->plugin_home_url = $arg['plugin_home_url'];
26 + $this->plugin_version = $arg['plugin_version'];
27 + $this->plugin_file = $arg['plugin_file'];
28 + $this->plugin_slug = $arg['plugin_slug'];
29 + $this->plugin_dir = $arg['plugin_dir'];
30 + $this->plugin_url = $arg['plugin_url'];
31 + $this->plugin_pref = $arg['plugin_pref'];
32 + $this->author_url = $arg['author_url'];
33 + $this->pro_url = $arg['pro_url'];
34 + $this->shortcode = $arg['shortcode'];
35 +
36 +
37 + add_filter( 'plugin_action_links', array( $this, 'action_links' ), 10, 2 );
38 + add_action( 'admin_menu', array( $this, 'add_admin_page' ) );
39 + add_filter( 'admin_footer_text', array( $this, 'rate_us' ) );
40 + add_action( 'plugins_loaded', array( $this, 'plugin_check' ) );
41 + add_action( 'wp_ajax_wp_coder_message', array( $this, 'wow_message_callback' ) );
42 +
43 +
44 + }
45 +
46 + public function add_admin_page() {
47 + $icon =
48 + 'data:image/svg+xml;base64, PHN2ZyB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPldPVyBMT0dPPC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iNTAlIiB5MT0iMCUiIHgyPSI1MCUiIHkyPSIxMDAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGN0NDNUYiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0U4NkUyQyIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjUwJSIgeTE9IjAlIiB4Mj0iNTAlIiB5Mj0iMTAwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRjdDQzVGIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNFODZFMkMiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0iV09XLUxPR08iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMTIuMDAwMDAwLCAxMDcuNTI2NTIxKSIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiBzdHJva2Utd2lkdGg9IjM4Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTAuNDMzMDEyNzAyLDg2LjkyNjkxNTggTDEwMC40MzMwMTMsMjYwLjEzMTk5NyBNMTAwLjQzMzAxMyw4Ni45MjY5MTU4IEwyMDAuNDMzMDEzLDI2MC4xMzE5OTcgTTM1MS41ODU3OTEsNS45OTUyMDQzM2UtMTUgTDIwMi4yNTU3MDcsMjYwLjE5MzI0NyIgaWQ9IkNvbWJpbmVkLVNoYXBlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGQ9Ik0yNTYsNDU2IEMzNjYuNDU2OTUsNDU2IDQ1NiwzNjYuNDU2OTUgNDU2LDI1NiBDNDU2LDE0NS41NDMwNSAzNjYuNDU2OTUsNTYgMjU2LDU2IEMxNDUuNTQzMDUsNTYgNTYsMTQ1LjU0MzA1IDU2LDI1NiBDNTYsMzY2LjQ1Njk1IDE0NS41NDMwNSw0NTYgMjU2LDQ1NiBaIiBpZD0iT3ZhbCIgc3Ryb2tlPSJ1cmwoI2xpbmVhckdyYWRpZW50LTIpIiBzdHJva2Utd2lkdGg9IjI4IiBzdHJva2UtZGFzaGFycmF5PSIxMTU1LjUyLDk5OTk5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTYuMDAwMDAwLCAyNTYuMDAwMDAwKSByb3RhdGUoLTEzMi4wMDAwMDApIHRyYW5zbGF0ZSgtMjU2LjAwMDAwMCwgLTI1Ni4wMDAwMDApICI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4=';
49 +
50 + if ( ! class_exists( 'Wow_Company' ) ) {
51 + add_menu_page( 'Wow Plugins', 'Wow Plugins', 'manage_options', 'wow-company', array(
52 + $this,
53 + 'admin_main_page'
54 + ), $icon );
55 + add_submenu_page( 'wow-company', 'About Wow Plugins', 'About', 'manage_options', 'wow-company' );
56 + add_submenu_page( 'wow-company', $this->plugin_name . ' version ' . $this->plugin_version, $this->plugin_menu, 'manage_options', $this->plugin_slug, array(
57 + $this,
58 + 'plugin_page'
59 + ) );
60 + } else {
61 + add_submenu_page( 'wow-company', $this->plugin_name . ' version ' . $this->plugin_version, $this->plugin_menu, 'manage_options', $this->plugin_slug, array(
62 + $this,
63 + 'plugin_page'
64 + ) );
58 65 }
59 -
60 - public function admin_main_page() {
61 - require_once plugin_dir_path( __FILE__ ) . 'general/main.php';
66 +
67 + }
68 +
69 + public function admin_main_page() {
70 + require_once plugin_dir_path( __FILE__ ) . 'general/main.php';
71 + wp_enqueue_style( 'wow-page', plugin_dir_url(__FILE__) .'general/style.css');
72 + }
73 +
74 + public function plugin_page() {
75 + global $typenow;
76 + $typenow = $this->plugin_slug;
77 + require_once plugin_dir_path( __FILE__ ) . 'partials/main.php';
78 + self:: admin_style_script();
79 + }
80 +
81 + public function admin_style_script() {
82 + wp_enqueue_style( $this->plugin_slug . '-admin', $this->plugin_url . 'assets/css/admin.css', false, $this->plugin_version );
83 + wp_enqueue_style( $this->plugin_slug . '-style', $this->plugin_url . 'assets/css/style.css', false, $this->plugin_version );
84 +
85 + wp_enqueue_script( 'jquery-ui-tooltip' );
86 + wp_enqueue_media();
87 + wp_enqueue_script( 'code-editor' );
88 + wp_enqueue_style( 'code-editor' );
89 + wp_enqueue_script( 'htmlhint' );
90 + wp_enqueue_script( 'csslint' );
91 + wp_enqueue_script( 'jshint' );
92 +
93 + wp_enqueue_script( $this->plugin_slug . '-script', $this->plugin_url . 'assets/js/script.js', array( 'jquery' ), $this->plugin_version );
94 + wp_enqueue_script( $this->plugin_slug . '-codemirror', $this->plugin_url . 'assets/js/script-codemirror.js', array( 'code-editor' ), $this->plugin_version );
95 + wp_enqueue_script( $this->plugin_slug . '-admin', $this->plugin_url . 'assets/js/admin.js', array( 'jquery' ), $this->plugin_version );
96 +
97 + }
98 +
99 + public function action_links( $actions, $plugin_file ) {
100 + if ( false === strpos( $plugin_file, $this->plugin_file ) ) {
101 + return $actions;
62 102 }
63 -
64 - public function plugin_page() {
65 - global $typenow;
66 - $typenow = $this->plugin_slug;
67 - require_once plugin_dir_path( __FILE__ ) . 'partials/main.php';
68 - self:: admin_style_script();
69 - }
70 -
71 - public function admin_style_script() {
72 - wp_enqueue_style( $this->plugin_slug . '-admin', $this->plugin_url . 'assets/css/admin.css', false, $this->plugin_version );
73 - wp_enqueue_style( $this->plugin_slug . '-style', $this->plugin_url . 'assets/css/style.css', false, $this->plugin_version );
74 -
75 - wp_enqueue_script( 'jquery-ui-tooltip' );
76 - wp_enqueue_media ();
77 - wp_enqueue_script( 'code-editor' );
78 - wp_enqueue_style( 'code-editor' );
79 - wp_enqueue_script( 'htmlhint' );
80 - wp_enqueue_script( 'csslint' );
81 - wp_enqueue_script( 'jshint' );
82 -
83 -
84 - wp_enqueue_script( $this->plugin_slug . '-script', $this->plugin_url . 'assets/js/script.js', array('jquery'), $this->plugin_version );
85 - wp_enqueue_script( $this->plugin_slug . '-codemirror', $this->plugin_url . 'assets/js/script-codemirror.js', array('code-editor'), $this->plugin_version );
86 - wp_enqueue_script( $this->plugin_slug . '-admin', $this->plugin_url . 'assets/js/admin.js', array('jquery'), $this->plugin_version );
87 -
88 - }
89 -
90 - public function action_links( $actions, $plugin_file ) {
91 - if( false === strpos( $plugin_file, $this->plugin_file ) ) {
92 - return $actions;
93 - }
94 - $settings_link = '<a href="admin.php?page=' . $this->plugin_slug . '">' . __( 'Settings', $this->plugin_pref ) . '</a>';
95 - array_unshift( $actions, $settings_link );
96 - return $actions;
97 - }
98 -
99 - public function rate_us( $footer_text ) {
100 - global $typenow;
101 - if ( $typenow == $this->plugin_slug ) {
102 - $rate_text = sprintf( __( 'Thank you for using <a href="%1$s" target="_blank">' . $this->plugin_name . '</a>! Please <a href="%2$s" target="_blank">rate us on WordPress</a>', $this->plugin_pref ),
103 + $settings_link = '<a href="admin.php?page=' . $this->plugin_slug . '">' . __( 'Settings', $this->plugin_pref ) . '</a>';
104 + array_unshift( $actions, $settings_link );
105 +
106 + return $actions;
107 + }
108 +
109 + public function rate_us( $footer_text ) {
110 + global $typenow;
111 + if ( $typenow == $this->plugin_slug ) {
112 + $rate_text = sprintf( __( 'Thank you for using <a href="%1$s" target="_blank">' . $this->plugin_name . '</a>! Please <a href="%2$s" target="_blank">rate us on WordPress</a>', $this->plugin_pref ),
103 113 $this->plugin_home_url,
104 114 $this->plugin_home_url . 'reviews/?rate=5#new-post'
105 - );
106 - return str_replace( '</span>', '', $footer_text ) . ' | ' . $rate_text . '</span>';
107 - } else {
108 - return $footer_text;
109 - }
110 - }
111 -
112 - static function tooltip( $arg ) {
113 - $tooltip = '';
114 - foreach ( $arg as $key => $value ) {
115 - if( $key == 'title' ) {
116 - $tooltip .= $value . '<p/>';
117 - }
118 - elseif ( $key == 'ul' ) {
119 - $tooltip .= '<ul>';
120 - $arr = $value;
121 - foreach ( $arr as $val ) {
122 - $tooltip .= '<li>' . $val . '</li>';
123 - }
124 - $tooltip .= '</ul>';
125 - }
126 - else {
127 - $tooltip .= $value;
128 - }
129 - }
130 - $tooltip = "<span class='wow-help dashicons dashicons-editor-help' title='" . $tooltip . "'></span>";
131 - return $tooltip;
115 + );
116 +
117 + return str_replace( '</span>', '', $footer_text ) . ' | ' . $rate_text . '</span>';
118 + } else {
119 + return $footer_text;
132 120 }
133 -
134 - static function option( $arg ) {
135 - $id = isset( $arg['id'] ) ? $arg['id'] : null;
136 - $name = isset( $arg['name'] ) ? $arg['name'] : '';
137 - $type = isset( $arg['type'] ) ? $arg['type'] : '';
138 - $func = !empty( $arg['func'] ) ? ' onchange="'.$arg['func'].'();"' : '';
139 - $options = isset( $arg['option'] ) ? $arg['option'] : '';
140 - $val = $arg['val'];
141 - $separator = isset($arg['sep']) ? $arg['sep'] : '';
142 - // create radio fields
143 - if ($type == 'radio'){
144 - $option = '';
145 - foreach ($options as $key => $value){
146 - $select = ($key == $val) ? 'checked="checked"' : '';
147 - $option .= '<input name="param['.$name.']" type="radio" value="'.$key.'" id="wow_'.$id.'_'.$key.'" '.$select.$func.'><label for="wow_'.$id.'_'.$key.'"> '.$value.'</label>'.$separator;
121 + }
122 +
123 + static function tooltip( $arg ) {
124 + $tooltip = '';
125 + foreach ( $arg as $key => $value ) {
126 + if ( $key == 'title' ) {
127 + $tooltip .= $value . '<p/>';
128 + } elseif ( $key == 'ul' ) {
129 + $tooltip .= '<ul>';
130 + $arr = $value;
131 + foreach ( $arr as $val ) {
132 + $tooltip .= '<li>' . $val . '</li>';
148 133 }
149 - $field = $option;
134 + $tooltip .= '</ul>';
135 + } else {
136 + $tooltip .= $value;
150 137 }
151 -
152 - // create checkbox field
153 - elseif ($type == 'checkbox'){
154 - $select = !empty($val) ? 'checked="checked"' : '';
155 - $field = '<input type="checkbox" '.$select.$func.' id="wow_'.$id.'">'.$separator;
156 - $field .= '<input type="hidden" name="param['.$name.']" value="">';
138 + }
139 + $tooltip = "<span class='wow-help dashicons dashicons-editor-help' title='" . $tooltip . "'></span>";
140 +
141 + return $tooltip;
142 + }
143 +
144 + static function option( $arg ) {
145 + $id = isset( $arg['id'] ) ? $arg['id'] : null;
146 + $name = isset( $arg['name'] ) ? $arg['name'] : '';
147 + $type = isset( $arg['type'] ) ? $arg['type'] : '';
148 + $func = ! empty( $arg['func'] ) ? ' onchange="' . $arg['func'] . '();"' : '';
149 + $options = isset( $arg['option'] ) ? $arg['option'] : '';
150 + $val = $arg['val'];
151 + $separator = isset( $arg['sep'] ) ? $arg['sep'] : '';
152 + // create radio fields
153 + if ( $type == 'radio' ) {
154 + $option = '';
155 + foreach ( $options as $key => $value ) {
156 + $select = ( $key == $val ) ? 'checked="checked"' : '';
157 + $option .= '<input name="param[' . $name . ']" type="radio" value="' . $key . '" id="wow_' . $id . '_' . $key . '" ' . $select . $func . '><label for="wow_' . $id . '_' . $key . '"> ' . $value . '</label>' . $separator;
157 158 }
158 -
159 - // create text field
160 - elseif ($type == 'text'){
161 - $option = '';
162 - if ( is_array( $options ) ) {
163 - foreach ($options as $key => $value){
164 - $option .= ' ' . $key . '="' . $value . '"';
165 - }
166 - }
167 - $field = '<input name="param[' . $name . ']" type="text" value="' . $val . '" id="wow_' . $id . '"' . $func . $option .'>'.$separator;
159 + $field = $option;
160 + } // create checkbox field
161 + elseif ( $type == 'checkbox' ) {
162 + $select = ! empty( $val ) ? 'checked="checked"' : '';
163 + $field = '<input type="checkbox" ' . $select . $func . ' id="wow_' . $id . '">' . $separator;
164 + $field .= '<input type="hidden" name="param[' . $name . ']" value="">';
165 + } // create text field
166 + elseif ( $type == 'text' ) {
167 + $option = '';
168 + if ( is_array( $options ) ) {
169 + foreach ( $options as $key => $value ) {
170 + $option .= ' ' . $key . '="' . $value . '"';
171 + }
168 172 }
169 -
170 - // create number field
171 - elseif ($type == 'number'){
172 - $option = '';
173 - if ( is_array( $options ) ) {
174 - foreach ($options as $key => $value){
175 - $option .= ' ' . $key . '="' . $value . '"';
176 - }
173 + $field = '<input name="param[' . $name . ']" type="text" value="' . $val . '" id="wow_' . $id . '"' . $func . $option . '>' . $separator;
174 + } // create number field
175 + elseif ( $type == 'number' ) {
176 + $option = '';
177 + if ( is_array( $options ) ) {
178 + foreach ( $options as $key => $value ) {
179 + $option .= ' ' . $key . '="' . $value . '"';
177 180 }
178 - $field = '<input name="param['.$name.']" type="number" value="'.$val.'" id="wow_'.$id.'"' . $func . $option . '>'.$separator;
179 181 }
180 -
181 - // create color field
182 - elseif ($type == 'color'){
183 - $field = '<input name="param['.$name.']" type="text" value="'.$val.'" class="wp-color-picker-field" data-alpha="true" id="wow_'.$id.'">'.$separator;
182 + $field = '<input name="param[' . $name . ']" type="number" value="' . $val . '" id="wow_' . $id . '"' . $func . $option . '>' . $separator;
183 + } // create color field
184 + elseif ( $type == 'color' ) {
185 + $field = '<input name="param[' . $name . ']" type="text" value="' . $val . '" class="wp-color-picker-field" data-alpha="true" id="wow_' . $id . '">' . $separator;
186 + } // create select field
187 + elseif ( $type == 'select' ) {
188 + $option = '';
189 + foreach ( $options as $key => $value ) {
190 + $select = ( $key == $val ) ? 'selected="selected"' : '';
191 + $option .= '<option value="' . $key . '" ' . $select . '>' . $value . '</option>';
184 192 }
185 -
186 - // create select field
187 - elseif ($type == 'select'){
188 - $option = '';
189 - foreach ($options as $key => $value){
190 - $select = ($key == $val) ? 'selected="selected"' : '';
191 - $option .= '<option value="'.$key.'" '.$select.'>'.$value.'</option>';
192 - }
193 - $field = '<select name="param['.$name.']"'.$func.' id="wow_'.$id.'">';
194 - $field .= $option;
195 - $field .= '</select>' . $separator;
196 - }
197 -
198 - // create editor field
199 - elseif ($type == 'editor'){
200 - $settings = array(
193 + $field = '<select name="param[' . $name . ']"' . $func . ' id="wow_' . $id . '">';
194 + $field .= $option;
195 + $field .= '</select>' . $separator;
196 + } // create editor field
197 + elseif ( $type == 'editor' ) {
198 + $settings = array(
201 199 'wpautop' => 0,
202 - 'textarea_name' => 'param['.$name.']',
200 + 'textarea_name' => 'param[' . $name . ']',
203 201 'textarea_rows' => 15,
204 - );
205 - $field = wp_editor( $val, $id, $settings );
206 - }
207 -
208 - // create textarea field
209 - elseif ($type == 'textarea'){
210 - $field = '<textarea name="param['.$name.']" id="wow_'.$id.'">'.$val.'</textarea>'.$separator;
202 + );
203 + $field = wp_editor( $val, $id, $settings );
204 + } // create textarea field
205 + elseif ( $type == 'textarea' ) {
206 + $field = '<textarea name="param[' . $name . ']" id="wow_' . $id . '">' . esc_html( $val ) . '</textarea>' . $separator;
207 +
208 + }
209 +
210 + return $field;
211 + }
212 +
213 + public function plugin_check() {
214 + if ( isset( $_POST[ $this->plugin_slug . '_nonce' ] ) ) {
215 + if ( ! empty( $_POST ) && wp_verify_nonce( $_POST[ $this->plugin_slug . '_nonce' ], $this->plugin_slug . '_action' ) && current_user_can( 'manage_options' ) ) {
216 + self:: save_data();
211 217 }
212 -
213 - return $field;
214 218 }
215 -
216 - public function plugin_check() {
217 - if ( isset( $_POST[$this->plugin_slug . '_nonce'] ) ) {
218 - if ( !empty( $_POST ) && wp_verify_nonce( $_POST[$this->plugin_slug . '_nonce'], $this->plugin_slug . '_action' ) && current_user_can( 'manage_options' ) ) {
219 - self:: save_data();
220 - }
219 + }
220 +
221 + public function save_data() {
222 + global $wpdb;
223 + $save_class = __NAMESPACE__ . '\\Wow_DB_Update';
224 + $objItem = new $save_class( $this->plugin_dir, $this->plugin_slug );
225 + $add = ( isset( $_REQUEST['add'] ) ) ? absint( $_REQUEST['add'] ) : '';
226 + $data = ( isset( $_REQUEST['data'] ) ) ? sanitize_text_field( $_REQUEST['data'] ) : '';
227 + $page = sanitize_text_field( $_REQUEST['page'] );
228 + $tool_id = absint( $_POST['tool_id'] );
229 + $info = array();
230 + $info['id'] = $tool_id;
231 + $info['title'] = sanitize_text_field( $_POST['title'] );
232 + $info['param'] = $_POST['param'];
233 + if ( isset( $_POST['submit'] ) ) {
234 + if ( absint( $_POST['add'] ) == '1' ) {
235 + $objItem->addNewItem( $data, $info );
236 + header( 'Location:admin.php?page=' . $page . '&tab=add_new&act=update&id=' . $tool_id . '&info=saved' );
237 + exit;
238 + } elseif ( absint( $_POST['add'] ) == '2' ) {
239 + $objItem->updItem( $data, $info );
240 + header( 'Location:admin.php?page=' . $page . '&tab=add_new&act=update&id=' . $tool_id . '&info=update' );
241 + exit;
221 242 }
222 243 }
223 -
224 - public function save_data(){
225 - global $wpdb;
226 - $save_class = __NAMESPACE__ . '\\Wow_DB_Update';
227 - $objItem = new $save_class( $this->plugin_dir, $this->plugin_slug );
228 - $add = ( isset( $_REQUEST['add'] ) ) ? absint( $_REQUEST['add'] ) : '';
229 - $data = ( isset( $_REQUEST['data'] ) ) ? sanitize_text_field( $_REQUEST['data'] ) : '';
230 - $page = sanitize_text_field( $_REQUEST['page'] );
231 - $tool_id = absint( $_POST['tool_id'] );
232 - $info = array();
233 - $info['id'] = $tool_id;
234 - $info['title'] = sanitize_text_field( $_POST['title'] );
235 - $info['param'] = $_POST['param'];
236 - if ( isset( $_POST['submit'] ) ) {
237 - if ( absint( $_POST['add'] ) == '1') {
238 - $objItem->addNewItem( $data, $info );
239 - header( 'Location:admin.php?page=' . $page . '&tab=add_new&act=update&id=' . $tool_id . '&info=saved' );
240 - exit;
241 - }
242 - elseif ( absint($_POST['add'] ) == '2' ) {
243 - $objItem->updItem( $data, $info );
244 - header( 'Location:admin.php?page=' . $page . '&tab=add_new&act=update&id=' . $tool_id . '&info=update' );
245 - exit;
246 - }
247 - }
248 - }
249 - }
244 + }
245 +
246 + public function wow_message_callback() {
247 + update_option( 'wp_coder_message', 'read' );
248 + wp_die();
249 + }
250 +}