PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / trunk
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress vtrunk
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 / FormPreviewHandler.php
wp-user-avatar / src / Classes Last commit date
Installer 3 years ago AdminNotices.php 2 months ago AjaxHandler.php 1 year ago Autologin.php 9 months ago BlockRegistrations.php 10 months ago BuddyPressBbPress.php 3 years ago DisableConcurrentLogins.php 2 years ago EditUserProfile.php 5 months ago ExtensionManager.php 1 month ago FileUploader.php 3 months ago FormPreviewHandler.php 5 months ago FormRepository.php 1 year ago FormShortcodeDefaults.php 1 month ago GDPR.php 3 years ago Geolocation.php 3 years ago GlobalSiteAccess.php 3 years ago ImageUploader.php 1 year ago LoginAuth.php 1 year ago Miscellaneous.php 3 years ago ModifyRedirectDefaultLinks.php 6 hours ago PPRESS_Session.php 1 year ago PROFILEPRESS_sql.php 1 year ago PasswordReset.php 1 year ago ProfileUrlRewrite.php 4 years ago RegistrationAuth.php 2 weeks ago SendEmail.php 3 years ago ShortcodeThemeFactory.php 5 years ago UserAvatar.php 1 year ago UserSignupLocationListingPage.php 3 years ago UsernameEmailRestrictLogin.php 4 years ago WPProfileFieldParserTrait.php 1 year ago WelcomeEmailAfterSignup.php 1 year ago default-email-template.php 1 year ago index.php 3 years ago
FormPreviewHandler.php
117 lines
1 <?php
2
3 namespace ProfilePress\Core\Classes;
4
5 class FormPreviewHandler
6 {
7 protected $_form_id = '';
8 protected $_form_type = '';
9
10 public function __construct()
11 {
12 if ( ! isset($_GET['pp_preview_form'], $_GET['type'])) return;
13
14 // Restrict preview to administrators.
15 if ( ! is_user_logged_in() || ! current_user_can('manage_options')) return;
16
17 $this->_form_id = absint($_GET['pp_preview_form']);
18 $this->_form_type = strtolower(sanitize_text_field($_GET['type']));
19
20 $allowed_types = [
21 FormRepository::LOGIN_TYPE,
22 FormRepository::REGISTRATION_TYPE,
23 FormRepository::PASSWORD_RESET_TYPE,
24 FormRepository::EDIT_PROFILE_TYPE,
25 FormRepository::MELANGE_TYPE,
26 FormRepository::USER_PROFILE_TYPE,
27 FormRepository::MEMBERS_DIRECTORY_TYPE,
28 ];
29
30 if ( ! in_array($this->_form_type, $allowed_types, true)) return;
31
32 // Ensure the form ID exists for the specified type.
33 if ( ! FormRepository::form_id_exist($this->_form_id, $this->_form_type)) return;
34
35 add_action('pre_get_posts', array($this, 'pre_get_posts'));
36
37 add_filter('the_title', array($this, 'the_title'));
38 remove_filter('the_content', 'wpautop');
39 remove_filter('the_excerpt', 'wpautop');
40 add_filter('the_content', array($this, 'the_content'), 9001);
41 add_filter('get_the_excerpt', array($this, 'the_content'));
42 /**
43 * Since wp_is_block_theme was only added in Wordpress 5.9,
44 * we need to verify it exists before calling it.
45 */
46 if ( ! function_exists('wp_is_block_theme') || ! wp_is_block_theme()) {
47 add_action('template_redirect', array($this, 'template_include'));
48 }
49
50 add_filter('post_thumbnail_html', '__return_empty_string');
51
52 // Avada theme incompatibility fix
53 add_action('awb_remove_third_party_the_content_changes', function () {
54 remove_filter('the_content', [$this, 'the_content'], 9001);
55 });
56
57 add_action('awb_readd_third_party_the_content_changes', function () {
58 add_filter('the_content', [$this, 'the_content'], 9001);
59 });
60 }
61
62 public function pre_get_posts($query)
63 {
64 if ($query->is_main_query()) {
65 $query->set('posts_per_page', 1);
66 $query->set('ignore_sticky_posts', true);
67 }
68 }
69
70 /**
71 * @return string
72 */
73 function the_title($title)
74 {
75 if ( ! in_the_loop()) return $title;
76
77 $form_title = FormRepository::get_name($this->_form_id, $this->_form_type);
78
79 return esc_html($form_title) . " " . esc_html__('Preview', 'wp-user-avatar');
80 }
81
82 /**
83 * @return string
84 */
85 function the_content()
86 {
87 if ( ! function_exists('is_user_logged_in') || ! is_user_logged_in()) return esc_html__('You must be logged in to preview a form.', 'wp-user-avatar');
88
89 return do_shortcode(sprintf("[profilepress-%s id='%d']", $this->_form_type, $this->_form_id));
90 }
91
92 /**
93 * @return string
94 */
95 function template_include()
96 {
97 require(locate_template(array('page.php', 'single.php', 'index.php')));
98 exit;
99 }
100
101 function post_thumbnail_html()
102 {
103 return '';
104 }
105
106 public static function get_instance()
107 {
108 static $instance = false;
109
110 if ( ! $instance) {
111 $instance = new self;
112 }
113
114 return $instance;
115 }
116 }
117