PluginProbe
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP / 1.0.13
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP v1.0.13
1.2.73 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 All 173 releases
userswp / includes / class-userswp.php

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

589 lines 28.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * The file that defines the core plugin class
4 *
5 * A class definition that includes attributes and functions used across both the
6 * public-facing side of the site and the admin area.
7 *
8 * @since 1.0.0
9 * @author GeoDirectory Team <info@wpgeodirectory.com>
10 */
11 class UsersWP {
12
13 /**
14 * The loader that's responsible for maintaining and registering all hooks that power
15 * the plugin.
16 *
17 * @since 1.0.0
18 * @access protected
19 * @var UsersWP_Loader $loader Maintains and registers all hooks for the plugin.
20 */
21 protected $loader;
22
23
24 /**
25 * The current version of the plugin.
26 *
27 * @since 1.0.0
28 * @access protected
29 * @var string $version The current version of the plugin.
30 */
31 protected $version;
32
33 protected $profile;
34 protected $forms;
35 protected $i18n;
36 protected $notices;
37 protected $templates;
38 protected $meta;
39 protected $pages;
40 protected $files;
41 protected $shortcodes;
42 protected $assets;
43 protected $admin;
44 protected $admin_settings;
45 protected $menus;
46 protected $form_builder;
47 protected $ajax;
48 protected $tools;
49 protected $tables;
50
51 /**
52 * Define the core functionality of the plugin.
53 *
54 * Set the plugin name and the plugin version that can be used throughout the plugin.
55 * Load the dependencies, define the locale, and set the hooks for the admin area and
56 * the public-facing side of the site.
57 *
58 * @since 1.0.0
59 */
60 public function __construct() {
61
62 $this->plugin_name = USERSWP_NAME;
63 $this->version = USERSWP_VERSION;
64
65
66 $this->load_dependencies();
67 $this->loader = new UsersWP_Loader();
68 $this->meta = new UsersWP_Meta();
69 $this->pages = new UsersWP_Pages();
70 $this->profile = new UsersWP_Profile();
71 $this->forms = new UsersWP_Forms();
72 $this->templates = new UsersWP_Templates();
73 $this->i18n = new UsersWP_i18n();
74 $this->notices = new UsersWP_Notices();
75 $this->assets = new UsersWP_Public();
76 $this->form_builder = new UsersWP_Form_Builder();
77 $this->menus = new UsersWP_Menus();
78 $this->tools = new UsersWP_Tools();
79 $this->tables = new UsersWP_Tables();
80
81 $this->shortcodes = new UsersWP_Shortcodes($this->templates);
82 $this->admin_settings = new UsersWP_Admin_Settings($this->form_builder);
83 $this->admin = new UsersWP_Admin($this->admin_settings);
84 $this->ajax = new UsersWP_Ajax($this->form_builder);
85 $this->files = new UsersWP_Files();
86
87
88 // actions and filters
89 $this->load_assets_actions_and_filters($this->assets);
90 $this->load_meta_actions_and_filters($this->meta);
91 $this->load_ajax_actions_and_filters($this->ajax);
92 $this->load_files_actions_and_filters($this->files);
93 $this->load_forms_actions_and_filters($this->forms);
94 $this->load_i18n_actions_and_filters($this->i18n);
95 $this->load_notices_actions_and_filters($this->notices);
96 $this->load_pages_actions_and_filters($this->pages);
97 $this->load_profile_actions_and_filters($this->profile);
98 $this->load_shortcodes_actions_and_filters($this->shortcodes);
99 $this->load_tables_actions_and_filters($this->tables);
100 $this->load_templates_actions_and_filters($this->templates);
101 $this->load_tools_actions_and_filters($this->tools);
102
103 //admin
104 $this->load_form_builder_actions_and_filters($this->form_builder);
105 $this->load_menus_actions_and_filters($this->menus);
106 $this->load_admin_actions_and_filters($this->admin);
107 $this->load_admin_settings_actions_and_filters($this->admin_settings);
108
109 }
110
111
112
113
114 public function load_assets_actions_and_filters($instance) {
115 add_action( 'wp_enqueue_scripts', array($instance, 'enqueue_styles') );
116 add_action( 'wp_enqueue_scripts', array($instance, 'enqueue_scripts') );
117 }
118
119 public function load_meta_actions_and_filters($instance) {
120 add_action('user_register', array($instance, 'sync_usermeta'), 10, 1);
121 add_action('delete_user', array($instance, 'delete_usermeta_for_user'), 10, 1);
122 add_action('remove_user_from_blog', array($instance, 'remove_user_from_blog'), 10, 1);
123 add_action('wp_login', array($instance, 'save_user_ip_on_login') ,10,2);
124 add_filter('uwp_before_extra_fields_save', array($instance, 'save_user_ip_on_register'), 10, 3);
125 add_filter('uwp_update_usermeta', array($instance, 'modify_privacy_value_on_update'), 10, 4);
126 add_filter('uwp_get_usermeta', array($instance, 'modify_privacy_value_on_get'), 10, 5);
127 add_filter('uwp_update_usermeta', array($instance, 'modify_datepicker_value_on_update'), 10, 3);
128 add_filter('uwp_get_usermeta', array($instance, 'modify_datepicker_value_on_get'), 10, 5);
129 add_filter('user_row_actions', array($instance, 'uwp_user_row_actions'), 10, 2);
130 add_action('bulk_actions-users', array($instance, 'uwp_users_bulk_actions'));
131 add_action('handle_bulk_actions-users', array($instance, 'uwp_handle_users_bulk_actions'), 10, 3);
132 add_filter('init', array($instance, 'uwp_process_user_actions'));
133 add_action('admin_notices', array($instance, 'uwp_show_update_messages'));
134 }
135
136 public function load_ajax_actions_and_filters($instance) {
137 add_action('wp_ajax_uwp_ajax_action', array($instance, 'handler'));
138 }
139
140 public function load_files_actions_and_filters($instance) {
141 if($instance->uwp_doing_upload()){
142 add_filter( 'wp_handle_upload_prefilter', array($instance, 'uwp_wp_media_restrict_file_types') );
143 }
144 add_filter('uwp_get_max_upload_size', array($instance, 'uwp_modify_get_max_upload_size'), 10, 2);
145 }
146
147 public function load_forms_actions_and_filters($instance) {
148 // general
149 add_action('init', array($instance, 'init_notices'), 1);
150 add_action('init', array($instance, 'handler'));
151 add_action('init', array($instance, 'uwp_privacy_submit_handler'));
152 add_action('uwp_template_display_notices', array($instance, 'display_notices'), 10, 1);
153 add_action('wp_ajax_uwp_upload_file_remove', array($instance, 'uwp_upload_file_remove'));
154 //User search form
155 add_action('uwp_users_page_search_form_inner', array($instance, 'uwp_users_search_form_text_field'), 10, 1);
156 add_action('uwp_users_page_search_form_inner', array($instance, 'uwp_users_search_form_submit'), 50, 1);
157 add_action('personal_options_update', array($instance, 'update_profile_extra_admin_edit'), 10, 1);
158 add_action('edit_user_profile_update', array($instance, 'update_profile_extra_admin_edit'), 10, 1);
159 add_action('user_edit_form_tag', array($instance, 'add_multipart_to_admin_edit_form'));
160 add_action('uwp_template_form_title_after', array($instance, 'uwp_display_username_in_account'), 10, 1);
161
162
163 // Forms
164 add_filter('uwp_form_input_html_datepicker', array($instance, 'uwp_form_input_datepicker'), 10, 4);
165 add_filter('uwp_form_input_html_time', array($instance, 'uwp_form_input_time'), 10, 4);
166 add_filter('uwp_form_input_html_select', array($instance, 'uwp_form_input_select'), 10, 4);
167 add_filter('uwp_form_input_html_multiselect', array($instance, 'uwp_form_input_multiselect'), 10, 4);
168 add_filter('uwp_form_input_html_text', array($instance, 'uwp_form_input_text'), 10, 4);
169 add_filter('uwp_form_input_html_textarea', array($instance, 'uwp_form_input_textarea'), 10, 4);
170 add_filter('uwp_form_input_html_fieldset', array($instance, 'uwp_form_input_fieldset'), 10, 4);
171 add_filter('uwp_form_input_html_file', array($instance, 'uwp_form_input_file'), 10, 4);
172 add_filter('uwp_form_input_html_checkbox', array($instance, 'uwp_form_input_checkbox'), 10, 4);
173 add_filter('uwp_form_input_html_radio', array($instance, 'uwp_form_input_radio'), 10, 4);
174 add_filter('uwp_form_input_html_url', array($instance, 'uwp_form_input_url'), 10, 4);
175 add_filter('uwp_form_input_html_email', array($instance, 'uwp_form_input_email'), 10, 4);
176 add_filter('uwp_form_input_html_password', array($instance, 'uwp_form_input_password'), 10, 4);
177 // Country select
178 add_filter('uwp_form_input_html_select_country', array($instance, 'uwp_form_input_select_country'), 10, 4);
179 add_filter('uwp_forms_check_for_send_mail_errors', array($instance, 'uwp_forms_check_for_send_mail_errors'), 10, 3);
180 add_filter('uwp_form_input_email_uwp_account_email_after', array($instance, 'uwp_register_confirm_email_field'), 10, 4);
181 add_filter('uwp_form_input_password_uwp_account_password_after', array($instance, 'uwp_register_confirm_password_field'), 10, 4);
182
183 // Emails
184 add_filter('uwp_send_mail_subject', array($instance, 'init_mail_subject'), 10, 2);
185 add_filter('uwp_send_mail_message', array($instance, 'init_mail_content'), 10, 2);
186 add_filter('uwp_send_mail_extras', array($instance, 'init_mail_extras'), 10, 3);
187
188 add_filter('uwp_send_admin_mail_subject', array($instance, 'init_admin_mail_subject'), 10, 2);
189 add_filter('uwp_send_admin_mail_message', array($instance, 'init_admin_mail_content'), 10, 2);
190 add_filter('uwp_send_admin_mail_extras', array($instance, 'init_admin_mail_extras'), 10, 3);
191
192 }
193
194 public function load_i18n_actions_and_filters($instance) {
195 add_action( 'init', array($instance, 'load_plugin_textdomain'));
196 }
197
198 public function load_notices_actions_and_filters($instance) {
199 add_action('uwp_template_display_notices', array($instance, 'display_registration_disabled_notice'));
200 add_action('uwp_template_display_notices', array($instance, 'form_notice_by_key'));
201 add_action( 'admin_notices', array( $instance, 'show_admin_notices' ) );
202 add_action( 'admin_notices', array($instance, 'uwp_admin_notices') );
203 }
204
205 public function load_pages_actions_and_filters($instance) {
206 add_action( 'wpmu_new_blog', array($instance, 'wpmu_generate_default_pages_on_new_site'), 10, 6 );
207 }
208
209 public function load_profile_actions_and_filters($instance) {
210 add_action( 'template_redirect', array($instance, 'uwp_redirect_author_page') , 10 , 2 );
211 //profile page
212 add_filter('query_vars', array($instance, 'profile_query_vars'), 10, 1 );
213 add_action('init', array($instance, 'rewrite_profile_link') , 10, 1 );
214 add_filter( 'uwp_profile_link', array($instance, 'get_profile_link'), 10, 2 );
215 add_filter( 'edit_profile_url', array($instance, 'uwp_modify_admin_bar_edit_profile_url'), 10, 3);
216 add_filter( 'the_title', array($instance, 'modify_profile_page_title'), 10, 2 );
217 remove_all_filters('get_avatar');
218 add_filter( 'get_avatar', array($instance, 'uwp_modify_get_avatar') , 1 , 6 );
219 add_filter( 'get_comment_author_link', array($instance, 'uwp_get_comment_author_link') , 10 , 2 );
220 add_action( 'uwp_profile_header', array($instance, 'get_profile_header'), 10, 1 );
221 add_action( 'uwp_users_profile_header', array($instance, 'get_profile_header'), 10, 1 );
222 add_action( 'uwp_profile_title', array($instance, 'get_profile_title'), 10, 1 );
223 //add_action( 'uwp_profile_bio', array($instance, 'get_profile_bio'), 10, 1 );
224 add_action( 'uwp_profile_social', array($instance, 'get_profile_social'), 10, 1 );
225
226 //Fields as tabs
227 add_action( 'uwp_profile_tabs', array($instance, 'uwp_extra_fields_as_tabs'), 10, 2 );
228
229 // Popup and crop functions
230 add_filter( 'ajax_query_attachments_args', array($instance, 'uwp_restrict_attachment_display') );
231
232 add_action( 'uwp_handle_file_upload_error_checks', array($instance, 'uwp_handle_file_upload_error_checks'), 10, 4 );
233 add_action( 'wp_ajax_uwp_avatar_banner_upload', array($instance, 'uwp_ajax_avatar_banner_upload') );
234 //add_action( 'wp_ajax_uwp_ajax_image_crop_popup', array($instance, 'uwp_ajax_image_crop_popup') );
235 add_action( 'wp_ajax_uwp_ajax_image_crop_popup_form', array($instance, 'uwp_ajax_image_crop_popup_form') );
236 add_action( 'wp_head', array($instance, 'uwp_define_ajaxurl') );
237 add_action( 'uwp_profile_header', array($instance, 'uwp_image_crop_init'), 10, 1 );
238 add_action( 'uwp_admin_profile_edit', array($instance, 'uwp_image_crop_init'), 10, 1 );
239
240 // Profile Tabs
241 add_action( 'uwp_profile_content', array($instance, 'get_profile_tabs_content'), 10, 1 );
242 add_action( 'uwp_profile_more_info_tab_content', array($instance, 'get_profile_more_info'), 10, 1);
243 add_action( 'uwp_profile_posts_tab_content', array($instance, 'get_profile_posts'), 10, 1);
244 add_action( 'uwp_profile_comments_tab_content', array($instance, 'get_profile_comments'), 10, 1);
245 add_action( 'uwp_profile_tab_content', array($instance, 'uwp_extra_fields_as_tab_values'), 10, 2 );
246
247 // Profile Pagination
248 add_action( 'uwp_profile_pagination', array($instance, 'get_profile_pagination'));
249
250 // Users
251 add_action( 'uwp_users_search', array($instance, 'uwp_users_search'));
252 add_action( 'uwp_users_list', array($instance, 'uwp_users_list'));
253 add_action( 'uwp_users_extra', array($instance, 'get_users_extra'));
254 add_action( 'uwp_profile_bio', array($instance, 'get_profile_side_extra'));
255
256
257 // User, allow subscribers to upload profile and banner pictures
258 add_filter( 'plupload_default_params', array($instance, 'add_uwp_plupload_param'), 10, 1 );
259 add_filter( 'user_has_cap', array($instance, 'allow_all_users_profile_uploads'), 10, 4 );
260 }
261
262 public function load_shortcodes_actions_and_filters($instance) {
263 add_shortcode( 'uwp_register', array($instance, 'register'));
264 add_shortcode( 'uwp_login', array($instance, 'login'));
265 add_shortcode( 'uwp_forgot', array($instance, 'forgot'));
266 add_shortcode( 'uwp_change', array($instance, 'change'));
267 add_shortcode( 'uwp_reset', array($instance, 'reset'));
268 add_shortcode( 'uwp_account', array($instance, 'account'));
269 add_shortcode( 'uwp_profile', array($instance, 'profile'));
270 add_shortcode( 'uwp_users', array($instance, 'users'));
271 }
272
273 public function load_tables_actions_and_filters($instance) {
274 add_filter( 'wpmu_drop_tables', array($instance, 'drop_tables_on_delete_blog'));
275 }
276
277 public function load_templates_actions_and_filters($instance) {
278
279
280
281 add_action( 'template_redirect', array($instance, 'change_default_password_redirect') );
282 add_action( 'uwp_template_fields', array($instance, 'uwp_template_fields'), 10, 1 );
283 add_action( 'uwp_account_form_display', array($instance, 'uwp_account_edit_form_display'), 10, 1 );
284 add_action( 'wp_logout', array($instance, 'logout_redirect'));
285 add_action( 'init', array($instance, 'wp_login_redirect'));
286 add_action( 'admin_init', array($instance, 'uwp_activation_redirect'));
287 // Redirect functions
288 add_action( 'template_redirect', array($instance, 'profile_redirect'), 10);
289 add_action( 'template_redirect', array($instance, 'access_checks'), 20);
290 // Admin user edit page
291 add_action( 'edit_user_profile', array($instance, 'get_profile_extra_admin_edit'), 10, 1 );
292 add_action( 'show_user_profile', array($instance, 'get_profile_extra_admin_edit'), 10, 1 );
293
294
295 add_filter( 'wp_setup_nav_menu_item', array($instance, 'uwp_setup_nav_menu_item'), 10, 1 );
296 add_filter( 'the_content', array($instance, 'uwp_author_page_content'), 10, 1 );
297 add_filter( 'body_class', array($instance, 'uwp_add_body_class'), 10, 1 );
298
299 // filter the login url
300 add_filter( 'login_url', array($instance, 'wp_login_url'), 10, 3 );
301 }
302
303 public function load_tools_actions_and_filters($instance) {
304 add_action('admin_init', array($instance, 'uwp_tools_process_dummy_users'));
305 add_action('uwp_admin_sub_menus', array($instance, 'uwp_add_admin_tools_sub_menu'), 100, 1);
306 add_action('uwp_tools_settings_main_tab_content', array($instance, 'uwp_tools_main_tab_content'));
307 add_action('wp_ajax_uwp_process_diagnosis', array($instance, 'uwp_process_diagnosis_ajax'));
308 }
309
310 public function load_form_builder_actions_and_filters($instance) {
311 // Actions
312 add_action('admin_init', array($instance, 'uwp_form_builder_dummy_fields'));
313 add_action('uwp_manage_available_fields_predefined', array($instance, 'uwp_manage_available_fields_predefined'));
314 add_action('uwp_manage_available_fields_custom', array($instance, 'uwp_manage_available_fields_custom'));
315 add_action('uwp_manage_available_fields', array($instance, 'uwp_manage_available_fields'));
316 add_action('uwp_manage_selected_fields', array($instance, 'uwp_manage_selected_fields'));
317 add_action('uwp_admin_extra_custom_fields', array($instance, 'uwp_advance_admin_custom_fields'), 10, 2);
318 add_action('uwp_manage_available_fields', array($instance, 'uwp_manage_register_available_fields'), 10, 1);
319 add_action('uwp_manage_selected_fields', array($instance, 'uwp_manage_register_selected_fields'), 10, 1);
320 add_action('wp_ajax_uwp_ajax_register_action', array($instance, 'uwp_register_ajax_handler'));
321
322
323 // Filters
324 add_filter('uwp_builder_extra_fields_multiselect', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
325 add_filter('uwp_builder_extra_fields_select', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
326 add_filter('uwp_builder_extra_fields_radio', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
327 add_filter('uwp_builder_extra_fields_datepicker', array($instance, 'uwp_builder_extra_fields_datepicker'), 10, 4);
328 add_filter('uwp_builder_extra_fields_password', array($instance, 'uwp_builder_extra_fields_password'), 10, 4);
329 add_filter('uwp_builder_extra_fields_email', array($instance, 'uwp_builder_extra_fields_email'), 10, 4);
330 add_filter('uwp_builder_extra_fields_file', array($instance, 'uwp_builder_extra_fields_file'), 10, 4);
331 add_filter('uwp_builder_data_type_text', array($instance, 'uwp_builder_data_type_text'), 10, 4);
332 add_filter('uwp_form_builder_available_fields_head', array($instance, 'uwp_register_available_fields_head'), 10, 2);
333 add_filter('uwp_form_builder_available_fields_note', array($instance, 'uwp_register_available_fields_note'), 10, 2);
334 add_filter('uwp_form_builder_selected_fields_head', array($instance, 'uwp_register_selected_fields_head'), 10, 2);
335 add_filter('uwp_form_builder_selected_fields_note', array($instance, 'uwp_register_selected_fields_note'), 10, 2);
336 add_filter('uwp_register_fields', array($instance, 'uwp_register_extra_fields'), 10, 2);
337 // htmlvar not needed for taxonomy
338 add_filter('uwp_builder_htmlvar_name_taxonomy',array($instance, 'uwp_return_empty_string'),10,4);
339 // default_value not needed for textarea, html, file, fieldset
340 add_filter('uwp_builder_default_value_textarea',array($instance, 'uwp_return_empty_string'),10,4);
341 add_filter('uwp_builder_default_value_html',array($instance, 'uwp_return_empty_string'),10,4);
342 add_filter('uwp_builder_default_value_file',array($instance, 'uwp_return_empty_string'),10,4);
343 add_filter('uwp_builder_default_value_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
344 // is_required not needed for fieldset
345 add_filter('uwp_builder_is_required_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
346 add_filter('uwp_builder_required_msg_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
347 // field_icon not needed for fieldset
348 add_filter('uwp_builder_css_class_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
349 }
350
351 public function load_menus_actions_and_filters($instance) {
352 add_action( 'load-nav-menus.php', array($instance, 'users_wp_admin_menu_metabox') );
353 }
354
355 public function load_admin_actions_and_filters($instance) {
356 add_action( 'admin_enqueue_scripts', array($instance, 'enqueue_styles') );
357 add_action( 'admin_enqueue_scripts', array($instance, 'enqueue_scripts') );
358 add_action( 'admin_menu', array($instance, 'setup_admin_menus') );
359 add_action('admin_head', array($instance, 'uwp_admin_only_css'));
360 }
361
362 public function load_admin_settings_actions_and_filters($instance) {
363 $instance->init_settings();
364
365 add_action( 'admin_init', array($instance, 'uwp_register_settings') );
366 //register settings
367 add_action( 'userswp_settings_main_tab_content', array($instance, 'get_general_content') );
368 add_action( 'userswp_settings_register_tab_content', array($instance, 'generic_display_form') );
369 add_action( 'userswp_settings_login_tab_content', array($instance, 'generic_display_form') );
370 add_action( 'userswp_settings_account_tab_content', array($instance, 'generic_display_form') );
371 add_action( 'userswp_settings_profile_tab_content', array($instance, 'generic_display_form') );
372 add_action( 'userswp_settings_users_tab_content', array($instance, 'generic_display_form') );
373 add_action( 'userswp_settings_change_tab_content', array($instance, 'generic_display_form') );
374 add_action( 'userswp_settings_uninstall_tab_content', array($instance, 'generic_display_form') );
375
376 add_action( 'uwp_form_builder_settings_main_tab_content_before', array($instance, 'get_form_builder_tabs') );
377 add_action( 'uwp_form_builder_settings_main_tab_content', array($instance, 'get_form_builder_content') );
378 add_filter( 'uwp_display_form_title', array($instance, 'display_form_title'), 10, 3 );
379 add_action( 'uwp_notifications_settings_main_tab_content', array($instance, 'get_notifications_content') );
380 add_action( 'uwp_notifications_settings_admin_tab_content', array($instance, 'generic_display_form') );
381 }
382
383
384
385 /**
386 * Run the loader to execute all of the hooks with WordPress.
387 *
388 * @since 1.0.0
389 */
390 public function run() {
391 $this->loader->run();
392 }
393
394 /**
395 * The name of the plugin used to uniquely identify it within the context of
396 * WordPress and to define internationalization functionality.
397 *
398 * @since 1.0.0
399 * @return string The name of the plugin.
400 */
401 public function get_plugin_name() {
402 return $this->plugin_name;
403 }
404
405 /**
406 * The reference to the class that orchestrates the hooks with the plugin.
407 *
408 * @since 1.0.0
409 * @return UsersWP_Loader Orchestrates the hooks of the plugin.
410 */
411 public function get_loader() {
412 return $this->loader;
413 }
414
415 /**
416 * Retrieve the version number of the plugin.
417 *
418 * @since 1.0.0
419 * @return string The version number of the plugin.
420 */
421 public function get_version() {
422 return $this->version;
423 }
424
425 /**
426 * Load the required dependencies for this plugin.
427 *
428 * @since 1.0.0
429 * @access private
430 */
431 private function load_dependencies() {
432 if ( ! function_exists( 'is_plugin_active' ) ) {
433 /**
434 * Load all plugin functions from WordPress.
435 */
436 require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
437 }
438
439 /**
440 * The class responsible for orchestrating the actions and filters of the
441 * core plugin.
442 */
443 require_once dirname(dirname( __FILE__ )) . '/includes/class-loader.php';
444
445 /**
446 * The class responsible for defining internationalization functionality
447 * of the plugin.
448 */
449 require_once dirname(dirname( __FILE__ )) . '/includes/class-i18n.php';
450
451 /**
452 * The class responsible for sending emails
453 * of the plugin.
454 */
455 require_once dirname(dirname( __FILE__ )) . '/includes/class-emails.php';
456
457 /**
458 * The class responsible for reading and updating meta
459 * of the plugin.
460 */
461 require_once dirname(dirname( __FILE__ )) . '/includes/class-meta.php';
462
463 /**
464 * The class responsible for userswp dates
465 * of the plugin.
466 */
467 require_once dirname(dirname( __FILE__ )) . '/includes/class-date.php';
468
469 /**
470 * The class responsible for userswp pages
471 * of the plugin.
472 */
473 require_once dirname(dirname( __FILE__ )) . '/includes/class-pages.php';
474
475 /**
476 * The class responsible for uploading files
477 * of the plugin.
478 */
479 require_once dirname(dirname( __FILE__ )) . '/includes/class-files.php';
480
481 /**
482 * The class responsible for defining form handler functionality
483 * of the plugin.
484 */
485 require_once dirname(dirname( __FILE__ )) . '/includes/class-forms.php';
486
487 /**
488 * The class responsible for form validation
489 * of the plugin.
490 */
491 require_once dirname(dirname( __FILE__ )) . '/includes/class-validation.php';
492
493 /**
494 * Country helpers
495 */
496 require_once dirname(dirname( __FILE__ )) . '/includes/class-countries.php';
497
498 /**
499 * The class responsible for defining ajax handler functionality
500 * of the plugin.
501 */
502 require_once dirname(dirname( __FILE__ )) . '/includes/class-ajax.php';
503
504 /**
505 * The class responsible for defining all shortcodes
506 */
507 require_once dirname(dirname( __FILE__ )) . '/includes/class-templates.php';
508
509 /**
510 * The class responsible for defining profile content
511 */
512 require_once dirname(dirname( __FILE__ )) . '/includes/class-profile.php';
513
514 /**
515 * The class responsible for defining all shortcodes
516 */
517 require_once dirname(dirname( __FILE__ )) . '/includes/class-shortcodes.php';
518
519 /**
520 * The class responsible for defining all menus items.
521 */
522 require_once dirname(dirname( __FILE__ )) . '/admin/menus/class-checklist.php';
523
524 /**
525 * The class responsible for defining all menus in the admin area.
526 */
527 require_once dirname(dirname( __FILE__ )) . '/admin/menus/class-menus.php';
528
529 /**
530 * The class responsible for defining all actions that occur in the admin area.
531 */
532 require_once dirname(dirname( __FILE__ )) . '/admin/class-admin.php';
533
534 /**
535 * The class responsible for defining all admin area settings.
536 */
537 require_once dirname(dirname( __FILE__ )) . '/admin/settings/class-settings.php';
538
539 /**
540 * The class responsible for defining all actions that occur in the public-facing
541 * side of the site.
542 */
543 require_once dirname(dirname( __FILE__ )) . '/public/class-public.php';
544
545 /**
546 * The class responsible for table functions
547 */
548 require_once dirname(dirname( __FILE__ )) . '/includes/class-tables.php';
549
550 /**
551 * The class responsible for adding fields in forms
552 */
553 require_once dirname(dirname( __FILE__ )) . '/admin/settings/class-formbuilder.php';
554
555 /**
556 * The class responsible for setting field callbacks
557 */
558 require_once dirname(dirname( __FILE__ )) . '/includes/class-callback.php';
559
560 /**
561 * The class responsible for adding tools functions
562 */
563 require_once dirname(dirname( __FILE__ )) . '/includes/class-tools.php';
564
565 /**
566 * The class responsible for displaying notices
567 */
568 require_once dirname(dirname( __FILE__ )) . '/includes/class-notices.php';
569
570 /**
571 * The class responsible for displaying notices
572 */
573 require_once dirname(dirname( __FILE__ )) . '/includes/class-import-export.php';
574
575 if ( is_plugin_active( 'uwp_geodirectory/uwp_geodirectory.php' ) ) {
576 deactivate_plugins( 'uwp_geodirectory/uwp_geodirectory.php' );
577 }
578
579 if ( is_plugin_active( 'geodirectory/geodirectory.php' ) ) {
580 /**
581 * The class responsible for displaying notices
582 *
583 * @since 1.0.12
584 */
585 require_once dirname(dirname( __FILE__ )) . '/includes/libraries/class-geodirectory-plugin.php';
586 }
587 }
588
589 }