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.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 / ShortcodeParser / EditProfileTag.php
wp-user-avatar / src / ShortcodeParser Last commit date
Builder 4 weeks ago MyAccount 4 weeks ago EditProfileTag.php 1 year ago FormProcessor.php 1 year ago FrontendProfileTag.php 1 year ago Init.php 3 years ago LoginFormTag.php 2 years ago MelangeTag.php 1 year ago MemberDirectoryTag.php 1 year ago MembershipShortcodes.php 1 year ago PasswordResetTag.php 4 weeks ago RegistrationFormTag.php 1 year ago index.php 5 years ago
EditProfileTag.php
127 lines
1 <?php
2
3 namespace ProfilePress\Core\ShortcodeParser;
4
5 use ProfilePress\Core\Classes\EditUserProfile;
6 use ProfilePress\Core\Classes\FormRepository as FR;
7
8 class EditProfileTag extends FormProcessor
9 {
10 public function __construct()
11 {
12 add_action('wp', [$this, 'process_edit_profile_form']);
13
14 add_shortcode('profilepress-edit-profile', array($this, 'parse_shortcode'));
15 }
16
17 /** Get the current user id */
18 public static function get_current_user_id()
19 {
20 $current_user = wp_get_current_user();
21
22 return $current_user->ID;
23 }
24
25 /**
26 * Shortcode callback function to parse the shortcode.
27 *
28 * @param $atts
29 *
30 * @return string
31 */
32 public function parse_shortcode($atts)
33 {
34 do_action('ppress_edit_profile_before_parse_shortcode');
35
36 $id = absint($atts['id']);
37
38 do_action('ppress_edit_profile_form_before', $id, $atts);
39
40 $redirect = isset($atts['redirect']) ? esc_url_raw($atts['redirect']) : '';
41
42 $response = '';
43 if (isset($this->edit_profile_form_error[$id])) {
44 $response = $this->edit_profile_form_error[$id];
45 }
46
47 if (isset($_GET['edit']) && ($_GET['edit'] == 'true')) {
48 $response = wp_kses_post(html_entity_decode(EditUserProfile::get_success_message($id)));
49 }
50
51 $response = apply_filters('ppress_edit_profile_status', $response, $id);
52
53 $attribution_start = apply_filters('ppress_hide_attribution', '<!-- This form was created and powered by ProfilePress WordPress plugin - https://profilepress.com -->' . "\r\n");
54 $attribution_end = apply_filters('ppress_hide_attribution', "\r\n" . '<!-- / ProfilePress WordPress plugin. -->' . "\r\n");
55 $css = self::get_edit_profile_css($id);
56
57 $container_div_start = sprintf('<div id="pp-edit-profile-%s-wrap" class="pp-form-container pp-edit-profile-form-wrap">', $id);
58 $container_div_end = '</div>';
59
60 return apply_filters('ppress_edit_profile_form', $attribution_start . $css . $container_div_start . $response . self::get_edit_profile_structure($id, $redirect) . $container_div_end . $attribution_end, $id);
61 }
62
63 /**
64 * Get the registration structure from the database
65 *
66 * @param int $id
67 * @param string $redirect URL to redirect to after edit profile.
68 *
69 * @return string
70 */
71 public static function get_edit_profile_structure($id, $redirect = '')
72 {
73 $structure = "<input type='hidden' name='editprofile_form_id' value='$id'>";
74
75 if ( ! empty($redirect)) {
76 $structure .= "<input type='hidden' name='editprofile_redirect' value='" . esc_attr($redirect) . "'>";
77 }
78
79 if (FR::is_drag_drop($id, FR::EDIT_PROFILE_TYPE)) {
80 $form_instance = FR::dnd_class_instance($id, FR::EDIT_PROFILE_TYPE);
81 if ( ! $form_instance) return esc_html__('Form class not found. Please check if this ProfilePress form actually exist.', 'wp-user-avatar');
82 $structure .= $form_instance->form_structure();
83 } else {
84 $structure .= FR::get_form_meta($id, FR::EDIT_PROFILE_TYPE, FR::FORM_STRUCTURE);
85 }
86
87 $GLOBALS['pp_edit_profile_form_id'] = $id;
88
89 $structure = do_shortcode($structure);
90
91 $form_tag = "<form data-pp-form-submit=\"editprofile\" id='pp_edit-profile_$id' method='post' autocomplete=\"off\" enctype='multipart/form-data'" . apply_filters('ppress_edit_profile_form_tag', '', $id) . ">";
92
93 return $form_tag . $structure . '</form>';
94 }
95
96 /**
97 * Get the CSS stylesheet for the ID registration
98 *
99 * @return mixed
100 */
101
102 public static function get_edit_profile_css($id)
103 {
104 if ( ! isset($id)) return '';
105
106 if (FR::is_drag_drop($id, FR::EDIT_PROFILE_TYPE)) {
107 $form_instance = FR::dnd_class_instance($id, FR::EDIT_PROFILE_TYPE);
108 if ( ! $form_instance) return '';
109 $css = $form_instance->minified_form_css();
110 } else {
111 $css = FR::get_form_meta($id, FR::EDIT_PROFILE_TYPE, FR::FORM_CSS);
112 }
113
114 return "<style type=\"text/css\">\r\n $css \r\n</style>";
115 }
116
117 public static function get_instance()
118 {
119 static $instance = false;
120
121 if ( ! $instance) {
122 $instance = new self;
123 }
124
125 return $instance;
126 }
127 }