PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 3.1
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v3.1
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 5 years ago MyAccount 5 years ago EditProfileTag.php 5 years ago FormProcessor.php 5 years ago FrontendProfileTag.php 5 years ago LoginFormTag.php 5 years ago MelangeTag.php 5 years ago MemberDirectoryTag.php 5 years ago PasswordResetTag.php 5 years ago RegistrationFormTag.php 5 years ago index.php 5 years ago
EditProfileTag.php
124 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 $redirect = isset($atts['redirect']) ? esc_url_raw($atts['redirect']) : '';
38
39 $response = '';
40 if (isset($this->edit_profile_form_error[$id])) {
41 $response = $this->edit_profile_form_error[$id];
42 }
43
44 if (isset($_GET['edit']) && ($_GET['edit'] == 'true')) {
45 $response = html_entity_decode(EditUserProfile::get_success_message($id));
46 }
47
48 $response = apply_filters('ppress_edit_profile_status', $response, $id);
49
50 $attribution_start = apply_filters('ppress_hide_attribution', '<!-- This form was created and powered by ProfilePress WordPress plugin - https://profilepress.net -->' . "\r\n");
51 $attribution_end = apply_filters('ppress_hide_attribution', "\r\n" . '<!-- / ProfilePress WordPress plugin. -->' . "\r\n");
52 $css = self::get_edit_profile_css($id);
53
54 $container_div_start = sprintf('<div id="pp-edit-profile-%s-wrap" class="pp-form-container pp-edit-profile-form-wrap">', $id);
55 $container_div_end = '</div>';
56
57 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);
58 }
59
60 /**
61 * Get the registration structure from the database
62 *
63 * @param int $id
64 * @param string $redirect URL to redirect to after edit profile.
65 *
66 * @return string
67 */
68 public static function get_edit_profile_structure($id, $redirect = '')
69 {
70 $structure = "<input type='hidden' name='editprofile_form_id' value='$id'>";
71
72 if ( ! empty($redirect)) {
73 $structure .= "<input type='hidden' name='editprofile_redirect' value='$redirect'>";
74 }
75
76 if (FR::is_drag_drop($id, FR::EDIT_PROFILE_TYPE)) {
77 $form_instance = FR::dnd_class_instance($id, FR::EDIT_PROFILE_TYPE);
78 if ( ! $form_instance) return esc_html__('Form class not found. Please check if this ProfilePress form actually exist.', 'wp-user-avatar');
79 $structure .= $form_instance->form_structure();
80 } else {
81 $structure .= FR::get_form_meta($id, FR::EDIT_PROFILE_TYPE, FR::FORM_STRUCTURE);
82 }
83
84 $GLOBALS['pp_edit_profile_form_id'] = $id;
85
86 $structure = do_shortcode($structure);
87
88 $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) . ">";
89
90 return $form_tag . $structure . '</form>';
91 }
92
93 /**
94 * Get the CSS stylesheet for the ID registration
95 *
96 * @return mixed
97 */
98
99 public static function get_edit_profile_css($id)
100 {
101 if ( ! isset($id)) return '';
102
103 if (FR::is_drag_drop($id, FR::EDIT_PROFILE_TYPE)) {
104 $form_instance = FR::dnd_class_instance($id, FR::EDIT_PROFILE_TYPE);
105 if ( ! $form_instance) return '';
106 $css = $form_instance->minified_form_css();
107 } else {
108 $css = FR::get_form_meta($id, FR::EDIT_PROFILE_TYPE, FR::FORM_CSS);
109 }
110
111 return "<style type=\"text/css\">\r\n $css \r\n</style>";
112 }
113
114 public static function get_instance()
115 {
116 static $instance = false;
117
118 if ( ! $instance) {
119 $instance = new self;
120 }
121
122 return $instance;
123 }
124 }