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

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

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