PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.16.18
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.16.18
4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Base.php
wp-user-avatar / src Last commit date
Admin 4 weeks ago AdminBarDashboardAccess 3 years ago Classes 1 week ago ContentProtection 1 month ago Functions 4 months ago Integrations 1 year ago Membership 1 week ago NavigationMenuLinks 2 years ago RegisterActivation 9 months ago ShortcodeParser 3 weeks ago Themes 2 months ago Widgets 10 months ago lib 3 years ago templates 1 month ago Base.php 2 months ago Cron.php 2 years ago DBTables.php 3 years ago DBUpdates.php 1 month ago LoginRedirect.php 9 months ago RegisterScripts.php 4 months ago eu-vat-rates.json 10 months ago
Base.php
309 lines
1 <?php
2
3 namespace ProfilePress\Core;
4
5 use ProfilePress\Core\Admin\ProfileCustomFields;
6 use ProfilePress\Core\Admin\SettingsPages\AdminFooter;
7 use ProfilePress\Core\Admin\SettingsPages\ExtensionsSettingsPage;
8 use ProfilePress\Core\Admin\SettingsPages\FuseWP;
9 use ProfilePress\Core\Admin\SettingsPages\IDUserColumn;
10 use ProfilePress\Core\Admin\SettingsPages\LicenseUpgrader;
11 use ProfilePress\Core\Admin\SettingsPages\MailOptin;
12 use ProfilePress\Core\Admin\SettingsPages\MemberDirectories;
13 use ProfilePress\Core\Admin\SettingsPages\Membership\CheckListHeader;
14 use ProfilePress\Core\Admin\SettingsPages\Membership\CheckoutFieldsManager;
15 use ProfilePress\Core\Admin\SettingsPages\Membership\CouponsPage\SettingsPage as CouponsSettingsPage;
16 use ProfilePress\Core\Admin\SettingsPages\Membership\CustomersPage\SettingsPage as CustomersPageSettingsPage;
17 use ProfilePress\Core\Admin\SettingsPages\Membership\GroupsPage\SettingsPage as GroupsSettingsPageAlias;
18 use ProfilePress\Core\Admin\SettingsPages\Membership\OrdersPage\SettingsPage as OrdersPageSettingsPage;
19 use ProfilePress\Core\Admin\SettingsPages\Membership\PaymentMethods;
20 use ProfilePress\Core\Admin\SettingsPages\Membership\PaymentSettings;
21 use ProfilePress\Core\Admin\SettingsPages\Membership\PlansPage\SettingsPage as PlansSettingsPage;
22 use ProfilePress\Core\Admin\SettingsPages\Membership\SubscriptionsPage\SettingsPage as SubscriptionsPageSettingsPage;
23 use ProfilePress\Core\Admin\SettingsPages\ToolsSettingsPage;
24 use ProfilePress\Core\Admin\UserRolesEdit;
25 use ProfilePress\Core\Classes\BlockRegistrations;
26 use ProfilePress\Core\Classes\DisableConcurrentLogins;
27 use ProfilePress\Core\Classes\GlobalSiteAccess;
28 use ProfilePress\Core\ContentProtection;
29 use ProfilePress\Core\Admin\SettingsPages\EmailSettings\DefaultTemplateCustomizer;
30 use ProfilePress\Core\Admin\SettingsPages\EmailSettings\EmailSettingsPage;
31 use ProfilePress\Core\Admin\SettingsPages\Forms;
32 use ProfilePress\Core\Admin\SettingsPages\GeneralSettings;
33 use ProfilePress\Core\Classes\AdminNotices;
34 use ProfilePress\Core\Classes\AjaxHandler;
35 use ProfilePress\Core\Classes\BuddyPressBbPress;
36 use ProfilePress\Core\Classes\FormPreviewHandler;
37 use ProfilePress\Core\Classes\GDPR;
38 use ProfilePress\Core\Classes\Miscellaneous;
39 use ProfilePress\Core\Classes\ModifyRedirectDefaultLinks;
40 use ProfilePress\Core\Classes\PPRESS_Session;
41 use ProfilePress\Core\Classes\ProfileUrlRewrite;
42 use ProfilePress\Core\Classes\UserAvatar;
43 use ProfilePress\Core\Classes\UsernameEmailRestrictLogin;
44 use ProfilePress\Core\Classes\UserSignupLocationListingPage;
45 use ProfilePress\Core\ContentProtection\SettingsPage as ContentProtectionSettingsPage;
46 use ProfilePress\Core\RegisterActivation\CreateDBTables;
47 use ProfilePress\Core\Widgets\Init as WidgetsInit;
48 use ProfilePressVendor\PAnD;
49
50 define('PROFILEPRESS_SRC', plugin_dir_path(PROFILEPRESS_SYSTEM_FILE_PATH) . 'src/');
51 define('PPRESS_ADMIN_SETTINGS_PAGE_FOLDER', PROFILEPRESS_SRC . 'Admin/SettingsPages/');
52
53 define('PPRESS_ERROR_LOG_FOLDER', WP_CONTENT_DIR . "/uploads/profilepress-logs/");
54
55 define('PPRESS_SETTINGS_SLUG', 'ppress-config');
56 define('PPRESS_FORMS_SETTINGS_SLUG', 'ppress-forms');
57 define('PPRESS_MEMBER_DIRECTORIES_SLUG', 'ppress-directories');
58
59 define('PPRESS_CONTENT_PROTECTION_SETTINGS_SLUG', 'ppress-content-protection');
60 define('PPRESS_DASHBOARD_SETTINGS_SLUG', 'ppress-dashboard');
61 define('PPRESS_MEMBERSHIP_PLANS_SETTINGS_SLUG', 'ppress-plans');
62 define('PPRESS_MEMBERSHIP_ORDERS_SETTINGS_SLUG', 'ppress-orders');
63 define('PPRESS_MEMBERSHIP_CUSTOMERS_SETTINGS_SLUG', 'ppress-customers');
64 define('PPRESS_MEMBERSHIP_SUBSCRIPTIONS_SETTINGS_SLUG', 'ppress-subscriptions');
65 define('PPRESS_EXTENSIONS_SETTINGS_SLUG', 'ppress-extensions');
66
67 define('PPRESS_SETTINGS_SETTING_PAGE', admin_url('admin.php?page=' . PPRESS_SETTINGS_SLUG));
68 define('PPRESS_SETTINGS_SETTING_GENERAL_PAGE', add_query_arg(['section' => 'general'], admin_url('admin.php?page=' . PPRESS_SETTINGS_SLUG)));
69 define('PPRESS_CUSTOM_FIELDS_SETTINGS_PAGE', add_query_arg(['view' => 'custom-fields'], PPRESS_SETTINGS_SETTING_PAGE));
70 define('PPRESS_CONTACT_INFO_SETTINGS_PAGE', add_query_arg(['section' => 'contact-info'], PPRESS_CUSTOM_FIELDS_SETTINGS_PAGE));
71 define('PPRESS_SETTINGS_EMAIL_SETTING_PAGE', add_query_arg('view', 'email', PPRESS_SETTINGS_SETTING_PAGE));
72 define('PPRESS_FORMS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_FORMS_SETTINGS_SLUG));
73 define('PPRESS_MEMBER_DIRECTORIES_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBER_DIRECTORIES_SLUG));
74 define('PPRESS_USER_PROFILES_SETTINGS_PAGE', add_query_arg('form-type', 'user-profile', PPRESS_FORMS_SETTINGS_PAGE));
75 define('PPRESS_CONTENT_PROTECTION_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_CONTENT_PROTECTION_SETTINGS_SLUG));
76 define('PPRESS_EXTENSIONS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_EXTENSIONS_SETTINGS_SLUG));
77 define('PPRESS_DASHBOARD_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_DASHBOARD_SETTINGS_SLUG));
78 define('PPRESS_MEMBERSHIP_DOWNLOAD_LOGS_SETTINGS_PAGE', add_query_arg('view', 'download-logs', PPRESS_DASHBOARD_SETTINGS_PAGE));
79 define('PPRESS_MEMBERSHIP_EXPORT_SETTINGS_PAGE', add_query_arg('view', 'export', PPRESS_DASHBOARD_SETTINGS_PAGE));
80 define('PPRESS_MEMBERSHIP_SUBSCRIPTION_PLANS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBERSHIP_PLANS_SETTINGS_SLUG));
81 define('PPRESS_MEMBERSHIP_COUPONS_SETTINGS_PAGE', add_query_arg('view', 'coupons', PPRESS_MEMBERSHIP_SUBSCRIPTION_PLANS_SETTINGS_PAGE));
82 define('PPRESS_MEMBERSHIP_GROUPS_SETTINGS_PAGE', add_query_arg('view', 'groups', PPRESS_MEMBERSHIP_SUBSCRIPTION_PLANS_SETTINGS_PAGE));
83 define('PPRESS_MEMBERSHIP_ORDERS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBERSHIP_ORDERS_SETTINGS_SLUG));
84 define('PPRESS_MEMBERSHIP_SUBSCRIPTIONS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBERSHIP_SUBSCRIPTIONS_SETTINGS_SLUG));
85 define('PPRESS_MEMBERSHIP_CUSTOMERS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBERSHIP_CUSTOMERS_SETTINGS_SLUG));
86
87 define('PPRESS_LICENSE_SETTINGS_PAGE', add_query_arg('view', 'license', PPRESS_SETTINGS_SETTING_PAGE));
88
89 define('PPRESS_SETTINGS_DB_OPTION_NAME', 'ppress_settings_data');
90 define('PPRESS_FORMS_DB_OPTION_NAME', 'pp_forms');
91 define('PPRESS_CONTACT_INFO_OPTION_NAME', 'ppress_contact_info');
92 define('PPRESS_PAYMENT_METHODS_OPTION_NAME', 'ppress_payment_methods');
93 define('PPRESS_FILE_DOWNLOADS_OPTION_NAME', 'ppress_file_downloads');
94 define('PPRESS_TAXES_OPTION_NAME', 'ppress_taxes');
95
96 define('PPRESS_ASSETS_URL', plugin_dir_url(PROFILEPRESS_SYSTEM_FILE_PATH) . 'assets');
97
98 // Directory for uploaded avatar
99 define("PPRESS_AVATAR_UPLOAD_DIR", apply_filters('ppress_avatar_folder', WP_CONTENT_DIR . '/uploads/pp-avatar/'));
100 define("PPRESS_COVER_IMAGE_UPLOAD_DIR", apply_filters('ppress_cover_image_folder', WP_CONTENT_DIR . '/uploads/pp-avatar/cover/'));
101
102 define("PPRESS_AVATAR_UPLOAD_URL", apply_filters('ppress_avatar_url', WP_CONTENT_URL . '/uploads/pp-avatar/'));
103 define("PPRESS_COVER_IMAGE_UPLOAD_URL", apply_filters('ppress_cover_image_url', WP_CONTENT_URL . '/uploads/pp-avatar/cover/'));
104
105 // Directory for file custom fields
106 define("PPRESS_FILE_UPLOAD_DIR", apply_filters('ppress_files_folder', WP_CONTENT_DIR . '/uploads/pp-files/'));
107 define("PPRESS_FILE_UPLOAD_URL", apply_filters('ppress_files_url', WP_CONTENT_URL . '/uploads/pp-files/'));
108
109 class Base extends DBTables
110 {
111 // core contact info fields
112 const cif_facebook = 'facebook';
113 const cif_twitter = 'twitter';
114 const cif_linkedin = 'linkedin';
115 const cif_youtube = 'youtube';
116 const cif_vk = 'vk';
117 const cif_instagram = 'instagram';
118 const cif_github = 'github';
119 const cif_pinterest = 'pinterest';
120 const cif_bluesky = 'bluesky';
121 const cif_threads = 'threads';
122
123 public function __construct()
124 {
125 register_activation_hook(PROFILEPRESS_SYSTEM_FILE_PATH, ['ProfilePress\Core\RegisterActivation\Base', 'run_install']);
126
127 if (version_compare(get_bloginfo('version'), '5.1', '<')) {
128 add_action('wpmu_new_blog', ['ProfilePress\Core\RegisterActivation\Base', 'multisite_new_blog_install']);
129 } else {
130 add_action('wp_insert_site', function (\WP_Site $new_site) {
131 RegisterActivation\Base::multisite_new_blog_install($new_site->blog_id);
132 });
133 }
134
135 add_action('activate_blog', ['ProfilePress\Core\RegisterActivation\Base', 'multisite_new_blog_install']);
136
137 add_filter('wpmu_drop_tables', array($this, 'wpmu_drop_tables'));
138
139 add_action('admin_init', function () {
140 if (isset($_GET['ppress_create_pages']) && $_GET['ppress_create_pages'] == 'true' && current_user_can('manage_options')) {
141 check_admin_referer('ppress_create_pages', 'ppress_nonce');
142 RegisterActivation\Base::create_pages();
143 PAnD::set_admin_notice_cache('ppress-create-plugin-pages-notice', 'forever');
144 wp_safe_redirect(PPRESS_SETTINGS_SETTING_GENERAL_PAGE . '#global_pages');
145 exit;
146 }
147 });
148
149 // handles edge case where register activation isn't triggered especially when migrating from wp user avatar.
150 add_action('admin_init', function () {
151 if (get_option('ppress_plugin_activated') != 'true') {
152 RegisterActivation\Base::run_install();
153 delete_option('ppress_db_ver');
154 DBUpdates::get_instance()->maybe_update();
155 }
156 });
157
158 do_action('ppress_before_loaded');
159
160 Cron::get_instance();
161 GlobalSiteAccess::init();
162 BlockRegistrations::init();
163 DefaultTemplateCustomizer::get_instance();
164 RegisterScripts::get_instance();
165 PPRESS_Session::get_instance();
166 UserAvatar::get_instance();
167 ModifyRedirectDefaultLinks::get_instance();
168 UsernameEmailRestrictLogin::get_instance();
169 DisableConcurrentLogins::get_instance();
170 BuddyPressBbPress::get_instance();
171 AjaxHandler::get_instance();
172 ShortcodeParser\Init::get_instance();
173 Miscellaneous::get_instance();
174 ProfileUrlRewrite::get_instance();
175 WidgetsInit::init();
176 AdminBarDashboardAccess\Init::get_instance();
177 add_action('plugins_loaded', function () {
178 FormPreviewHandler::get_instance();
179 });
180 ContentProtection\Init::get_instance();
181 NavigationMenuLinks\Init::init();
182 Membership\Init::init();
183
184 LoginRedirect::get_instance();
185
186 Integrations\TutorLMS\Init::get_instance();
187 Integrations\AcademyLMS\Init::get_instance();
188
189 LicenseUpgrader::get_instance();
190
191 $this->admin_hooks();
192
193 do_action('ppress_loaded');
194
195 add_action('admin_init', [$this, 'older_to_v4_upgrader']);
196 add_action('plugins_loaded', [$this, 'db_updates']);
197 add_action('plugins_loaded', [$this, 'register_metadata_table']);
198 }
199
200 function register_metadata_table()
201 {
202 global $wpdb;
203
204 $wpdb->ppress_ordermeta = Base::order_meta_db_table();
205 }
206
207 public function admin_hooks()
208 {
209 if ( ! is_admin()) {
210 return;
211 }
212
213 do_action('ppress_admin_before_hooks');
214
215 CheckListHeader::get_instance();
216
217 Admin\SettingsPages\Membership\DashboardPage\SettingsPage::get_instance();
218 Admin\SettingsPages\Membership\DownloadLogsPage\SettingsPage::get_instance();
219 Admin\SettingsPages\Membership\ExportPage\SettingsPage::get_instance();
220 PlansSettingsPage::get_instance();
221 GroupsSettingsPageAlias::get_instance();
222 OrdersPageSettingsPage::get_instance();
223 SubscriptionsPageSettingsPage::get_instance();
224 CustomersPageSettingsPage::get_instance();
225 ContentProtectionSettingsPage::get_instance();
226
227 Forms::get_instance();
228 MemberDirectories::get_instance();
229
230 GeneralSettings::get_instance();
231 FuseWP::get_instance();
232 MailOptin::get_instance();
233 ExtensionsSettingsPage::get_instance();
234
235 CouponsSettingsPage::get_instance();
236 PaymentSettings::get_instance();
237 PaymentMethods::get_instance();
238 CheckoutFieldsManager::get_instance();
239 Admin\SettingsPages\Membership\TaxSettings\SettingsPage::get_instance();
240
241 ProfileCustomFields::get_instance();
242 UserRolesEdit::get_instance();
243 EmailSettingsPage::get_instance();
244 ToolsSettingsPage::get_instance();
245
246 AdminNotices::get_instance();
247 UserSignupLocationListingPage::get_instance();
248 AdminFooter::get_instance();
249 IDUserColumn::get_instance();
250 GDPR::get_instance();
251 \PPressBFnote::instance();
252 \ProperP_Shogun::get_instance();
253
254 do_action('ppress_admin_hooks');
255 }
256
257 public function db_updates()
258 {
259 if ( ! is_admin()) return;
260
261 DBUpdates::get_instance()->maybe_update();
262 }
263
264 public function older_to_v4_upgrader()
265 {
266 if (current_user_can('activate_plugins') && get_option('ppress_new_v4_install') != 'true') {
267 CreateDBTables::membership_db_make();
268 RegisterActivation\Base::membership_default_settings();
269 //RegisterActivation\Base::create_membership_pages();
270 RegisterActivation\Base::clear_wpengine_cache();
271 add_option('ppress_new_v4_install', 'true');
272 }
273 }
274
275 public function wpmu_drop_tables($tables)
276 {
277 $tables[] = Base::form_db_table();
278 $tables[] = Base::form_meta_db_table();
279 $tables[] = Base::meta_data_db_table();
280 $tables[] = Base::passwordless_login_db_table();
281 $tables[] = Base::profile_fields_db_table();
282 $tables[] = Base::subscription_plans_db_table();
283
284 $tables = apply_filters('ppress_drop_mu_database_tables', $tables);
285
286 return $tables;
287 }
288
289 /**
290 * Singleton.
291 *
292 * @return Base
293 */
294 public static function get_instance()
295 {
296 /** WP User Avatar Adapter STARTS */
297 require dirname(PROFILEPRESS_SYSTEM_FILE_PATH) . '/deprecated/wp-user-avatar/wp-user-avatar.php';
298 /** WP User Avatar Adapter ENDS */
299
300 static $instance = null;
301
302 if (is_null($instance)) {
303 $instance = new self();
304 }
305
306 return $instance;
307 }
308 }
309