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

642 lines 30.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 $this->notifications = new UsersWP_Notifications();
87 $this->status = new UsersWP_Status();
88
89
90 // actions and filters
91 $this->load_assets_actions_and_filters($this->assets);
92 $this->load_meta_actions_and_filters($this->meta);
93 $this->load_ajax_actions_and_filters($this->ajax);
94 $this->load_files_actions_and_filters($this->files);
95 $this->load_forms_actions_and_filters($this->forms);
96 $this->load_i18n_actions_and_filters($this->i18n);
97 $this->load_notices_actions_and_filters($this->notices);
98 $this->load_pages_actions_and_filters($this->pages);
99 $this->load_profile_actions_and_filters($this->profile);
100 $this->load_shortcodes_actions_and_filters($this->shortcodes);
101 $this->load_tables_actions_and_filters($this->tables);
102 $this->load_templates_actions_and_filters($this->templates);
103 $this->load_tools_actions_and_filters($this->tools);
104 $this->load_notifications_actions_and_filters($this->notifications);
105 $this->load_status_actions_and_filters($this->status);
106
107 //admin
108 $this->load_form_builder_actions_and_filters($this->form_builder);
109 $this->load_menus_actions_and_filters($this->menus);
110 $this->load_admin_actions_and_filters($this->admin);
111 $this->load_admin_settings_actions_and_filters($this->admin_settings);
112
113 }
114
115
116
117
118 public function load_assets_actions_and_filters($instance) {
119 add_action( 'wp_enqueue_scripts', array($instance, 'enqueue_styles') );
120 add_action( 'wp_enqueue_scripts', array($instance, 'enqueue_scripts') );
121 }
122
123 public function load_meta_actions_and_filters($instance) {
124 add_action('user_register', array($instance, 'sync_usermeta'), 10, 1);
125 add_action('delete_user', array($instance, 'delete_usermeta_for_user'), 10, 1);
126 add_action('remove_user_from_blog', array($instance, 'remove_user_from_blog'), 10, 2);
127 add_action('wp_login', array($instance, 'save_user_ip_on_login') ,10,2);
128 add_filter('uwp_before_extra_fields_save', array($instance, 'save_user_ip_on_register'), 10, 3);
129 add_filter('uwp_update_usermeta', array($instance, 'modify_privacy_value_on_update'), 10, 4);
130 add_filter('uwp_get_usermeta', array($instance, 'modify_privacy_value_on_get'), 10, 5);
131 add_filter('uwp_update_usermeta', array($instance, 'modify_datepicker_value_on_update'), 10, 3);
132 add_filter('uwp_get_usermeta', array($instance, 'modify_datepicker_value_on_get'), 10, 5);
133 add_filter('user_row_actions', array($instance, 'uwp_user_row_actions'), 10, 2);
134 add_action('bulk_actions-users', array($instance, 'uwp_users_bulk_actions'));
135 add_action('handle_bulk_actions-users', array($instance, 'uwp_handle_users_bulk_actions'), 10, 3);
136 add_filter('init', array($instance, 'uwp_process_user_actions'));
137 add_action('admin_notices', array($instance, 'uwp_show_update_messages'));
138 }
139
140 public function load_ajax_actions_and_filters($instance) {
141 add_action('wp_ajax_uwp_ajax_action', array($instance, 'handler'));
142 }
143
144 public function load_files_actions_and_filters($instance) {
145 if($instance->uwp_doing_upload()){
146 add_filter( 'wp_handle_upload_prefilter', array($instance, 'uwp_wp_media_restrict_file_types') );
147 }
148 add_filter('uwp_get_max_upload_size', array($instance, 'uwp_modify_get_max_upload_size'), 10, 2);
149 }
150
151 public function load_forms_actions_and_filters($instance) {
152 // general
153 add_action('init', array($instance, 'init_notices'), 1);
154 add_action('uwp_loaded', array($instance, 'handler'));
155 add_action('init', array($instance, 'uwp_privacy_submit_handler'));
156 add_action('uwp_template_display_notices', array($instance, 'display_notices'), 10, 1);
157 add_action('wp_ajax_uwp_upload_file_remove', array($instance, 'uwp_upload_file_remove'));
158 //User search form
159 add_action('uwp_users_page_search_form_inner', array($instance, 'uwp_users_search_form_text_field'), 10, 1);
160 add_action('uwp_users_page_search_form_inner', array($instance, 'uwp_users_search_form_submit'), 50, 1);
161 add_action('personal_options_update', array($instance, 'update_profile_extra_admin_edit'), 10, 1);
162 add_action('edit_user_profile_update', array($instance, 'update_profile_extra_admin_edit'), 10, 1);
163 add_action('user_edit_form_tag', array($instance, 'add_multipart_to_admin_edit_form'));
164 add_action('uwp_template_form_title_after', array($instance, 'uwp_display_username_in_account'), 10, 1);
165
166
167 // Forms
168 add_filter('uwp_form_input_html_datepicker', array($instance, 'uwp_form_input_datepicker'), 10, 4);
169 add_filter('uwp_form_input_html_time', array($instance, 'uwp_form_input_time'), 10, 4);
170 add_filter('uwp_form_input_html_select', array($instance, 'uwp_form_input_select'), 10, 4);
171 add_filter('uwp_form_input_html_multiselect', array($instance, 'uwp_form_input_multiselect'), 10, 4);
172 add_filter('uwp_form_input_html_text', array($instance, 'uwp_form_input_text'), 10, 4);
173 add_filter('uwp_form_input_html_textarea', array($instance, 'uwp_form_input_textarea'), 10, 4);
174 add_filter('uwp_form_input_html_fieldset', array($instance, 'uwp_form_input_fieldset'), 10, 4);
175 add_filter('uwp_form_input_html_file', array($instance, 'uwp_form_input_file'), 10, 4);
176 add_filter('uwp_form_input_html_checkbox', array($instance, 'uwp_form_input_checkbox'), 10, 4);
177 add_filter('uwp_form_input_html_radio', array($instance, 'uwp_form_input_radio'), 10, 4);
178 add_filter('uwp_form_input_html_url', array($instance, 'uwp_form_input_url'), 10, 4);
179 add_filter('uwp_form_input_html_email', array($instance, 'uwp_form_input_email'), 10, 4);
180 add_filter('uwp_form_input_html_password', array($instance, 'uwp_form_input_password'), 10, 4);
181 // Country select
182 add_filter('uwp_form_input_html_select_country', array($instance, 'uwp_form_input_select_country'), 10, 4);
183 add_filter('uwp_forms_check_for_send_mail_errors', array($instance, 'uwp_forms_check_for_send_mail_errors'), 10, 3);
184 add_filter('uwp_form_input_email_uwp_account_email_after', array($instance, 'uwp_register_confirm_email_field'), 10, 4);
185 add_filter('uwp_form_input_password_uwp_account_password_after', array($instance, 'uwp_register_confirm_password_field'), 10, 4);
186
187 // Emails
188 add_filter('uwp_send_mail_extras', array($instance, 'init_mail_extras'), 10, 3);
189 add_filter('uwp_send_admin_mail_extras', array($instance, 'init_admin_mail_extras'), 10, 3);
190
191 }
192
193 public function load_i18n_actions_and_filters($instance) {
194 add_action( 'init', array($instance, 'load_plugin_textdomain'));
195 }
196
197 public function load_notices_actions_and_filters($instance) {
198 add_action('uwp_template_display_notices', array($instance, 'display_registration_disabled_notice'));
199 add_action('uwp_template_display_notices', array($instance, 'form_notice_by_key'));
200 add_action( 'admin_notices', array( $instance, 'show_admin_notices' ) );
201 add_action( 'admin_notices', array($instance, 'uwp_admin_notices') );
202 }
203
204 public function load_pages_actions_and_filters($instance) {
205 add_action( 'wpmu_new_blog', array($instance, 'wpmu_generate_default_pages_on_new_site'), 10, 6 );
206 }
207
208 public function load_profile_actions_and_filters($instance) {
209 add_action( 'template_redirect', array($instance, 'uwp_redirect_author_page') , 10 , 2 );
210 //profile page
211 add_filter('query_vars', array($instance, 'profile_query_vars'), 10, 1 );
212 add_action('init', array($instance, 'rewrite_profile_link') , 10, 1 );
213 add_filter( 'uwp_profile_link', array($instance, 'get_profile_link'), 10, 2 );
214 add_filter( 'edit_profile_url', array($instance, 'uwp_modify_admin_bar_edit_profile_url'), 10, 3);
215 add_filter( 'the_title', array($instance, 'modify_profile_page_title'), 10, 2 );
216 add_filter( 'get_comment_author_link', array($instance, 'uwp_get_comment_author_link') , 10 , 2 );
217 add_action( 'uwp_profile_header', array($instance, 'get_profile_header'), 10, 1 );
218 add_action( 'uwp_users_profile_header', array($instance, 'get_profile_header'), 10, 1 );
219 add_action( 'uwp_profile_title', array($instance, 'get_profile_title'), 10, 1 );
220 //add_action( 'uwp_profile_bio', array($instance, 'get_profile_bio'), 10, 1 );
221 add_action( 'uwp_profile_social', array($instance, 'get_profile_social'), 10, 1 );
222
223 //Fields as tabs
224 add_action( 'uwp_available_tab_items', array($instance, 'uwp_extra_fields_available_tab_items'), 10, 1 );
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 add_action( 'wpdiscuz_profile_url', array($instance, 'uwp_wpdiscuz_profile_url'), 10, 2);
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_notifications_actions_and_filters($instance){
307 add_action('uwp_account_form_display', array($instance, 'uwp_user_notifications_form_front'), 10, 1);
308 add_action('init', array($instance, 'uwp_notification_submit_handler'));
309 }
310
311 public function load_status_actions_and_filters($instance){
312 add_action('uwp_admin_sub_menus', array($instance, 'uwp_add_admin_status_sub_menu'), 100, 1);
313 add_action('uwp_status_settings_main_tab_content', array($instance, 'uwp_status_main_tab_content'));
314 }
315
316 public function load_form_builder_actions_and_filters($instance) {
317 // Actions
318 add_action('admin_init', array($instance, 'uwp_form_builder_dummy_fields'));
319 add_action('uwp_manage_available_fields_predefined', array($instance, 'uwp_manage_available_fields_predefined'));
320 add_action('uwp_manage_available_fields_custom', array($instance, 'uwp_manage_available_fields_custom'));
321 add_action('uwp_manage_available_fields', array($instance, 'uwp_manage_available_fields'));
322 add_action('uwp_manage_selected_fields', array($instance, 'uwp_manage_selected_fields'));
323 add_action('uwp_admin_extra_custom_fields', array($instance, 'uwp_advance_admin_custom_fields'), 10, 2);
324 add_action('uwp_manage_available_fields', array($instance, 'uwp_manage_register_available_fields'), 10, 1);
325 add_action('uwp_manage_selected_fields', array($instance, 'uwp_manage_register_selected_fields'), 10, 1);
326 add_action('wp_ajax_uwp_ajax_register_action', array($instance, 'uwp_register_ajax_handler'));
327
328
329 // Filters
330 add_filter('uwp_builder_extra_fields_multiselect', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
331 add_filter('uwp_builder_extra_fields_select', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
332 add_filter('uwp_builder_extra_fields_radio', array($instance, 'uwp_builder_extra_fields_smr'), 10, 4);
333 add_filter('uwp_builder_extra_fields_datepicker', array($instance, 'uwp_builder_extra_fields_datepicker'), 10, 4);
334 add_filter('uwp_builder_extra_fields_password', array($instance, 'uwp_builder_extra_fields_password'), 10, 4);
335 add_filter('uwp_builder_extra_fields_email', array($instance, 'uwp_builder_extra_fields_email'), 10, 4);
336 add_filter('uwp_builder_extra_fields_file', array($instance, 'uwp_builder_extra_fields_file'), 10, 4);
337 add_filter('uwp_builder_data_type_text', array($instance, 'uwp_builder_data_type_text'), 10, 4);
338 add_filter('uwp_form_builder_available_fields_head', array($instance, 'uwp_register_available_fields_head'), 10, 2);
339 add_filter('uwp_form_builder_available_fields_note', array($instance, 'uwp_register_available_fields_note'), 10, 2);
340 add_filter('uwp_form_builder_selected_fields_head', array($instance, 'uwp_register_selected_fields_head'), 10, 2);
341 add_filter('uwp_form_builder_selected_fields_note', array($instance, 'uwp_register_selected_fields_note'), 10, 2);
342 add_filter('uwp_register_fields', array($instance, 'uwp_register_extra_fields'), 10, 2);
343 // htmlvar not needed for taxonomy
344 add_filter('uwp_builder_htmlvar_name_taxonomy',array($instance, 'uwp_return_empty_string'),10,4);
345 // default_value not needed for textarea, html, file, fieldset
346 add_filter('uwp_builder_default_value_textarea',array($instance, 'uwp_return_empty_string'),10,4);
347 add_filter('uwp_builder_default_value_html',array($instance, 'uwp_return_empty_string'),10,4);
348 add_filter('uwp_builder_default_value_file',array($instance, 'uwp_return_empty_string'),10,4);
349 add_filter('uwp_builder_default_value_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
350 // is_required not needed for fieldset
351 add_filter('uwp_builder_is_required_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
352 add_filter('uwp_builder_required_msg_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
353 // field_icon not needed for fieldset
354 add_filter('uwp_builder_css_class_fieldset',array($instance, 'uwp_return_empty_string'),10,4);
355 // filters for which is_public not required
356 add_filter('uwp_builder_is_public_password',array($instance, 'uwp_return_empty_string'),10,4);
357 }
358
359 public function load_menus_actions_and_filters($instance) {
360 add_action( 'load-nav-menus.php', array($instance, 'users_wp_admin_menu_metabox') );
361 }
362
363 public function load_admin_actions_and_filters($instance) {
364 add_action( 'admin_enqueue_scripts', array($instance, 'enqueue_styles') );
365 add_action( 'admin_enqueue_scripts', array($instance, 'enqueue_scripts') );
366 add_action( 'admin_menu', array($instance, 'setup_admin_menus') );
367 add_action('admin_head', array($instance, 'uwp_admin_only_css'));
368 }
369
370 public function load_admin_settings_actions_and_filters($instance) {
371 $instance->init_settings();
372
373 add_action( 'admin_init', array($instance, 'uwp_register_settings') );
374 //register settings
375 add_action( 'userswp_settings_main_tab_content', array($instance, 'get_general_content') );
376 add_action( 'userswp_settings_register_tab_content', array($instance, 'generic_display_form') );
377 add_action( 'userswp_settings_login_tab_content', array($instance, 'generic_display_form') );
378 add_action( 'userswp_settings_account_tab_content', array($instance, 'generic_display_form') );
379 add_action( 'userswp_settings_profile_tab_content', array($instance, 'generic_display_form') );
380 add_action( 'userswp_settings_users_tab_content', array($instance, 'generic_display_form') );
381 add_action( 'userswp_settings_change_tab_content', array($instance, 'generic_display_form') );
382 add_action( 'userswp_settings_uninstall_tab_content', array($instance, 'generic_display_form') );
383
384 add_action( 'uwp_form_builder_settings_main_tab_content_before', array($instance, 'get_form_builder_tabs') );
385 add_action( 'uwp_form_builder_settings_main_tab_content', array($instance, 'get_form_builder_content') );
386 add_filter( 'uwp_display_form_title', array($instance, 'display_form_title'), 10, 3 );
387 add_action( 'uwp_notifications_settings_main_tab_content', array($instance, 'get_notifications_content') );
388 add_action( 'uwp_notifications_settings_admin_tab_content', array($instance, 'generic_display_form') );
389 }
390
391
392
393 /**
394 * Run the loader to execute all of the hooks with WordPress.
395 *
396 * @since 1.0.0
397 */
398 public function run() {
399 $this->loader->run();
400 }
401
402 /**
403 * The name of the plugin used to uniquely identify it within the context of
404 * WordPress and to define internationalization functionality.
405 *
406 * @since 1.0.0
407 * @return string The name of the plugin.
408 */
409 public function get_plugin_name() {
410 return $this->plugin_name;
411 }
412
413 /**
414 * The reference to the class that orchestrates the hooks with the plugin.
415 *
416 * @since 1.0.0
417 * @return UsersWP_Loader Orchestrates the hooks of the plugin.
418 */
419 public function get_loader() {
420 return $this->loader;
421 }
422
423 /**
424 * Retrieve the version number of the plugin.
425 *
426 * @since 1.0.0
427 * @return string The version number of the plugin.
428 */
429 public function get_version() {
430 return $this->version;
431 }
432
433 /**
434 * Load the required dependencies for this plugin.
435 *
436 * @since 1.0.0
437 * @access private
438 */
439 private function load_dependencies() {
440 if ( ! function_exists( 'is_plugin_active' ) ) {
441 /**
442 * Load all plugin functions from WordPress.
443 */
444 require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
445 }
446
447 /**
448 * The class responsible for orchestrating the actions and filters of the
449 * core plugin.
450 */
451 require_once dirname(dirname( __FILE__ )) . '/includes/class-loader.php';
452
453 /**
454 * The class responsible for defining internationalization functionality
455 * of the plugin.
456 */
457 require_once dirname(dirname( __FILE__ )) . '/includes/class-i18n.php';
458
459 /**
460 * The class responsible for sending emails
461 * of the plugin.
462 */
463 require_once dirname(dirname( __FILE__ )) . '/includes/class-emails.php';
464
465 /**
466 * The class responsible for reading and updating meta
467 * of the plugin.
468 */
469 require_once dirname(dirname( __FILE__ )) . '/includes/class-meta.php';
470
471 /**
472 * The class responsible for userswp dates
473 * of the plugin.
474 */
475 require_once dirname(dirname( __FILE__ )) . '/includes/class-date.php';
476
477 /**
478 * The class responsible for userswp pages
479 * of the plugin.
480 */
481 require_once dirname(dirname( __FILE__ )) . '/includes/class-pages.php';
482
483 /**
484 * The class responsible for uploading files
485 * of the plugin.
486 */
487 require_once dirname(dirname( __FILE__ )) . '/includes/class-files.php';
488
489 /**
490 * The class responsible for defining form handler functionality
491 * of the plugin.
492 */
493 require_once dirname(dirname( __FILE__ )) . '/includes/class-forms.php';
494
495 /**
496 * The class responsible for form validation
497 * of the plugin.
498 */
499 require_once dirname(dirname( __FILE__ )) . '/includes/class-validation.php';
500
501 /**
502 * Country helpers
503 */
504 require_once dirname(dirname( __FILE__ )) . '/includes/class-countries.php';
505
506 /**
507 * The class responsible for defining ajax handler functionality
508 * of the plugin.
509 */
510 require_once dirname(dirname( __FILE__ )) . '/includes/class-ajax.php';
511
512 /**
513 * The class responsible for defining all shortcodes
514 */
515 require_once dirname(dirname( __FILE__ )) . '/includes/class-templates.php';
516
517 /**
518 * The class responsible for defining profile content
519 */
520 require_once dirname(dirname( __FILE__ )) . '/includes/class-profile.php';
521
522 /**
523 * The class responsible for defining all shortcodes
524 */
525 require_once dirname(dirname( __FILE__ )) . '/includes/class-shortcodes.php';
526
527 /**
528 * The class responsible for defining all menus items.
529 */
530 require_once dirname(dirname( __FILE__ )) . '/admin/menus/class-checklist.php';
531
532 /**
533 * The class responsible for defining all menus in the admin area.
534 */
535 require_once dirname(dirname( __FILE__ )) . '/admin/menus/class-menus.php';
536
537 /**
538 * The class responsible for defining all actions that occur in the admin area.
539 */
540 require_once dirname(dirname( __FILE__ )) . '/admin/class-admin.php';
541
542 /**
543 * The class responsible for defining all admin area settings.
544 */
545 require_once dirname(dirname( __FILE__ )) . '/admin/settings/class-settings.php';
546
547 /**
548 * The class responsible for defining all actions that occur in the public-facing
549 * side of the site.
550 */
551 require_once dirname(dirname( __FILE__ )) . '/public/class-public.php';
552
553 /**
554 * The class responsible for table functions
555 */
556 require_once dirname(dirname( __FILE__ )) . '/includes/class-tables.php';
557
558 /**
559 * The class responsible for adding fields in forms
560 */
561 require_once dirname(dirname( __FILE__ )) . '/admin/settings/class-formbuilder.php';
562
563 /**
564 * The class responsible for setting field callbacks
565 */
566 require_once dirname(dirname( __FILE__ )) . '/includes/class-callback.php';
567
568 /**
569 * The class responsible for adding tools functions
570 */
571 require_once dirname(dirname( __FILE__ )) . '/includes/class-tools.php';
572
573 /**
574 * The class responsible for displaying notices
575 */
576 require_once dirname(dirname( __FILE__ )) . '/includes/class-notices.php';
577
578 /**
579 * The class WP_Super_Duper for widgets.
580 */
581 require_once dirname(dirname( __FILE__ )) . '/includes/libraries/wp-super-duper.php';
582
583 /**
584 * contents helpers files and functions.
585 */
586 require_once( dirname(dirname( __FILE__ )) .'/includes/helpers.php' );
587
588 /**
589 * The class for login widget.
590 */
591 require_once( dirname(dirname( __FILE__ )) .'/widgets/login.php' );
592
593 /**
594 * The class for register widget.
595 */
596 require_once( dirname(dirname( __FILE__ )) .'/widgets/register.php' );
597
598 /**
599 * The class responsible for displaying notices
600 */
601 require_once dirname(dirname( __FILE__ )) . '/includes/class-import-export.php';
602
603 /**
604 * The class responsible for displaying notices
605 */
606 require_once dirname(dirname( __FILE__ )) . '/includes/class-user-notifications.php';
607
608 /**
609 * The class responsible for adding tools functions
610 */
611 require_once dirname(dirname( __FILE__ )) . '/includes/class-status.php';
612
613 /**
614 * The class responsible for privacy policy functions
615 */
616 require_once dirname(dirname( __FILE__ )) . '/includes/abstract-uwp-privacy.php';
617 require_once dirname(dirname( __FILE__ )) . '/includes/class-uwp-privacy.php';
618
619 if ( is_plugin_active( 'uwp_geodirectory/uwp_geodirectory.php' ) ) {
620 deactivate_plugins( 'uwp_geodirectory/uwp_geodirectory.php' );
621 }
622
623 if ( is_plugin_active( 'geodirectory/geodirectory.php' ) || class_exists('GeoDirectory') ) {
624 /**
625 * The class responsible for displaying notices
626 *
627 * @since 1.0.12
628 */
629 require_once dirname(dirname( __FILE__ )) . '/includes/libraries/class-geodirectory-plugin.php';
630 }
631
632 if ( class_exists('WPInv_Invoice') ) {
633 /**
634 * The class responsible for displaying notices
635 *
636 * @since 1.0.12
637 */
638 require_once dirname(dirname( __FILE__ )) . '/includes/libraries/class-invoicing-plugin.php';
639 }
640 }
641
642 }