PluginProbe
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP / 1.2.39
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP v1.2.39
1.2.72 1.2.71 1.2.70 1.2.69 1.2.68 1.2.67 1.2.66 1.2.65 1.2.64 1.2.63 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 All 172 releases
userswp / includes / libraries / class-ayecode-addons.php

class-ayecode-addons.php in UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP 1.2.39, at includes/libraries/class-ayecode-addons.php

292 lines 7.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Exit if accessed directly
3 if ( ! defined( 'ABSPATH' ) ) exit;
4 if(!class_exists('Ayecode_Addons')) {
5
6 abstract class Ayecode_Addons
7 {
8
9 /**
10 * Get things started
11 *
12 * @access public
13 */
14 public function __construct()
15 {
16 }
17
18 /**
19 * Get the extensions page tabs.
20 *
21 * @return array of tabs.
22 */
23 public function get_tabs()
24 {
25 return array();
26 }
27
28 /**
29 * Get sections for the addons screen
30 *
31 * @return array of objects
32 */
33 public function get_sections()
34 {
35
36 return array(); //@todo we prob don't need these yet.
37 }
38
39 /**
40 * Get section content for the addons screen.
41 *
42 * @param string $section_id
43 *
44 * @return array
45 */
46 public function get_section_data($section_id)
47 {
48 return array();
49 }
50
51 /**
52 * Get section for the addons screen.
53 *
54 * @param string $section_id
55 *
56 * @return object|bool
57 */
58 public function get_tab($tab_id)
59 {
60 $tabs = $this->get_tabs();
61 if (isset($tabs[$tab_id])) {
62 return $tabs[$tab_id];
63 }
64 return false;
65 }
66
67 /**
68 * Get section for the addons screen.
69 *
70 * @param string $section_id
71 *
72 * @return object|bool
73 */
74 public function get_section($section_id)
75 {
76 $sections = $this->get_sections();
77 if (isset($sections[$section_id])) {
78 return $sections[$section_id];
79 }
80 return false;
81 }
82
83 /**
84 * Outputs a button.
85 *
86 * @param object $addon
87 */
88 public function output_button($addon)
89 {
90 // override this function to output action button for each add on
91 }
92
93 /**
94 * Handles output of the addons page in admin.
95 */
96 public function output()
97 {
98 // override this function to output extensions screen
99 }
100
101 /**
102 * Check if a plugin is installed (only works if WPEU is installed and active)
103 *
104 * @param $id
105 *
106 * @return bool
107 */
108 public function is_plugin_installed($id, $addon = '')
109 {
110 $all_plugins = get_plugins();
111
112 $installed = false;
113
114 foreach ($all_plugins as $p_slug => $plugin) {
115
116 if (isset($plugin['Update ID']) && $id == $plugin['Update ID']) {
117 $installed = true;
118 } elseif (!empty($addon)) {
119
120 }
121
122 }
123
124 return $installed;
125 }
126
127 public function install_plugin_install_status($addon)
128 {
129
130 // Default to a "new" plugin
131 $status = 'install';
132 $url = isset($addon->info->link) ? $addon->info->link : false;
133 $file = false;
134
135 $slug = isset($addon->info->slug) ? $addon->info->slug : '';
136 if (!empty($addon->licensing->edd_slug)) {
137 $slug = $addon->licensing->edd_slug;
138 }
139 $id = !empty($addon->info->id) ? absint($addon->info->id) : '';
140 $version = isset($addon->licensing->version) ? $addon->licensing->version : '';
141
142 // get the slug
143
144 $all_plugins = get_plugins();
145 foreach ($all_plugins as $p_slug => $plugin) {
146
147 if ($id && isset($plugin['Update ID']) && $id == $plugin['Update ID']) {
148 $status = 'installed';
149 $file = $p_slug;
150 break;
151 } elseif (!empty($addon->licensing->edd_slug)) {
152 if (strpos($p_slug, $addon->licensing->edd_slug . '/') === 0) {
153 $status = 'installed';
154 $file = $p_slug;
155 break;
156 }
157 }
158 }
159
160 return compact('status', 'url', 'version', 'file');
161 }
162
163 /**
164 * Check if a theme is installed.
165 *
166 * @param $id
167 *
168 * @return bool
169 */
170 public function is_theme_installed($addon)
171 {
172 $all_themes = wp_get_themes();
173
174 $slug = isset($addon->info->slug) ? $addon->info->slug : '';
175 if (!empty($addon->licensing->edd_slug)) {
176 $slug = $addon->licensing->edd_slug;
177 }
178
179
180 foreach ($all_themes as $key => $theme) {
181 if ($slug == $key) {
182 return true;
183 }
184 }
185
186 return false;
187 }
188
189 /**
190 * Check if a theme is active.
191 *
192 * @param $addon
193 *
194 * @return bool
195 */
196 public function is_theme_active($addon)
197 {
198 $theme = wp_get_theme();
199
200 //manuall checks
201 if ($addon->info->title == "Whoop!") {
202 $addon->info->title = "Whoop";
203 }
204
205
206 if ($addon->info->title == $theme->get('Name')) {
207 return true;
208 }
209
210 return false;
211 }
212
213 /**
214 * Get theme activation url.
215 *
216 * @param $addon
217 *
218 * @return bool
219 */
220 public function get_theme_activation_url($addon)
221 {
222 $themes = wp_prepare_themes_for_js();
223
224 //manuall checks
225 if ($addon->info->title == "Whoop!") {
226 $addon->info->title = "Whoop";
227 }
228
229
230 foreach ($themes as $theme) {
231 if ($addon->info->title == $theme['name']) {
232 return $theme['actions']['activate'];
233 }
234 }
235
236 return false;
237 }
238
239 /**
240 * Get theme install url.
241 *
242 * @param $addon
243 *
244 * @return bool
245 */
246 public function get_theme_install_url($slug)
247 {
248
249 $install_url = add_query_arg(array(
250 'action' => 'install-theme',
251 'theme' => urlencode($slug),
252 ), admin_url('update.php'));
253 $install_url = wp_nonce_url($install_url, 'install-theme_' . $slug);
254
255 return $install_url;
256 }
257
258 /**
259 * A list of recommended wp.org plugins.
260 * @return array
261 */
262 public function get_recommend_wp_plugins()
263 {
264 return array();
265 }
266
267 /**
268 * Format the recommended list of wp.org plugins for our extensions section output.
269 *
270 * @return array
271 */
272 public function get_recommend_wp_plugins_edd_formatted()
273 {
274 $formatted = array();
275 $plugins = $this->get_recommend_wp_plugins();
276
277 foreach ($plugins as $plugin) {
278 $product = new stdClass();
279 $product->info = new stdClass();
280 $product->info->id = '';
281 $product->info->slug = isset($plugin['slug']) ? $plugin['slug'] : '';
282 $product->info->title = isset($plugin['name']) ? $plugin['name'] : '';
283 $product->info->excerpt = isset($plugin['desc']) ? $plugin['desc'] : '';
284 $product->info->link = isset($plugin['url']) ? $plugin['url'] : '';
285 $product->info->thumbnail = isset($plugin['thumbnail']) ? $plugin['thumbnail'] : "https://ps.w.org/" . $plugin['slug'] . "/assets/banner-772x250.png";
286 $formatted[] = $product;
287 }
288
289 return $formatted;
290 }
291 }
292 }