PluginProbe
Post Grid Gutenberg Blocks – PostX / 2.6.0
Post Grid Gutenberg Blocks – PostX v2.6.0
5.0.39 5.0.38 5.0.37 5.0.36 5.0.35 5.0.34 5.0.33 5.0.32 5.0.31 5.0.30 5.0.29 5.0.28 5.0.27 5.0.26 5.0.25 5.0.23 5.0.24 5.0.22 5.0.21 5.0.20 5.0.19 5.0.18 5.0.17 2.1.1 2.1.2 All 237 releases
ultimate-post / classes / Options.php

Options.php in Post Grid Gutenberg Blocks – PostX 2.6.0, at classes/Options.php

190 lines 8.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Options Action.
4 *
5 * @package ULTP\Notice
6 * @since v.1.0.0
7 */
8 namespace ULTP;
9
10 defined('ABSPATH') || exit;
11
12 /**
13 * Options class.
14 */
15 class Options{
16
17 /**
18 * Setup class.
19 *
20 * @since v.1.0.0
21 */
22 public function __construct() {
23 add_action( 'admin_menu', array( $this, 'menu_page_callback' ) );
24 add_action( 'in_admin_header', array($this, 'remove_all_notices') );
25 add_filter( 'plugin_row_meta', array( $this, 'plugin_settings_meta' ), 10, 2 );
26 add_filter( 'plugin_action_links_'.ULTP_BASE, array( $this, 'plugin_action_links_callback' ) );
27 }
28
29
30 /**
31 * Plugin Page Menu Add
32 *
33 * @since v.1.0.0
34 * @return ARRAY
35 */
36 public function plugin_settings_meta( $links, $file ) {
37 if ( strpos( $file, 'ultimate-post.php' ) !== false ) {
38 $new_links = array(
39 'ultp_docs' => '<a href="https://docs.wpxpo.com/" target="_blank">'.esc_html__('Docs', 'ultimate-post').'</a>',
40 'ultp_tutorial' => '<a href="https://www.youtube.com/watch?v=JZxIflYKOuM&list=PLPidnGLSR4qcAwVwIjMo1OVaqXqjUp_s4" target="_blank">'.esc_html__('Tutorials', 'ultimate-post').'</a>',
41 'ultp_support' => '<a href="'.ultimate_post()->get_premium_link( 'https://www.wpxpo.com/contact/' ).'" target="_blank">'.esc_html__('Support', 'ultimate-post').'</a>'
42 );
43 $links = array_merge( $links, $new_links );
44 }
45 return $links;
46 }
47
48
49 /**
50 * Settings Pro Update Link
51 *
52 * @since v.1.0.0
53 * @return ARRAY
54 */
55 public function plugin_action_links_callback( $links ) {
56 $upgrade_link = array();
57 $setting_link = array();
58 if(!defined('ULTP_PRO_VER')){
59 $upgrade_link = array(
60 'ultp_pro' => '<a href="'.ultimate_post()->get_premium_link().'" target="_blank"><span style="color: #e83838; font-weight: bold;">'.esc_html__('Go Pro', 'ultimate-post').'</span></a>'
61 );
62 }
63 $setting_link['ultp_settings'] = '<a href="'. esc_url(menu_page_url('ultp-option-settings', false)) .'">'. esc_html__('Settings', 'wp-megamenu') .'</a>';
64 return array_merge( $setting_link, $links, $upgrade_link);
65 }
66
67
68 /**
69 * Admin Menu Option Page
70 *
71 * @since v.1.0.0
72 * @return NULL
73 */
74 public static function menu_page_callback() {
75
76 $ultp_menu_icon = 'data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MCA0OC4zIj4NCiAgPGRlZnM+DQogICAgPHN0eWxlPg0KICAgICAgLmNscy0xIHsNCiAgICAgICAgZmlsbDogI2E3YWFhZDsNCiAgICAgIH0NCiAgICA8L3N0eWxlPg0KICA8L2RlZnM+DQogIDx0aXRsZT5Qb3N0eCBJY29uIGNtcHJzc2QgU1ZHPC90aXRsZT4NCiAgPGc+DQogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguODEsOXY4LjlIOC4xOUE2LjE5LDYuMTksMCwwLDAsMiwyMy43N2EzLjE2LDMuMTYsMCwwLDEtMi0yLjk0VjRBMy4xNiwzLjE2LDAsMCwxLDMuMTUuODVIMjBhMy4xOCwzLjE4LDAsMCwxLDMsMi4zMUE2LjIxLDYuMjEsMCwwLDAsMTguODEsOVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTAuODUpIi8+DQogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDUsOVYyM0gzMS4xYTYuMjMsNi4yMywwLDAsMC00LjkzLTQuOTNBNS41NCw1LjU0LDAsMCwwLDI1LDE3Ljk0SDIxLjg1VjlBMy4xNSwzLjE1LDAsMCwxLDIzLjEzLDYuNWEzLjEyLDMuMTIsMCwwLDEsMS40My0uNThsLjA5LDBINDEuODNBMy4xNCwzLjE0LDAsMCwxLDQ1LDlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0wLjg1KSIvPg0KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUwLDI5LjE3VjQ2YTMuMTYsMy4xNiwwLDAsMS0zLjE1LDMuMTVIMzBhMy4xOCwzLjE4LDAsMCwxLTMtMi4zMUE2LjIyLDYuMjIsMCwwLDAsMzEuMjEsNDFWMjZINDYuODVhMy4zLDMuMywwLDAsMSwxLjE0LjIxQTMuMTYsMy4xNiwwLDAsMSw1MCwyOS4xN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTAuODUpIi8+DQogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjguMTYsMjQuMTNWNDFhMy4xMywzLjEzLDAsMCwxLTEuMjksMi41NCwzLDMsMCwwLDEtMS40Ny41OGwwLDBIOC4xOUEzLjE1LDMuMTUsMCwwLDEsNSw0MVYyNGEzLjE3LDMuMTcsMCwwLDEsMy4xNS0zSDI1YTMuMTIsMy4xMiwwLDAsMSwxLjE0LjIyLDMuMjQsMy4yNCwwLDAsMSwxLjksMi4xQTMuNjMsMy42MywwLDAsMSwyOC4xNiwyNC4xM1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTAuODUpIi8+DQogIDwvZz4NCjwvc3ZnPg0K';
77 add_menu_page(
78 esc_html__( 'PostX', 'ultimate-post' ),
79 esc_html__( 'PostX', 'ultimate-post' ),
80 'manage_options',
81 'ultp-settings',
82 array(self::class, 'tab_page_content'),
83 $ultp_menu_icon
84 );
85
86 add_submenu_page(
87 'ultp-settings',
88 esc_html__( 'Dashboard', 'ultimate-post' ),
89 esc_html__( 'Dashboard', 'ultimate-post' ),
90 'manage_options',
91 'ultp-settings'
92 );
93
94 if (ultimate_post()->get_setting('ultp_templates') == 'true') {
95 add_submenu_page(
96 'ultp-settings',
97 esc_html__( 'Saved Templates', 'ultimate-post' ),
98 esc_html__( 'Saved Templates', 'ultimate-post' ),
99 'manage_options',
100 'edit.php?post_type=ultp_templates',
101 ''
102 );
103 }
104
105
106 if (function_exists('ultimate_post_pro')) {
107 if (ultimate_post()->get_setting('ultp_builder') == 'true') {
108 add_submenu_page(
109 'ultp-settings',
110 esc_html__( 'Builder', 'ultimate-post' ),
111 esc_html__( 'Builder', 'ultimate-post' ),
112 'manage_options',
113 'edit.php?post_type=ultp_builder'
114 );
115 }
116 }
117 }
118
119 public static function tab_page_content() {
120 $current = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
121 if ($current) {
122 $pro_active = ultimate_post()->is_lc_active();
123
124 echo '<div class="ultp-settings-tab-wrap">';
125 echo '<ul class="ultp-settings-tab">';
126 echo '<li class="active"><a href="#home"><span class="dashicons dashicons-admin-home"></span>'.esc_html__('Getting Started', 'ultimate-post').'</a></li>';
127 echo '<li><a href="#addons"><span class="dashicons dashicons-admin-settings"></span>'.esc_html__('Addons', 'ultimate-post').'</a></li>';
128 echo '<li><a href="#blocks"><span class="dashicons dashicons-screenoptions"></span>'.esc_html__('Blocks', 'ultimate-post').'</a></li>';
129 if( function_exists('ultimate_post_pro') ) {
130 if (ultimate_post()->get_setting('ultp_builder') != 'false') {
131 echo '<li><a href="'.admin_url( 'edit.php?post_type=ultp_builder' ).'"><span class="dashicons dashicons-hammer"></span>'.esc_html__('Builder', 'ultimate-post').'</a></li>';
132 }
133 }
134 echo '<li><a href="#settings"><span class="dashicons dashicons-admin-generic"></span>'.esc_html__('Settings', 'ultimate-post').'</a></li>';
135 echo '<li><a href="#tutorials"><span class="dashicons dashicons-format-video"></span>'.esc_html__('Tutorials', 'ultimate-post').'</a></li>';
136 if (!$pro_active) {
137 echo '<li><a href="#pro" class="ultp-tab-pro"><span class="dashicons dashicons-star-filled"></span>'.esc_html__('Pro', 'ultimate-post').'</a></li>';
138 }
139 echo '</ul>';
140 echo '<ul class="ultp-settings-content">';
141 echo '<li class="active" data-tab="#home">';
142 require_once ULTP_PATH . 'classes/options/Getting_Started.php';
143 echo '</li>';
144 echo '<li data-tab="#addons">';
145 require_once ULTP_PATH . 'classes/options/Addons.php';
146 new \ULTP\Option_Addons();
147 echo '</li>';
148 echo '<li data-tab="#blocks">';
149 require_once ULTP_PATH . 'classes/options/Blocks.php';
150 new \ULTP\Option_Blocks();
151 echo '</li>';
152 echo '<li data-tab="#settings">';
153 require_once ULTP_PATH . 'classes/options/Settings.php';
154 $obj = new \ULTP\Option_Settings();
155 $obj->create_admin_page();
156 echo '</li>';
157 echo '<li data-tab="#tutorials">';
158 require_once ULTP_PATH . 'classes/options/Tutorials.php';
159 echo '</li>';
160 if (!$pro_active) {
161 echo '<li data-tab="#pro">';
162 require_once ULTP_PATH . 'classes/options/Pro.php';
163 echo '</li>';
164 }
165 echo '<ul>';
166
167 echo '</div>';
168 }
169 }
170
171 /**
172 * Remove All Notification From Menu Page
173 *
174 * @since v.1.0.0
175 * @return NULL
176 */
177 public static function remove_all_notices() {
178 if ( isset($_GET['page']) ) {
179 $page = sanitize_key($_GET['page']);
180 if ( $page === 'ultp-settings' ||
181 $page === 'ultp-license' ) {
182 remove_all_actions( 'admin_notices' );
183 remove_all_actions( 'all_admin_notices' );
184 }
185 }
186 }
187 }
188
189
190