PluginProbe
Post Grid Gutenberg Blocks – PostX / 2.6.3
Post Grid Gutenberg Blocks – PostX v2.6.3
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.3, at classes/Options.php

249 lines 11.5 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_init', array( $this, 'handle_external_redirects' ) );
24 add_action( 'admin_menu', array( $this, 'menu_page_callback' ) );
25 add_action( 'in_admin_header', array($this, 'remove_all_notices') );
26 add_filter( 'plugin_row_meta', array( $this, 'plugin_settings_meta' ), 10, 2 );
27 add_filter( 'plugin_action_links_'.ULTP_BASE, array( $this, 'plugin_action_links_callback' ) );
28 }
29
30
31 /**
32 * Plugin Page Menu Add
33 *
34 * @since v.1.0.0
35 * @return ARRAY
36 */
37 public function plugin_settings_meta( $links, $file ) {
38 if ( strpos( $file, 'ultimate-post.php' ) !== false ) {
39 $new_links = array(
40 'ultp_docs' => '<a href="https://docs.wpxpo.com/" target="_blank">'.esc_html__('Docs', 'ultimate-post').'</a>',
41 'ultp_tutorial' => '<a href="https://www.youtube.com/watch?v=JZxIflYKOuM&list=PLPidnGLSR4qcAwVwIjMo1OVaqXqjUp_s4" target="_blank">'.esc_html__('Tutorials', 'ultimate-post').'</a>',
42 'ultp_support' => '<a href="'.esc_url(ultimate_post()->get_premium_link( 'https://www.wpxpo.com/contact/', 'postx_plugins_support')).'" target="_blank">'.esc_html__('Support', 'ultimate-post').'</a>'
43 );
44 $links = array_merge( $links, $new_links );
45 }
46 return $links;
47 }
48
49
50 /**
51 * Settings Pro Update Link
52 *
53 * @since v.1.0.0
54 * @return ARRAY
55 */
56 public function plugin_action_links_callback( $links ) {
57 $upgrade_link = array();
58 $setting_link = array();
59 if(!defined('ULTP_PRO_VER')){
60 $upgrade_link = array(
61 'ultp_pro' => '<a href="'.esc_url(ultimate_post()->get_premium_link('', 'postx_plugins_pro')).'" target="_blank"><span style="color: #e83838; font-weight: bold;">'.esc_html__('Go Pro', 'ultimate-post').'</span></a>'
62 );
63 }
64 $setting_link['ultp_settings'] = '<a href="'. esc_url(menu_page_url('ultp-option-settings', false)) .'">'. esc_html__('Settings', 'wp-megamenu') .'</a>';
65 return array_merge( $setting_link, $links, $upgrade_link);
66 }
67
68
69 /**
70 * Admin Menu Option Page
71 *
72 * @since v.1.0.0
73 * @return NULL
74 */
75 public static function menu_page_callback() {
76
77 $ultp_menu_icon = 'data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MCA0OC4zIj4NCiAgPGRlZnM+DQogICAgPHN0eWxlPg0KICAgICAgLmNscy0xIHsNCiAgICAgICAgZmlsbDogI2E3YWFhZDsNCiAgICAgIH0NCiAgICA8L3N0eWxlPg0KICA8L2RlZnM+DQogIDx0aXRsZT5Qb3N0eCBJY29uIGNtcHJzc2QgU1ZHPC90aXRsZT4NCiAgPGc+DQogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguODEsOXY4LjlIOC4xOUE2LjE5LDYuMTksMCwwLDAsMiwyMy43N2EzLjE2LDMuMTYsMCwwLDEtMi0yLjk0VjRBMy4xNiwzLjE2LDAsMCwxLDMuMTUuODVIMjBhMy4xOCwzLjE4LDAsMCwxLDMsMi4zMUE2LjIxLDYuMjEsMCwwLDAsMTguODEsOVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTAuODUpIi8+DQogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDUsOVYyM0gzMS4xYTYuMjMsNi4yMywwLDAsMC00LjkzLTQuOTNBNS41NCw1LjU0LDAsMCwwLDI1LDE3Ljk0SDIxLjg1VjlBMy4xNSwzLjE1LDAsMCwxLDIzLjEzLDYuNWEzLjEyLDMuMTIsMCwwLDEsMS40My0uNThsLjA5LDBINDEuODNBMy4xNCwzLjE0LDAsMCwxLDQ1LDlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0wLjg1KSIvPg0KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUwLDI5LjE3VjQ2YTMuMTYsMy4xNiwwLDAsMS0zLjE1LDMuMTVIMzBhMy4xOCwzLjE4LDAsMCwxLTMtMi4zMUE2LjIyLDYuMjIsMCwwLDAsMzEuMjEsNDFWMjZINDYuODVhMy4zLDMuMywwLDAsMSwxLjE0LjIxQTMuMTYsMy4xNiwwLDAsMSw1MCwyOS4xN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTAuODUpIi8+DQogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjguMTYsMjQuMTNWNDFhMy4xMywzLjEzLDAsMCwxLTEuMjksMi41NCwzLDMsMCwwLDEtMS40Ny41OGwwLDBIOC4xOUEzLjE1LDMuMTUsMCwwLDEsNSw0MVYyNGEzLjE3LDMuMTcsMCwwLDEsMy4xNS0zSDI1YTMuMTIsMy4xMiwwLDAsMSwxLjE0LjIyLDMuMjQsMy4yNCwwLDAsMSwxLjksMi4xQTMuNjMsMy42MywwLDAsMSwyOC4xNiwyNC4xM1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTAuODUpIi8+DQogIDwvZz4NCjwvc3ZnPg0K';
78 add_menu_page(
79 esc_html__( 'PostX', 'ultimate-post' ),
80 esc_html__( 'PostX', 'ultimate-post' ),
81 'manage_options',
82 'ultp-settings',
83 array(self::class, 'tab_page_content'),
84 $ultp_menu_icon,
85 58.5
86 );
87
88 add_submenu_page(
89 'ultp-settings',
90 esc_html__( 'Getting Started', 'ultimate-post' ),
91 esc_html__( 'Getting Started', 'ultimate-post' ),
92 'manage_options',
93 'ultp-settings'
94 );
95
96 if (ultimate_post()->get_setting('ultp_templates') == 'true') {
97 add_submenu_page(
98 'ultp-settings',
99 esc_html__( 'Saved Templates', 'ultimate-post' ),
100 esc_html__( 'Saved Templates', 'ultimate-post' ),
101 'manage_options',
102 'edit.php?post_type=ultp_templates',
103 ''
104 );
105 }
106
107 if (function_exists('ultimate_post_pro')) {
108 if (ultimate_post()->get_setting('ultp_builder') == 'true') {
109 add_submenu_page(
110 'ultp-settings',
111 esc_html__( 'Builder', 'ultimate-post' ),
112 esc_html__( 'Builder', 'ultimate-post' ),
113 'manage_options',
114 'edit.php?post_type=ultp_builder'
115 );
116 }
117 }
118
119 $menu_lists = array(
120 array(
121 'name' => esc_html__( 'Addons', 'ultimate-post' ),
122 'slug' => 'addons'
123 ),
124 array(
125 'name' => esc_html__( 'Blocks', 'ultimate-post' ),
126 'slug' => 'blocks'
127 ),
128 array(
129 'name' => esc_html__( 'Settings', 'ultimate-post' ),
130 'slug' => 'settings'
131 ),
132 array(
133 'name' => esc_html__( 'Tutorials', 'ultimate-post' ),
134 'slug' => 'tutorials'
135 ),
136 );
137 foreach ($menu_lists as $key => $val) {
138 add_submenu_page(
139 'ultp-settings',
140 $val['name'],
141 $val['name'],
142 'manage_options',
143 'ultp-settings#' . $val['slug'],
144 array(__CLASS__, 'render_main')
145 );
146 }
147
148 if (!ultimate_post()->is_lc_active()) {
149 add_submenu_page(
150 'ultp-settings',
151 '',
152 '<span class="dashicons dashicons-star-filled" style="font-size: 17px"></span> ' . esc_html__( 'Go Pro', 'ultimate-post' ),
153 'manage_options',
154 'go_postx_pro',
155 array(self::class, 'handle_external_redirects')
156 );
157 }
158 }
159
160
161 public function handle_external_redirects() {
162 if ( empty( $_GET['page'] ) ) {
163 return;
164 }
165
166 if ( 'go_postx_pro' === $_GET['page'] ) {
167 wp_redirect( esc_url(ultimate_post()->get_premium_link('', 'postx_dashboard_menu')) );
168 die();
169 }
170 }
171
172 public static function tab_page_content() {
173 $current = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
174 if ($current) {
175 $pro_active = ultimate_post()->is_lc_active();
176 echo '<div class="ultp-settings-tab-wrap">';
177 if (!$pro_active) {
178 echo '<div class="ultp-setting-hellobar">';
179 echo '<span class="dashicons dashicons-bell ultp-ring"></span>'.wp_kses(__('4th July Happy Independence Day : <strong>up to 35% Off</strong> Unlock all premium features by', 'ultimate-post'),'post').'<a href="'. esc_url(ultimate_post()->get_premium_link('', 'postx_dashboard_hallo')).'">'.esc_html__('Upgrading to Pro ➤', 'ultimate-post').'</a>';
180 echo '</div>';
181 }
182 echo '<div class="ultp-setting-header">';
183 echo '<div class="ultp-setting-logo">';
184 echo '<img class="ultp-setting-header-img" loading="lazy" src="'.esc_url(ULTP_URL.'assets/img/logo-option.svg').'" alt="'.esc_html__('PostX', 'ultimate-post').'">';
185 echo '<span>v'. esc_html(ULTP_VER).'</span>';
186 echo '</div>';
187 echo '<ul class="ultp-settings-tab">';
188 echo '<li class="current"><a href="#home">'.esc_html__('Getting Started', 'ultimate-post').'</a></li>';
189 echo '<li><a href="#addons">'.esc_html__('Addons', 'ultimate-post').'</a></li>';
190 echo '<li><a href="#blocks">'.esc_html__('Blocks', 'ultimate-post').'</a></li>';
191 if( function_exists('ultimate_post_pro') ) {
192 if ($pro_active && ultimate_post()->get_setting('ultp_builder') != 'false') {
193 echo '<li><a href="'.esc_url(admin_url( 'edit.php?post_type=ultp_builder' )).'">'.esc_html__('Builder', 'ultimate-post').'</a></li>';
194 }
195 }
196 echo '<li><a href="#settings">'.esc_html__('Settings', 'ultimate-post').'</a></li>';
197 if (ultimate_post()->get_setting('ultp_templates') != 'false') {
198 echo '<li><a href="'.esc_url(admin_url( 'edit.php?post_type=ultp_templates' )).'">'.esc_html__('Save Template', 'ultimate-post').'</a></li>';
199 }
200 echo '<li><a href="#tutorials">'.esc_html__('Tutorials', 'ultimate-post').'</a></li>';
201 if (!ultimate_post()->is_lc_active()) {
202 echo '<li><a class="ultp-upgrade-tab" href="'.esc_url(ultimate_post()->get_premium_link('', 'postx_dashboard_top_menu')).'">'.esc_html__('Upgrade Pro ➤', 'ultimate-post').'</a></li>';
203 }
204 echo '</ul>';
205 echo '</div>';
206 echo '<ul class="ultp-settings-content">';
207 echo '<li class="current" data-tab="#home">';
208 require_once ULTP_PATH . 'classes/options/Getting_Started.php';
209 echo '</li>';
210 echo '<li data-tab="#addons">';
211 require_once ULTP_PATH . 'classes/options/Addons.php';
212 new \ULTP\Option_Addons();
213 echo '</li>';
214 echo '<li data-tab="#blocks">';
215 require_once ULTP_PATH . 'classes/options/Blocks.php';
216 new \ULTP\Option_Blocks();
217 echo '</li>';
218 echo '<li data-tab="#settings">';
219 require_once ULTP_PATH . 'classes/options/Settings.php';
220 $obj = new \ULTP\Option_Settings();
221 $obj->create_admin_page();
222 echo '</li>';
223 echo '<li data-tab="#tutorials">';
224 require_once ULTP_PATH . 'classes/options/Tutorials.php';
225 echo '</li>';
226 echo '<ul>';
227 echo '</div>';
228 }
229 }
230 /**
231 * Remove All Notification From Menu Page
232 *
233 * @since v.1.0.0
234 * @return NULL
235 */
236 public static function remove_all_notices() {
237 if ( isset($_GET['page']) ) {
238 $page = sanitize_key($_GET['page']);
239 if ( $page === 'ultp-settings' ||
240 $page === 'ultp-license' ) {
241 remove_all_actions( 'admin_notices' );
242 remove_all_actions( 'all_admin_notices' );
243 }
244 }
245 }
246 }
247
248
249