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.17.2 4.17.1 4.17.0 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 / Classes / Miscellaneous.php
wp-user-avatar / src / Classes Last commit date
Installer 5 years ago AdminNotices.php 4 years ago AjaxHandler.php 4 years ago Autologin.php 4 years ago BuddyPressBbPress.php 5 years ago EditUserProfile.php 4 years ago ExtensionManager.php 4 years ago FileUploader.php 4 years ago FormPreviewHandler.php 5 years ago FormRepository.php 4 years ago FormShortcodeDefaults.php 5 years ago GDPR.php 4 years ago Geolocation.php 4 years ago GlobalSiteAccess.php 4 years ago ImageUploader.php 4 years ago LoginAuth.php 4 years ago Miscellaneous.php 4 years ago ModifyRedirectDefaultLinks.php 4 years ago PPRESS_Session.php 4 years ago PROFILEPRESS_sql.php 4 years ago PasswordReset.php 4 years ago ProfileUrlRewrite.php 4 years ago RegistrationAuth.php 4 years ago SendEmail.php 4 years ago ShortcodeThemeFactory.php 5 years ago UserAvatar.php 4 years ago UserSignupLocationListingPage.php 4 years ago UsernameEmailRestrictLogin.php 4 years ago WPProfileFieldParserTrait.php 4 years ago WelcomeEmailAfterSignup.php 4 years ago default-email-template.php 4 years ago index.php 5 years ago
Miscellaneous.php
181 lines
1 <?php namespace ProfilePress\Core\Classes;
2
3 namespace ProfilePress\Core\Classes;
4
5 class Miscellaneous
6 {
7 public function __construct()
8 {
9 $basename = plugin_basename(PROFILEPRESS_SYSTEM_FILE_PATH);
10 $prefix = is_network_admin() ? 'network_admin_' : '';
11 add_filter("{$prefix}plugin_action_links_$basename", [$this, 'action_links'], 10, 4);
12 // slim seo compatibility
13 add_filter('slim_seo_skipped_shortcodes', [$this, 'skip_ppress_shortcodes']);
14 add_action('admin_bar_menu', [$this, 'maybe_add_store_mode_admin_bar_menu'], 9999);
15
16 add_action('wp_print_styles', [$this, 'store_mode_admin_bar_print_link_styles']);
17 add_action('admin_print_styles', [$this, 'store_mode_admin_bar_print_link_styles']);
18
19 add_action('admin_init', [$this, 'register_privacy_policy_template']);
20
21 add_filter('display_post_states', [$this, 'add_display_page_states'], 10, 2);
22 }
23
24 /**
25 * Add a page display state for special ProfilePress pages in the page list table.
26 *
27 * @param array $post_states An array of post display states.
28 * @param \WP_Post $post The current post object.
29 *
30 * @return array
31 */
32 function add_display_page_states($post_states, $post)
33 {
34 $mark = '<img style="width:15px;vertical-align:middle;margin-bottom:4px;" src="' . PPRESS_ASSETS_URL . '/images/logo-icomark.png" title="ProfilePress">';
35
36 switch ($post->ID) {
37 case ppress_settings_by_key('checkout_page_id', 0, true):
38 case ppress_settings_by_key('set_login_url', 0, true):
39 case ppress_settings_by_key('set_registration_url', 0, true):
40 case ppress_settings_by_key('set_lost_password_url', 0, true):
41 case ppress_settings_by_key('edit_user_profile_url', 0, true):
42 case ppress_settings_by_key('set_user_profile_shortcode', 0, true):
43 case ppress_settings_by_key('payment_success_page_id', 0, true):
44 case ppress_settings_by_key('payment_failure_page_id', 0, true):
45 case ppress_settings_by_key('terms_page_id', 0, true):
46 $post_states['ppress_page'] = $mark;
47 break;
48 }
49
50 return $post_states;
51 }
52
53 /**
54 * Register the template for a privacy policy.
55 *
56 * Note, this is just a suggestion and should be customized to meet your businesses needs.
57 *
58 */
59 function register_privacy_policy_template()
60 {
61 if ( ! function_exists('wp_add_privacy_policy_content')) {
62 return;
63 }
64
65 $content = '<p>' . esc_html__("During user registration and checkout, we'll ask you to provide information, including your name, billing address, email address, phone number, and optional account information like username and password.", 'wp-user-avatar') . '</p>';
66 $content .= '<p>' . esc_html__("We may also collect your credit card number, expiration date, and security code and pass them to our payment gateway to process your purchase.", 'wp-user-avatar') . '</p>';
67
68 $content .= '<p>' . esc_html__("We use the information we collect to:", 'wp-user-avatar') . '</p>';
69
70 $content .= '<ul>';
71 $content .= '<li>' . esc_html__("Set up your account", 'wp-user-avatar') . '</li>';
72 $content .= '<li>' . esc_html__("Process payments and prevent fraud", 'wp-user-avatar') . '</li>';
73 $content .= '<li>' . esc_html__("To prepopulate the checkout form for future purchases", 'wp-user-avatar') . '</li>';
74 $content .= '<li>' . esc_html__("To get in touch with you if needed to discuss your order", 'wp-user-avatar') . '</li>';
75 $content .= '<li>' . esc_html__("Comply with any legal obligations we have, such as calculating taxes", 'wp-user-avatar') . '</li>';
76 $content .= '<li>' . esc_html__("Send you information about your account and order", 'wp-user-avatar') . '</li>';
77 $content .= '<li>' . esc_html__("Respond to your requests, including refunds and complaints", 'wp-user-avatar') . '</li>';
78 $content .= '<li>' . esc_html__("Send you marketing messages, if you choose to receive them", 'wp-user-avatar') . '</li>';
79 $content .= '</ul>';
80
81 $content .= '<p>' . esc_html__("We generally store information about you for as long as we need the information for the purposes we collect and use it, and we are not legally required to continue to keep it. For example, we will store your order information for tax and accounting purposes.", 'wp-user-avatar') . '</p>';
82 $content .= '<p>' . esc_html__("We'll also use cookies to keep track of cart contents while you're browsing our site.", 'wp-user-avatar') . '</p>';
83
84 wp_add_privacy_policy_content('ProfilePress', wp_kses_post(apply_filters('ppress_privacy_policy_content', $content)));
85 }
86
87 public function maybe_add_store_mode_admin_bar_menu($wp_admin_bar)
88 {
89 // Bail if no admin bar
90 if (empty($wp_admin_bar)) {
91 return;
92 }
93
94 // Bail if user cannot manage shop settings
95 if ( ! current_user_can('manage_options')) {
96 return;
97 }
98
99 if ( ! ppress_is_any_enabled_payment_method()) return;
100
101 $text = ! ppress_is_test_mode() ? __('Live', 'wp-user-avatar') : __('Test Mode', 'wp-user-avatar');
102
103 $mode = ! ppress_is_test_mode() ? 'live' : 'test';
104
105 $wp_admin_bar->add_menu(array(
106 'id' => 'ppress-store-menu',
107 'title' => sprintf(__('ProfilePress %s', 'wp-user-avatar'), '<span class="ppress-mode ppress-mode-' . esc_attr($mode) . '">' . $text . '</span>'),
108 'parent' => false,
109 'href' => add_query_arg(
110 ['view' => 'payments', 'section' => 'payment-methods'],
111 PPRESS_SETTINGS_SETTING_PAGE
112 )
113 ));
114 }
115
116 public function store_mode_admin_bar_print_link_styles()
117 {
118
119 // Bail if user cannot manage shop settings
120 if ( ! current_user_can('manage_shop_settings')) {
121 return;
122 } ?>
123
124 <style type="text/css" id="edd-store-menu-styling">
125 #wp-admin-bar-ppress-store-menu .ppress-mode {
126 color: #fff;
127 background-color: #0073aa;
128 padding: 3px 7px;
129 font-weight: 600;
130 border-radius: 3px;
131 font-size: 12px;
132 }
133
134 #wp-admin-bar-ppress-store-menu .ppress-mode-live {
135 background-color: #32CD32;
136 }
137
138 #wp-admin-bar-ppress-store-menu .ppress-mode-test {
139 background-color: #ffde92;
140 color: #a04903;
141 }
142 </style>
143
144 <?php
145 }
146
147 public function action_links($actions, $plugin_file, $plugin_data, $context)
148 {
149 $custom_actions = array(
150 'settings' => sprintf('<a href="%s">%s</a>', PPRESS_SETTINGS_SETTING_PAGE, esc_html__('Settings', 'wp-user-avatar')),
151 );
152
153 // add the links to the front of the actions list
154 return array_merge($custom_actions, $actions);
155 }
156
157 public function skip_ppress_shortcodes($shortcodes)
158 {
159 $shortcodes[] = 'profilepress-registration';
160 $shortcodes[] = 'profilepress-login';
161 $shortcodes[] = 'profilepress-password-reset';
162 $shortcodes[] = 'profilepress-my-account';
163 $shortcodes[] = 'profilepress-member-directory';
164 $shortcodes[] = 'profilepress-melange';
165 $shortcodes[] = 'profilepress-user-profile';
166 $shortcodes[] = 'profilepress-edit-profile';
167
168 return $shortcodes;
169 }
170
171 public static function get_instance()
172 {
173 static $instance = null;
174
175 if (is_null($instance)) {
176 $instance = new self();
177 }
178
179 return $instance;
180 }
181 }