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

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