PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.0.3
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.0.3
4.16.19 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 3 years ago AdminBarDashboardAccess 3 years ago Classes 3 years ago ContentProtection 3 years ago Functions 3 years ago Membership 3 years ago NavigationMenuLinks 3 years ago RegisterActivation 3 years ago ShortcodeParser 3 years ago Themes 3 years ago Widgets 3 years ago lib 3 years ago templates 3 years ago Base.php 3 years ago Cron.php 3 years ago DBTables.php 3 years ago DBUpdates.php 3 years ago RegisterScripts.php 3 years ago eu-vat-rates.json 4 years ago
Base.php
279 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\IDUserColumn;
9 use ProfilePress\Core\Admin\SettingsPages\MailOptin;
10 use ProfilePress\Core\Admin\SettingsPages\MemberDirectories;
11 use ProfilePress\Core\Admin\SettingsPages\Membership\CheckListHeader;
12 use ProfilePress\Core\Admin\SettingsPages\Membership\CheckoutFieldsManager;
13 use ProfilePress\Core\Admin\SettingsPages\Membership\CouponsPage\SettingsPage as CouponsSettingsPage;
14 use ProfilePress\Core\Admin\SettingsPages\Membership\CustomersPage\SettingsPage as CustomersPageSettingsPage;
15 use ProfilePress\Core\Admin\SettingsPages\Membership\OrdersPage\SettingsPage as OrdersPageSettingsPage;
16 use ProfilePress\Core\Admin\SettingsPages\Membership\PaymentMethods;
17 use ProfilePress\Core\Admin\SettingsPages\Membership\PaymentSettings;
18 use ProfilePress\Core\Admin\SettingsPages\Membership\PlansPage\SettingsPage as PlansSettingsPage;
19 use ProfilePress\Core\Admin\SettingsPages\Membership\SubscriptionsPage\SettingsPage as SubscriptionsPageSettingsPage;
20 use ProfilePress\Core\Admin\SettingsPages\ToolsSettingsPage;
21 use ProfilePress\Core\Classes\GlobalSiteAccess;
22 use ProfilePress\Core\ContentProtection;
23 use ProfilePress\Core\Admin\SettingsPages\EmailSettings\DefaultTemplateCustomizer;
24 use ProfilePress\Core\Admin\SettingsPages\EmailSettings\EmailSettingsPage;
25 use ProfilePress\Core\Admin\SettingsPages\Forms;
26 use ProfilePress\Core\Admin\SettingsPages\GeneralSettings;
27 use ProfilePress\Core\Classes\AdminNotices;
28 use ProfilePress\Core\Classes\AjaxHandler;
29 use ProfilePress\Core\Classes\BuddyPressBbPress;
30 use ProfilePress\Core\Classes\FormPreviewHandler;
31 use ProfilePress\Core\Classes\GDPR;
32 use ProfilePress\Core\Classes\Miscellaneous;
33 use ProfilePress\Core\Classes\ModifyRedirectDefaultLinks;
34 use ProfilePress\Core\Classes\PPRESS_Session;
35 use ProfilePress\Core\Classes\ProfileUrlRewrite;
36 use ProfilePress\Core\Classes\UserAvatar;
37 use ProfilePress\Core\Classes\UsernameEmailRestrictLogin;
38 use ProfilePress\Core\Classes\UserSignupLocationListingPage;
39 use ProfilePress\Core\ContentProtection\SettingsPage as ContentProtectionSettingsPage;
40 use ProfilePress\Core\RegisterActivation\CreateDBTables;
41 use ProfilePress\Core\Widgets\Init as WidgetsInit;
42 use ProfilePressVendor\PAnD;
43
44 define('PROFILEPRESS_SRC', plugin_dir_path(PROFILEPRESS_SYSTEM_FILE_PATH) . 'src/');
45 define('PPRESS_ADMIN_SETTINGS_PAGE_FOLDER', PROFILEPRESS_SRC . 'Admin/SettingsPages/');
46
47 define('PPRESS_ERROR_LOG_FOLDER', WP_CONTENT_DIR . "/uploads/profilepress-logs/");
48
49 define('PPRESS_SETTINGS_SLUG', 'ppress-config');
50 define('PPRESS_FORMS_SETTINGS_SLUG', 'ppress-forms');
51 define('PPRESS_MEMBER_DIRECTORIES_SLUG', 'ppress-directories');
52
53 define('PPRESS_CONTENT_PROTECTION_SETTINGS_SLUG', 'ppress-content-protection');
54 define('PPRESS_DASHBOARD_SETTINGS_SLUG', 'ppress-dashboard');
55 define('PPRESS_MEMBERSHIP_PLANS_SETTINGS_SLUG', 'ppress-plans');
56 define('PPRESS_MEMBERSHIP_ORDERS_SETTINGS_SLUG', 'ppress-orders');
57 define('PPRESS_MEMBERSHIP_CUSTOMERS_SETTINGS_SLUG', 'ppress-customers');
58 define('PPRESS_MEMBERSHIP_SUBSCRIPTIONS_SETTINGS_SLUG', 'ppress-subscriptions');
59 define('PPRESS_EXTENSIONS_SETTINGS_SLUG', 'ppress-extensions');
60
61 define('PPRESS_SETTINGS_SETTING_PAGE', admin_url('admin.php?page=' . PPRESS_SETTINGS_SLUG));
62 define('PPRESS_CUSTOM_FIELDS_SETTINGS_PAGE', add_query_arg(['view' => 'custom-fields'], PPRESS_SETTINGS_SETTING_PAGE));
63 define('PPRESS_CONTACT_INFO_SETTINGS_PAGE', add_query_arg(['section' => 'contact-info'], PPRESS_CUSTOM_FIELDS_SETTINGS_PAGE));
64 define('PPRESS_SETTINGS_EMAIL_SETTING_PAGE', add_query_arg('view', 'email', PPRESS_SETTINGS_SETTING_PAGE));
65 define('PPRESS_FORMS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_FORMS_SETTINGS_SLUG));
66 define('PPRESS_MEMBER_DIRECTORIES_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBER_DIRECTORIES_SLUG));
67 define('PPRESS_USER_PROFILES_SETTINGS_PAGE', add_query_arg('form-type', 'user-profile', PPRESS_FORMS_SETTINGS_PAGE));
68 define('PPRESS_CONTENT_PROTECTION_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_CONTENT_PROTECTION_SETTINGS_SLUG));
69 define('PPRESS_EXTENSIONS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_EXTENSIONS_SETTINGS_SLUG));
70 define('PPRESS_DASHBOARD_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_DASHBOARD_SETTINGS_SLUG));
71 define('PPRESS_MEMBERSHIP_SUBSCRIPTION_PLANS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBERSHIP_PLANS_SETTINGS_SLUG));
72 define('PPRESS_MEMBERSHIP_COUPONS_SETTINGS_PAGE', add_query_arg('view', 'coupons', PPRESS_MEMBERSHIP_SUBSCRIPTION_PLANS_SETTINGS_PAGE));
73 define('PPRESS_MEMBERSHIP_ORDERS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBERSHIP_ORDERS_SETTINGS_SLUG));
74 define('PPRESS_MEMBERSHIP_SUBSCRIPTIONS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBERSHIP_SUBSCRIPTIONS_SETTINGS_SLUG));
75 define('PPRESS_MEMBERSHIP_CUSTOMERS_SETTINGS_PAGE', admin_url('admin.php?page=' . PPRESS_MEMBERSHIP_CUSTOMERS_SETTINGS_SLUG));
76
77 define('PPRESS_LICENSE_SETTINGS_PAGE', add_query_arg('view', 'license', PPRESS_SETTINGS_SETTING_PAGE));
78
79 define('PPRESS_SETTINGS_DB_OPTION_NAME', 'ppress_settings_data');
80 define('PPRESS_FORMS_DB_OPTION_NAME', 'pp_forms');
81 define('PPRESS_CONTACT_INFO_OPTION_NAME', 'ppress_contact_info');
82 define('PPRESS_PAYMENT_METHODS_OPTION_NAME', 'ppress_payment_methods');
83 define('PPRESS_TAXES_OPTION_NAME', 'ppress_taxes');
84
85 define('PPRESS_ASSETS_URL', plugin_dir_url(PROFILEPRESS_SYSTEM_FILE_PATH) . 'assets');
86
87 // Directory for uploaded avatar
88 define("PPRESS_AVATAR_UPLOAD_DIR", apply_filters('ppress_avatar_folder', WP_CONTENT_DIR . '/uploads/pp-avatar/'));
89 define("PPRESS_COVER_IMAGE_UPLOAD_DIR", apply_filters('ppress_cover_image_folder', WP_CONTENT_DIR . '/uploads/pp-avatar/cover/'));
90
91 define("PPRESS_AVATAR_UPLOAD_URL", apply_filters('ppress_avatar_url', WP_CONTENT_URL . '/uploads/pp-avatar/'));
92 define("PPRESS_COVER_IMAGE_UPLOAD_URL", apply_filters('ppress_cover_image_url', WP_CONTENT_URL . '/uploads/pp-avatar/cover/'));
93
94 // Directory for file custom fields
95 define("PPRESS_FILE_UPLOAD_DIR", apply_filters('ppress_files_folder', WP_CONTENT_DIR . '/uploads/pp-files/'));
96 define("PPRESS_FILE_UPLOAD_URL", apply_filters('ppress_files_url', WP_CONTENT_URL . '/uploads/pp-files/'));
97
98 class Base extends DBTables
99 {
100 // core contact info fields
101 const cif_facebook = 'facebook';
102 const cif_twitter = 'twitter';
103 const cif_linkedin = 'linkedin';
104 const cif_youtube = 'youtube';
105 const cif_vk = 'vk';
106 const cif_instagram = 'instagram';
107 const cif_github = 'github';
108 const cif_pinterest = 'pinterest';
109
110 public function __construct()
111 {
112 register_activation_hook(PROFILEPRESS_SYSTEM_FILE_PATH, ['ProfilePress\Core\RegisterActivation\Base', 'run_install']);
113
114 if (version_compare(get_bloginfo('version'), '5.1', '<')) {
115 add_action('wpmu_new_blog', ['ProfilePress\Core\RegisterActivation\Base', 'multisite_new_blog_install']);
116 } else {
117 add_action('wp_insert_site', function (\WP_Site $new_site) {
118 RegisterActivation\Base::multisite_new_blog_install($new_site->blog_id);
119 });
120 }
121
122 add_action('activate_blog', ['ProfilePress\Core\RegisterActivation\Base', 'multisite_new_blog_install']);
123
124 add_filter('wpmu_drop_tables', array($this, 'wpmu_drop_tables'));
125
126 add_action('admin_init', function () {
127 if (isset($_GET['ppress_create_pages']) && $_GET['ppress_create_pages'] == 'true' && current_user_can('manage_options')) {
128 check_admin_referer('ppress_create_pages', 'ppress_nonce');
129 RegisterActivation\Base::create_pages();
130 PAnD::set_admin_notice_cache('ppress-create-plugin-pages-notice', 'forever');
131 wp_safe_redirect(PPRESS_SETTINGS_SETTING_PAGE . '#global_settings');
132 exit;
133 }
134 });
135
136 // handles edge case where register activation isn't triggered especially when migrating from wp user avatar.
137 add_action('admin_init', function () {
138 if (get_option('ppress_plugin_activated') != 'true') {
139 RegisterActivation\Base::run_install();
140 }
141 });
142
143 do_action('ppress_before_loaded');
144
145 Cron::get_instance();
146 GlobalSiteAccess::init();
147 DefaultTemplateCustomizer::get_instance();
148 RegisterScripts::get_instance();
149 PPRESS_Session::get_instance();
150 UserAvatar::get_instance();
151 ModifyRedirectDefaultLinks::get_instance();
152 UsernameEmailRestrictLogin::get_instance();
153 BuddyPressBbPress::get_instance();
154 AjaxHandler::get_instance();
155 ShortcodeParser\Init::get_instance();
156 Miscellaneous::get_instance();
157 ProfileUrlRewrite::get_instance();
158 WidgetsInit::init();
159 AdminBarDashboardAccess\Init::get_instance();
160 FormPreviewHandler::get_instance();
161 ContentProtection\Init::get_instance();
162 NavigationMenuLinks\Init::init();
163 Membership\Init::init();
164
165 $this->admin_hooks();
166
167 do_action('ppress_loaded');
168
169 add_action('admin_init', [$this, 'older_to_v4_upgrader']);
170 add_action('plugins_loaded', [$this, 'db_updates']);
171 add_action('plugins_loaded', [$this, 'register_metadata_table']);
172 }
173
174 function register_metadata_table()
175 {
176 global $wpdb;
177
178 $wpdb->ppress_ordermeta = Base::order_meta_db_table();
179 }
180
181 public function admin_hooks()
182 {
183 if ( ! is_admin()) {
184 return;
185 }
186
187 do_action('ppress_admin_before_hooks');
188
189 CheckListHeader::get_instance();
190
191 Admin\SettingsPages\Membership\DashboardPage\SettingsPage::get_instance();
192 PlansSettingsPage::get_instance();
193 OrdersPageSettingsPage::get_instance();
194 SubscriptionsPageSettingsPage::get_instance();
195 CustomersPageSettingsPage::get_instance();
196 ContentProtectionSettingsPage::get_instance();
197
198 Forms::get_instance();
199 MemberDirectories::get_instance();
200
201 GeneralSettings::get_instance();
202 MailOptin::get_instance();
203 ExtensionsSettingsPage::get_instance();
204
205 CouponsSettingsPage::get_instance();
206 PaymentSettings::get_instance();
207 PaymentMethods::get_instance();
208 CheckoutFieldsManager::get_instance();
209 Admin\SettingsPages\Membership\TaxSettings\SettingsPage::get_instance();
210
211 ProfileCustomFields::get_instance();
212 EmailSettingsPage::get_instance();
213 ToolsSettingsPage::get_instance();
214
215 AdminNotices::get_instance();
216 UserSignupLocationListingPage::get_instance();
217 AdminFooter::get_instance();
218 IDUserColumn::get_instance();
219 GDPR::get_instance();
220 \PPressBFnote::instance();
221
222 do_action('ppress_admin_hooks');
223 }
224
225 public function db_updates()
226 {
227 if ( ! is_admin()) {
228 return;
229 }
230
231 DBUpdates::get_instance()->maybe_update();
232 }
233
234 public function older_to_v4_upgrader()
235 {
236 if (current_user_can('activate_plugins') && get_option('ppress_new_v4_install') != 'true') {
237 CreateDBTables::membership_db_make();
238 RegisterActivation\Base::membership_default_settings();
239 //RegisterActivation\Base::create_membership_pages();
240 RegisterActivation\Base::clear_wpengine_cache();
241 add_option('ppress_new_v4_install', 'true');
242 }
243 }
244
245 public function wpmu_drop_tables($tables)
246 {
247 $tables[] = Base::form_db_table();
248 $tables[] = Base::form_meta_db_table();
249 $tables[] = Base::meta_data_db_table();
250 $tables[] = Base::passwordless_login_db_table();
251 $tables[] = Base::profile_fields_db_table();
252 $tables[] = Base::subscription_plans_db_table();
253
254 $tables = apply_filters('ppress_drop_mu_database_tables', $tables);
255
256 return $tables;
257 }
258
259 /**
260 * Singleton.
261 *
262 * @return Base
263 */
264 public static function get_instance()
265 {
266 /** WP User Avatar Adapter STARTS */
267 require dirname(PROFILEPRESS_SYSTEM_FILE_PATH) . '/deprecated/wp-user-avatar/wp-user-avatar.php';
268 /** WP User Avatar Adapter ENDS */
269
270 static $instance = null;
271
272 if (is_null($instance)) {
273 $instance = new self();
274 }
275
276 return $instance;
277 }
278 }
279