PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.2.2
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.2.2
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 4.1.17 All 164 releases
adminify / Inc / functions.php

functions.php in Adminify – White Label, Admin Menu Editor, Login Customizer 4.0.2.2, at Inc/functions.php

205 lines 5.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Check given value empty or not
5 *
6 * @param [type] $value
7 *
8 * @return void
9 */
10 function check_is_empty($value, $default = '')
11 {
12 $value = !empty(esc_attr($value)) ? $value : $default;
13 return $value;
14 }
15
16
17 // WP Adminify function for get an option
18 if (!function_exists('jltwp_adminify_get_option')) {
19 function jltwp_adminify_get_option($option = '', $default = null)
20 {
21 $options = [];
22 // if (is_multisite() && is_site_wide('wp-adminify/wp-adminify.php')) {
23 $options = (array) \WPAdminify\Inc\Admin\AdminSettings::get_instance()->get();
24 // }
25 return (isset($options[$option])) ? $options[$option] : $default;
26 }
27 }
28
29 function is_site_wide($plugin)
30 {
31 if (!is_multisite()) {
32 return false;
33 }
34
35 $plugins = get_site_option('active_sitewide_plugins');
36 if (isset($plugins[$plugin])) {
37 return true;
38 }
39
40 return false;
41 }
42
43
44
45
46 /**
47 * Check if the request is coming from an iframe.
48 *
49 * @param None
50 * @throws None
51 * @return bool
52 */
53 function is_iframe()
54 {
55 return isset($_SERVER["HTTP_SEC_FETCH_DEST"]) && strtolower($_SERVER["HTTP_SEC_FETCH_DEST"]) === "iframe";
56 // $isIframe = isset($_SERVER["HTTP_SEC_FETCH_DEST"]) && strtolower($_SERVER["HTTP_SEC_FETCH_DEST"]) === "iframe";
57 // if ( $isIframe ) return true;
58 // if ( isset($_GET['adminify-iframe']) ) return true;
59 // return false;
60 }
61
62 /**
63 * Load a template file.
64 *
65 * @param string $template_name The name of the template file to load.
66 * @throws None
67 * @return void
68 */
69 function adminify_load_template($template_name)
70 {
71 require_once WP_ADMINIFY_PATH . 'Inc/Admin/Frames/Templates/' . $template_name;
72 }
73
74 function maybe_network_admin_url($url) {
75 if ( is_network_admin() ) {
76 return network_admin_url($url);
77 }
78 return admin_url($url);
79 }
80
81 /**
82 * User Roles Slug from Names
83 *
84 * @param [type] $user_roles
85 *
86 * @return void
87 */
88 function jltwp_adminify_menu_roles($user_roles = [])
89 {
90 $disabled_for_roles = [];
91 if (!empty( $user_roles)) {
92 foreach ($user_roles as $usr_key) {
93 $disabled_for_roles[] = strtolower(str_replace(' ', '_', $usr_key));
94 }
95 }
96 return $disabled_for_roles;
97 }
98
99
100 function jltwp_adminify_build_menu($menu, $submenu, $menu_options) {
101
102 $admin_menu = [];
103
104 foreach ($menu as $key => $item) {
105
106 if (is_array($menu_options)) {
107 if (isset($menu_options[$item[2]])) {
108 $optiongroup = $menu_options[$item[2]];
109
110 if (!empty($optiongroup['hidden_for'])) {
111
112 $disabled_for = jltwp_adminify_menu_roles($optiongroup['hidden_for']);
113
114 if (\WPAdminify\Inc\Utils::restricted_for($disabled_for)) {
115 continue;
116 }
117 }
118 }
119 }
120
121
122 $menu_slug = $item[2];
123 $menu_title = $item[0];
124 $menu_name = isset($item[5]) ? $item[5] : '';
125 $menu_icon = isset($item[6]) ? $item[6] : '';
126
127 $menu_hook = get_plugin_page_hook($menu_slug, 'admin.php');
128 $menu_file = $menu_slug;
129 $pos = strpos($menu_file, '?');
130
131 if (false !== $pos) {
132 $menu_file = substr($menu_file, 0, $pos);
133 }
134
135 $url = '';
136
137 $arrParsedUrl = parse_url($menu_slug);
138 if (!empty($arrParsedUrl['scheme'])) {
139 if ($arrParsedUrl['scheme'] === "http" || $arrParsedUrl['scheme'] === "https") {
140 $url = $menu_slug;
141 }
142 } else {
143 $url = ( ! empty($menu_hook) || ( ( 'index.php' !== $menu_slug ) && file_exists(WP_PLUGIN_DIR . "/$menu_file") && ! file_exists(ABSPATH . "/wp-admin/$menu_file") ) )
144 ? maybe_network_admin_url('admin.php?page=' . $menu_slug)
145 : maybe_network_admin_url($menu_slug);
146 }
147
148 $admin_menu[$menu_slug] = [
149 'key' => $menu_slug,
150 'title' => $menu_title,
151 'url' => $url,
152 'name' => $menu_name,
153 'icon' => $menu_icon,
154 'children' => [],
155 'separator' => !empty( $item['separator'] ) ? $item['separator'] : ''
156 ];
157
158 if (!empty($submenu[$menu_slug])) {
159 foreach ($submenu[$menu_slug] as $sub_key => $sub_item) {
160 $sub_slug = $sub_item[2];
161 $sub_title = $sub_item[0];
162 $sub_name = isset($sub_item[5]) ? $sub_item[5] : '';
163 $sub_icon = isset($sub_item[6]) ? $sub_item[6] : '';
164
165 $sub_menu_hook = get_plugin_page_hook($sub_slug, $menu_slug);
166 $sub_file = $sub_slug;
167 $pos = strpos($sub_file, '?');
168
169 if (false !== $pos) {
170 $sub_file = substr($sub_file, 0, $pos);
171 }
172
173
174 $sub_url = '';
175
176 $arrParsedUrl = parse_url($sub_slug);
177 if (!empty($arrParsedUrl['scheme'])) {
178 if ($arrParsedUrl['scheme'] === "http" || $arrParsedUrl['scheme'] === "https") {
179 $sub_url = $sub_slug;
180 }
181 } else {
182 $sub_url = ( ! empty($sub_menu_hook) || ( ( 'index.php' !== $sub_slug ) && file_exists(WP_PLUGIN_DIR . "/$sub_file") && ! file_exists(ABSPATH . "/wp-admin/$sub_file") ) )
183 ? maybe_network_admin_url('admin.php?page=' . $sub_slug)
184 : maybe_network_admin_url($sub_slug);
185 }
186
187 // Wrong Menu/Submenu Links
188 // Support for White Label Plugin Url
189 if ('white-label' === $sub_slug) {
190 $sub_url = admin_url('options-general.php?page=white-label');
191 }
192
193 $admin_menu[$menu_slug]['children'][$sub_slug] = [
194 'key' => $sub_slug,
195 'title' => $sub_title,
196 'url' => $sub_url,
197 'name' => $sub_name,
198 'icon' => $sub_icon,
199 ];
200 }
201 }
202 }
203 return $admin_menu;
204 }
205