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