PluginProbe
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP / 1.0.19
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP v1.0.19
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.19, at includes/class-userswp.php

613 lines 28.9 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, 2);
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('uwp_loaded', 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 add_filter( 'get_comment_author_link', array($instance, 'uwp_get_comment_author_link') , 10 , 2 );
218 add_action( 'uwp_profile_header', array($instance, 'get_profile_header'), 10, 1 );
219 add_action( 'uwp_users_profile_header', array($instance, 'get_profile_header'), 10, 1 );
220 add_action( 'uwp_profile_title', array($instance, 'get_profile_title'), 10, 1 );
221 //add_action( 'uwp_profile_bio', array($instance, 'get_profile_bio'), 10, 1 );
222 add_action( 'uwp_profile_social', array($instance, 'get_profile_social'), 10, 1 );
223
224 //Fields as tabs
225 add_action( 'uwp_profile_tabs', array($instance, 'uwp_extra_fields_as_tabs'), 10, 2 );
226
227 // Popup and crop functions
228 add_filter( 'ajax_query_attachments_args', array($instance, 'uwp_restrict_attachment_display') );
229
230 add_action( 'uwp_handle_file_upload_error_checks', array($instance, 'uwp_handle_file_upload_error_checks'), 10, 4 );
231 add_action( 'wp_ajax_uwp_avatar_banner_upload', array($instance, 'uwp_ajax_avatar_banner_upload') );
232 //add_action( 'wp_ajax_uwp_ajax_image_crop_popup', array($instance, 'uwp_ajax_image_crop_popup') );
233 add_action( 'wp_ajax_uwp_ajax_image_crop_popup_form', array($instance, 'uwp_ajax_image_crop_popup_form') );
234 add_action( 'wp_head', array($instance, 'uwp_define_ajaxurl') );
235 add_action( 'uwp_profile_header', array($instance, 'uwp_image_crop_init'), 10, 1 );
236 add_action( 'uwp_admin_profile_edit', array($instance, 'uwp_image_crop_init'), 10, 1 );
237
238 // Profile Tabs
239 add_action( 'uwp_profile_content', array($instance, 'get_profile_tabs_content'), 10, 1 );
240 add_action( 'uwp_profile_more_info_tab_content', array($instance, 'get_profile_more_info'), 10, 1);
241 add_action( 'uwp_profile_posts_tab_content', array($instance, 'get_profile_posts'), 10, 1);
242 add_action( 'uwp_profile_comments_tab_content', array($instance, 'get_profile_comments'), 10, 1);
243 add_action( 'uwp_profile_tab_content', array($instance, 'uwp_extra_fields_as_tab_values'), 10, 2 );
244
245 // Profile Pagination
246 add_action( 'uwp_profile_pagination', array($instance, 'get_profile_pagination'));
247
248 // Users
249 add_action( 'uwp_users_search', array($instance, 'uwp_users_search'));
250 add_action( 'uwp_users_list', array($instance, 'uwp_users_list'));
251 add_action( 'uwp_users_extra', array($instance, 'get_users_extra'));
252 add_action( 'uwp_profile_bio', array($instance, 'get_profile_side_extra'));
253
254
255 // User, allow subscribers to upload profile and banner pictures
256 add_filter( 'plupload_default_params', array($instance, 'add_uwp_plupload_param'), 10, 1 );
257 add_filter( 'user_has_cap', array($instance, 'allow_all_users_profile_uploads'), 10, 4 );
258 }
259
260 public function load_shortcodes_actions_and_filters($instance) {
261 add_shortcode( 'uwp_forgot', array($instance, 'forgot'));
262 add_shortcode( 'uwp_change', array($instance, 'change'));
263 add_shortcode( 'uwp_reset', array($instance, 'reset'));
264 add_shortcode( 'uwp_account', array($instance, 'account'));
265 add_shortcode( 'uwp_profile', array($instance, 'profile'));
266 add_shortcode( 'uwp_users', array($instance, 'users'));
267 }
268
269 public function load_tables_actions_and_filters($instance) {
270 add_filter( 'wpmu_drop_tables', array($instance, 'drop_tables_on_delete_blog'));
271 }
272
273 public function load_templates_actions_and_filters($instance) {
274
275
276
277 add_action( 'template_redirect', array($instance, 'change_default_password_redirect') );
278 add_action( 'uwp_template_fields', array($instance, 'uwp_template_fields'), 10, 1 );
279 add_action( 'uwp_account_form_display', array($instance, 'uwp_account_edit_form_display'), 10, 1 );
280 add_action( 'wp_logout', array($instance, 'logout_redirect'));
281 add_action( 'init', array($instance, 'wp_login_redirect'));
282 add_action( 'admin_init', array($instance, 'uwp_activation_redirect'));
283 // Redirect functions
284 add_action( 'template_redirect', array($instance, 'profile_redirect'), 10);
285 add_action( 'template_redirect', array($instance, 'access_checks'), 20);
286 // Admin user edit page
287 add_action( 'edit_user_profile', array($instance, 'get_profile_extra_admin_edit'), 10, 1 );
288 add_action( 'show_user_profile', array($instance, 'get_profile_extra_admin_edit'), 10, 1 );
289
290
291 add_filter( 'wp_setup_nav_menu_item', array($instance, 'uwp_setup_nav_menu_item'), 10, 1 );
292 add_filter( 'the_content', array($instance, 'uwp_author_page_content'), 10, 1 );
293 add_filter( 'body_class', array($instance, 'uwp_add_body_class'), 10, 1 );
294
295 // filter the login url
296 add_filter( 'login_url', array($instance, 'wp_login_url'), 10, 3 );
297 }
298
299 public function load_tools_actions_and_filters($instance) {
300 add_action('admin_init', array($instance, 'uwp_tools_process_dummy_users'));
301 add_action('uwp_admin_sub_menus', array($instance, 'uwp_add_admin_tools_sub_menu'), 100, 1);
302 add_action('uwp_tools_settings_main_tab_content', array($instance, 'uwp_tools_main_tab_content'));
303 add_action('wp_ajax_uwp_process_diagnosis', array($instance, 'uwp_process_diagnosis_ajax'));
304 }
305
306 public function load_form_builder_actions_and_filters($instance) {
307 // Actions
308 add_action('admin_init', array($instance, 'uwp_form_builder_dummy_fields'));
309 add_action('uwp_manage_available_fields_predefined', array($instance, 'uwp_manage_available_fields_predefined'));
310 add_action('uwp_manage_available_fields_custom', array($instance, 'uwp_manage_available_fields_custom'));
311 add_action('uwp_manage_available_fields', array($instance, 'uwp_manage_available_fields'));
312 add_action('uwp_manage_selected_fields', array($instance, 'uwp_manage_selected_fields'));
313 add_action('uwp_admin_extra_custom_fields', array($instance, 'uwp_advance_admin_custom_fields'), 10, 2);
314 add_action('uwp_manage_available_fields', array($instance, 'uwp_manage_register_available_fields'), 10, 1);
315 add_action('uwp_manage_selected_fields', array($instance, 'uwp_manage_register_selected_fields'), 10, 1);
316 add_action('wp_ajax_uwp_ajax_register_action', array($instance, 'uwp_register_ajax_handler'));
317
318
319 // Filters
320 add_filter('uwp_builder_extra_fields_multiselect', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
321 add_filter('uwp_builder_extra_fields_select', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
322 add_filter('uwp_builder_extra_fields_radio', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
323 add_filter('uwp_builder_extra_fields_datepicker', array($instance, 'uwp_builder_extra_fields_datepicker'), 10, 4);
324 add_filter('uwp_builder_extra_fields_password', array($instance, 'uwp_builder_extra_fields_password'), 10, 4);
325 add_filter('uwp_builder_extra_fields_email', array($instance, 'uwp_builder_extra_fields_email'), 10, 4);
326 add_filter('uwp_builder_extra_fields_file', array($instance, 'uwp_builder_extra_fields_file'), 10, 4);
327 add_filter('uwp_builder_data_type_text', array($instance, 'uwp_builder_data_type_text'), 10, 4);
328 add_filter('uwp_form_builder_available_fields_head', array($instance, 'uwp_register_available_fields_head'), 10, 2);
329 add_filter('uwp_form_builder_available_fields_note', array($instance, 'uwp_register_available_fields_note'), 10, 2);
330 add_filter('uwp_form_builder_selected_fields_head', array($instance, 'uwp_register_selected_fields_head'), 10, 2);
331 add_filter('uwp_form_builder_selected_fields_note', array($instance, 'uwp_register_selected_fields_note'), 10, 2);
332 add_filter('uwp_register_fields', array($instance, 'uwp_register_extra_fields'), 10, 2);
333 // htmlvar not needed for taxonomy
334 add_filter('uwp_builder_htmlvar_name_taxonomy',array($instance, 'uwp_return_empty_string'),10,4);
335 // default_value not needed for textarea, html, file, fieldset
336 add_filter('uwp_builder_default_value_textarea',array($instance, 'uwp_return_empty_string'),10,4);
337 add_filter('uwp_builder_default_value_html',array($instance, 'uwp_return_empty_string'),10,4);
338 add_filter('uwp_builder_default_value_file',array($instance, 'uwp_return_empty_string'),10,4);
339 add_filter('uwp_builder_default_value_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
340 // is_required not needed for fieldset
341 add_filter('uwp_builder_is_required_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
342 add_filter('uwp_builder_required_msg_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
343 // field_icon not needed for fieldset
344 add_filter('uwp_builder_css_class_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
345 // filters for which is_public not required
346 add_filter('uwp_builder_is_public_password',array($instance, 'uwp_return_empty_string'),10,4);
347 }
348
349 public function load_menus_actions_and_filters($instance) {
350 add_action( 'load-nav-menus.php', array($instance, 'users_wp_admin_menu_metabox') );
351 }
352
353 public function load_admin_actions_and_filters($instance) {
354 add_action( 'admin_enqueue_scripts', array($instance, 'enqueue_styles') );
355 add_action( 'admin_enqueue_scripts', array($instance, 'enqueue_scripts') );
356 add_action( 'admin_menu', array($instance, 'setup_admin_menus') );
357 add_action('admin_head', array($instance, 'uwp_admin_only_css'));
358 }
359
360 public function load_admin_settings_actions_and_filters($instance) {
361 $instance->init_settings();
362
363 add_action( 'admin_init', array($instance, 'uwp_register_settings') );
364 //register settings
365 add_action( 'userswp_settings_main_tab_content', array($instance, 'get_general_content') );
366 add_action( 'userswp_settings_register_tab_content', array($instance, 'generic_display_form') );
367 add_action( 'userswp_settings_login_tab_content', array($instance, 'generic_display_form') );
368 add_action( 'userswp_settings_account_tab_content', array($instance, 'generic_display_form') );
369 add_action( 'userswp_settings_profile_tab_content', array($instance, 'generic_display_form') );
370 add_action( 'userswp_settings_users_tab_content', array($instance, 'generic_display_form') );
371 add_action( 'userswp_settings_change_tab_content', array($instance, 'generic_display_form') );
372 add_action( 'userswp_settings_uninstall_tab_content', array($instance, 'generic_display_form') );
373
374 add_action( 'uwp_form_builder_settings_main_tab_content_before', array($instance, 'get_form_builder_tabs') );
375 add_action( 'uwp_form_builder_settings_main_tab_content', array($instance, 'get_form_builder_content') );
376 add_filter( 'uwp_display_form_title', array($instance, 'display_form_title'), 10, 3 );
377 add_action( 'uwp_notifications_settings_main_tab_content', array($instance, 'get_notifications_content') );
378 add_action( 'uwp_notifications_settings_admin_tab_content', array($instance, 'generic_display_form') );
379 }
380
381
382
383 /**
384 * Run the loader to execute all of the hooks with WordPress.
385 *
386 * @since 1.0.0
387 */
388 public function run() {
389 $this->loader->run();
390 }
391
392 /**
393 * The name of the plugin used to uniquely identify it within the context of
394 * WordPress and to define internationalization functionality.
395 *
396 * @since 1.0.0
397 * @return string The name of the plugin.
398 */
399 public function get_plugin_name() {
400 return $this->plugin_name;
401 }
402
403 /**
404 * The reference to the class that orchestrates the hooks with the plugin.
405 *
406 * @since 1.0.0
407 * @return UsersWP_Loader Orchestrates the hooks of the plugin.
408 */
409 public function get_loader() {
410 return $this->loader;
411 }
412
413 /**
414 * Retrieve the version number of the plugin.
415 *
416 * @since 1.0.0
417 * @return string The version number of the plugin.
418 */
419 public function get_version() {
420 return $this->version;
421 }
422
423 /**
424 * Load the required dependencies for this plugin.
425 *
426 * @since 1.0.0
427 * @access private
428 */
429 private function load_dependencies() {
430 if ( ! function_exists( 'is_plugin_active' ) ) {
431 /**
432 * Load all plugin functions from WordPress.
433 */
434 require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
435 }
436
437 /**
438 * The class responsible for orchestrating the actions and filters of the
439 * core plugin.
440 */
441 require_once dirname(dirname( __FILE__ )) . '/includes/class-loader.php';
442
443 /**
444 * The class responsible for defining internationalization functionality
445 * of the plugin.
446 */
447 require_once dirname(dirname( __FILE__ )) . '/includes/class-i18n.php';
448
449 /**
450 * The class responsible for sending emails
451 * of the plugin.
452 */
453 require_once dirname(dirname( __FILE__ )) . '/includes/class-emails.php';
454
455 /**
456 * The class responsible for reading and updating meta
457 * of the plugin.
458 */
459 require_once dirname(dirname( __FILE__ )) . '/includes/class-meta.php';
460
461 /**
462 * The class responsible for userswp dates
463 * of the plugin.
464 */
465 require_once dirname(dirname( __FILE__ )) . '/includes/class-date.php';
466
467 /**
468 * The class responsible for userswp pages
469 * of the plugin.
470 */
471 require_once dirname(dirname( __FILE__ )) . '/includes/class-pages.php';
472
473 /**
474 * The class responsible for uploading files
475 * of the plugin.
476 */
477 require_once dirname(dirname( __FILE__ )) . '/includes/class-files.php';
478
479 /**
480 * The class responsible for defining form handler functionality
481 * of the plugin.
482 */
483 require_once dirname(dirname( __FILE__ )) . '/includes/class-forms.php';
484
485 /**
486 * The class responsible for form validation
487 * of the plugin.
488 */
489 require_once dirname(dirname( __FILE__ )) . '/includes/class-validation.php';
490
491 /**
492 * Country helpers
493 */
494 require_once dirname(dirname( __FILE__ )) . '/includes/class-countries.php';
495
496 /**
497 * The class responsible for defining ajax handler functionality
498 * of the plugin.
499 */
500 require_once dirname(dirname( __FILE__ )) . '/includes/class-ajax.php';
501
502 /**
503 * The class responsible for defining all shortcodes
504 */
505 require_once dirname(dirname( __FILE__ )) . '/includes/class-templates.php';
506
507 /**
508 * The class responsible for defining profile content
509 */
510 require_once dirname(dirname( __FILE__ )) . '/includes/class-profile.php';
511
512 /**
513 * The class responsible for defining all shortcodes
514 */
515 require_once dirname(dirname( __FILE__ )) . '/includes/class-shortcodes.php';
516
517 /**
518 * The class responsible for defining all menus items.
519 */
520 require_once dirname(dirname( __FILE__ )) . '/admin/menus/class-checklist.php';
521
522 /**
523 * The class responsible for defining all menus in the admin area.
524 */
525 require_once dirname(dirname( __FILE__ )) . '/admin/menus/class-menus.php';
526
527 /**
528 * The class responsible for defining all actions that occur in the admin area.
529 */
530 require_once dirname(dirname( __FILE__ )) . '/admin/class-admin.php';
531
532 /**
533 * The class responsible for defining all admin area settings.
534 */
535 require_once dirname(dirname( __FILE__ )) . '/admin/settings/class-settings.php';
536
537 /**
538 * The class responsible for defining all actions that occur in the public-facing
539 * side of the site.
540 */
541 require_once dirname(dirname( __FILE__ )) . '/public/class-public.php';
542
543 /**
544 * The class responsible for table functions
545 */
546 require_once dirname(dirname( __FILE__ )) . '/includes/class-tables.php';
547
548 /**
549 * The class responsible for adding fields in forms
550 */
551 require_once dirname(dirname( __FILE__ )) . '/admin/settings/class-formbuilder.php';
552
553 /**
554 * The class responsible for setting field callbacks
555 */
556 require_once dirname(dirname( __FILE__ )) . '/includes/class-callback.php';
557
558 /**
559 * The class responsible for adding tools functions
560 */
561 require_once dirname(dirname( __FILE__ )) . '/includes/class-tools.php';
562
563 /**
564 * The class responsible for displaying notices
565 */
566 require_once dirname(dirname( __FILE__ )) . '/includes/class-notices.php';
567
568 /**
569 * The class WP_Super_Duper for widgets.
570 */
571 require_once dirname(dirname( __FILE__ )) . '/includes/libraries/wp-super-duper.php';
572
573 /**
574 * contents helpers files and functions.
575 */
576 require_once( dirname(dirname( __FILE__ )) .'/includes/helpers.php' );
577
578 /**
579 * The class for login widget.
580 */
581 require_once( dirname(dirname( __FILE__ )) .'/widgets/login.php' );
582
583 /**
584 * The class for register widget.
585 */
586 require_once( dirname(dirname( __FILE__ )) .'/widgets/register.php' );
587
588 /**
589 * The class responsible for displaying notices
590 */
591 require_once dirname(dirname( __FILE__ )) . '/includes/class-import-export.php';
592
593 /**
594 * The class responsible for privacy policy functions
595 */
596 require_once dirname(dirname( __FILE__ )) . '/includes/abstract-uwp-privacy.php';
597 require_once dirname(dirname( __FILE__ )) . '/includes/class-uwp-privacy.php';
598
599 if ( is_plugin_active( 'uwp_geodirectory/uwp_geodirectory.php' ) ) {
600 deactivate_plugins( 'uwp_geodirectory/uwp_geodirectory.php' );
601 }
602
603 if ( is_plugin_active( 'geodirectory/geodirectory.php' ) || class_exists('GeoDirectory') ) {
604 /**
605 * The class responsible for displaying notices
606 *
607 * @since 1.0.12
608 */
609 require_once dirname(dirname( __FILE__ )) . '/includes/libraries/class-geodirectory-plugin.php';
610 }
611 }
612
613 }