1
|
|
|
<?php |
2
|
|
|
/** |
3
|
|
|
* Load Bulk Delete plugin. |
4
|
|
|
* |
5
|
|
|
* We need this load code in a separate file since it requires namespace |
6
|
|
|
* and using namespace in PHP 5.2 will generate a fatal error. |
7
|
|
|
* |
8
|
|
|
* @since 6.0.0 |
9
|
|
|
*/ |
10
|
|
|
use BulkWP\BulkDelete\BulkDeleteAutoloader; |
11
|
|
|
use BulkWP\BulkDelete\Core\BulkDelete; |
12
|
|
|
|
13
|
|
|
defined( 'ABSPATH' ) || exit; // Exit if accessed directly. |
14
|
|
|
|
15
|
|
|
/** |
16
|
|
|
* Load Bulk Delete plugin. |
17
|
|
|
* |
18
|
|
|
* @since 6.0.0 |
19
|
|
|
* |
20
|
|
|
* @param string $plugin_file Main plugin file. |
21
|
|
|
*/ |
22
|
|
|
function bulk_delete_load( $plugin_file ) { |
23
|
|
|
$plugin_dir = plugin_dir_path( $plugin_file ); |
24
|
|
|
|
25
|
|
|
// setup autoloader. |
26
|
|
|
require_once 'include/BulkDeleteAutoloader.php'; |
27
|
|
|
|
28
|
|
|
$loader = new BulkDeleteAutoloader(); |
29
|
|
|
$loader->set_custom_mapping( bd_get_custom_class_map( $plugin_dir ) ); |
30
|
|
|
|
31
|
|
|
$loader->add_namespace( 'BulkWP\\BulkDelete\\', $plugin_dir . 'include' ); |
32
|
|
|
|
33
|
|
|
$custom_include_files = bd_get_custom_include_files(); |
34
|
|
|
foreach ( $custom_include_files as $custom_include_file ) { |
35
|
|
|
$loader->add_file( $plugin_dir . $custom_include_file ); |
36
|
|
|
} |
37
|
|
|
|
38
|
|
|
$loader->register(); |
39
|
|
|
|
40
|
|
|
$plugin = BulkDelete::get_instance(); |
41
|
|
|
$plugin->set_plugin_file( $plugin_file ); |
42
|
|
|
$plugin->set_loader( $loader ); |
43
|
|
|
|
44
|
|
|
add_action( 'plugins_loaded', array( $plugin, 'load' ), 101 ); |
45
|
|
|
} |
46
|
|
|
|
47
|
|
|
/** |
48
|
|
|
* Get class map of legacy classes. |
49
|
|
|
* |
50
|
|
|
* These classes don't have namespace and so can't be autoloaded automatically. |
51
|
|
|
* This function would be eventually removed once all the classes are loaded. |
52
|
|
|
* |
53
|
|
|
* @since 6.0.0 |
54
|
|
|
* |
55
|
|
|
* @param string $plugin_dir Path to plugin directory. |
56
|
|
|
* |
57
|
|
|
* @return array Class map. |
58
|
|
|
*/ |
59
|
|
|
function bd_get_custom_class_map( $plugin_dir ) { |
60
|
|
|
return array( |
61
|
|
|
'BD_User_Meta_Box_Module' => $plugin_dir . 'include/base/users/class-bd-user-meta-box-module.php', |
62
|
|
|
'BD_Meta_Box_Module' => $plugin_dir . 'include/base/class-bd-meta-box-module.php', |
63
|
|
|
'BD_Base_Page' => $plugin_dir . 'include/base/class-bd-base-page.php', |
64
|
|
|
'BD_Page' => $plugin_dir . 'include/base/class-bd-page.php', |
65
|
|
|
'BD_License' => $plugin_dir . 'include/license/class-bd-license.php', |
66
|
|
|
'BD_License_Handler' => $plugin_dir . 'include/license/class-bd-license-handler.php', |
67
|
|
|
'BD_EDD_API_Wrapper' => $plugin_dir . 'include/license/class-bd-edd-api-wrapper.php', |
68
|
|
|
'BD_Users_Page' => $plugin_dir . 'include/users/class-bd-users-page.php', |
69
|
|
|
'Bulk_Delete_Users_By_User_Role' => $plugin_dir . 'include/users/modules/class-bulk-delete-users-by-user-role.php', |
70
|
|
|
'Bulk_Delete_Users_By_User_Meta' => $plugin_dir . 'include/users/modules/class-bulk-delete-users-by-user-meta.php', |
71
|
|
|
'Bulk_Delete_Misc' => $plugin_dir . 'include/misc/class-bulk-delete-misc.php', |
72
|
|
|
'Bulk_Delete_Jetpack_Contact_Form_Message' => $plugin_dir . 'include/misc/class-bulk-delete-jetpack-contact-form-messages.php', |
73
|
|
|
'BD_Settings_Page' => $plugin_dir . 'include/settings/class-bd-settings-page.php', |
74
|
|
|
'BD_Settings' => $plugin_dir . 'include/settings/class-bd-settings.php', |
75
|
|
|
'BD_System_Info_page' => $plugin_dir . 'include/system-info/class-bd-system-info-page.php', |
76
|
|
|
); |
77
|
|
|
} |
78
|
|
|
|
79
|
|
|
/** |
80
|
|
|
* Get the list of custom included files. |
81
|
|
|
* |
82
|
|
|
* These files will be autoloaded using the autoloader. |
83
|
|
|
* |
84
|
|
|
* @since 6.0.0 |
85
|
|
|
* |
86
|
|
|
* @return array List of files. |
87
|
|
|
*/ |
88
|
|
|
function bd_get_custom_include_files() { |
89
|
|
|
return array( |
90
|
|
|
'include/addons/addon-list.php', |
91
|
|
|
'include/addons/pages.php', |
92
|
|
|
'include/addons/posts.php', |
93
|
|
|
'include/addons/util.php', |
94
|
|
|
'include/compatibility/simple-login-log.php', |
95
|
|
|
'include/compatibility/the-event-calendar.php', |
96
|
|
|
'include/compatibility/woocommerce.php', |
97
|
|
|
'include/compatibility/advanced-custom-fields-pro.php', |
98
|
|
|
'include/helpers/common.php', |
99
|
|
|
'include/ui/form.php', |
100
|
|
|
'include/ui/admin-ui.php', |
101
|
|
|
'include/util/query.php', |
102
|
|
|
'include/settings/setting-helpers.php', |
103
|
|
|
); |
104
|
|
|
} |
105
|
|
|
|