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.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 / Admin / SettingsPages / ShortcodeBuilder / EditShortcodeEditProfile / EditShortcodeEditProfile.php
wp-user-avatar / src / Admin / SettingsPages / ShortcodeBuilder / EditShortcodeEditProfile Last commit date
EditShortcodeEditProfile.php 5 years ago edit_screen.php 5 years ago
EditShortcodeEditProfile.php
135 lines
1 <?php
2
3 namespace ProfilePress\Core\Admin\SettingsPages\ShortcodeBuilder\EditShortcodeEditProfile;
4
5 use ProfilePress\Core\Admin\SettingsPages\ShortcodeBuilder\ShortcodeInserterTrait;
6 use ProfilePress\Core\Classes\FormRepository;
7
8 class EditShortcodeEditProfile
9 {
10 use ShortcodeInserterTrait;
11
12 private $edit_profile_builder_errors;
13
14 public function __construct()
15 {
16 add_action('admin_init', [$this, 'save_edit']);
17 add_action('ppress_admin_notices', [$this, 'admin_notices']);
18 }
19
20 public function available_shortcodes()
21 {
22 $shortcodes = self::reg_edit_profile_available_shortcodes('edit-profile');
23
24 $shortcodes['pp-remove-avatar-button'] = [
25 'description' => esc_html__('Button to delete profile picture', 'wp-user-avatar'),
26 'shortcode' => 'pp-remove-avatar-button',
27 'attributes' => [
28 'label' => [
29 'label' => esc_html__('Button label', 'wp-user-avatar'),
30 'field' => 'text',
31 'placeholder' => esc_html__('Delete Avatar', 'wp-user-avatar')
32 ],
33 'id' => [
34 'label' => esc_html__('ID', 'wp-user-avatar'),
35 'field' => 'text'
36 ],
37 'class' => [
38 'label' => esc_html__('CSS class', 'wp-user-avatar'),
39 'field' => 'text'
40 ],
41 ]
42 ];
43
44 $shortcodes['pp-remove-cover-image-button'] = [
45 'description' => esc_html__('Button to delete profile cover image', 'wp-user-avatar'),
46 'shortcode' => 'pp-remove-cover-image-button',
47 'attributes' => [
48 'label' => [
49 'label' => esc_html__('Button label', 'wp-user-avatar'),
50 'field' => 'text',
51 'placeholder' => esc_html__('Delete Cover Image', 'wp-user-avatar')
52 ],
53 'id' => [
54 'label' => esc_html__('ID', 'wp-user-avatar'),
55 'field' => 'text'
56 ],
57 'class' => [
58 'label' => esc_html__('CSS class', 'wp-user-avatar'),
59 'field' => 'text'
60 ],
61 ]
62 ];
63
64 return $shortcodes;
65 }
66
67 public function admin_notices()
68 {
69 if (isset($this->edit_profile_builder_errors)) {
70 echo '<div id="message" class="error notice is-dismissible"><p><strong>' . $this->edit_profile_builder_errors . '</strong></p></div>';
71
72 return;
73 }
74
75 if (@$_GET['view'] == 'edit-shortcode-edit-profile' && @$_GET['form-edited']) {
76 echo '<div id="message" class="updated notice is-dismissible"><p><strong>' . esc_html__('Form updated', 'wp-user-avatar') . '</strong></p></div>';
77 }
78 }
79
80 public function edit_screen()
81 {
82 // we're using here because this method is only called when the view is called for the form type.
83 $this->traitInit($this->available_shortcodes());
84
85 require PPRESS_ADMIN_SETTINGS_PAGE_FOLDER . 'ShortcodeBuilder/EditShortcodeEditProfile/edit_screen.php';
86 }
87
88 public function save_edit()
89 {
90 if ( ! current_user_can('manage_options') || ! isset($_POST['edit_user_profile']) || ! ppress_verify_nonce()) return;
91
92 $id = absint($_GET['id']);
93 $title = @sanitize_text_field($_POST['eup_title']);
94 $structure = @stripslashes($_POST['eup_structure']);
95 $css = @stripslashes($_POST['eup_css']);
96 $success_edit_profile = @stripslashes($_POST['eup_success_edit_profile']);
97
98 if (empty($title)) {
99 $this->edit_profile_builder_errors = esc_html__('Title is empty', 'wp-user-avatar');
100 } elseif (empty($structure)) {
101 $this->edit_profile_builder_errors = esc_html__('Form Structure is missing', 'wp-user-avatar');
102 }
103
104 if (isset($this->edit_profile_builder_errors)) return;
105
106 FormRepository::update_form(
107 $id,
108 FormRepository::EDIT_PROFILE_TYPE,
109 $title,
110 apply_filters('ppress_shortcode_builder_registration_meta', [
111 FormRepository::FORM_STRUCTURE => $structure,
112 FormRepository::FORM_CSS => $css,
113 FormRepository::PROCESSING_LABEL => sanitize_text_field($_POST['processing_label']),
114 FormRepository::SUCCESS_MESSAGE => $success_edit_profile,
115 ])
116 );
117
118 wp_safe_redirect(esc_url_raw(add_query_arg('form-edited', 'true')));
119 exit;
120 }
121
122 /**
123 * @return EditShortcodeEditProfile
124 */
125 public static function get_instance()
126 {
127 static $instance = null;
128
129 if (is_null($instance)) {
130 $instance = new self();
131 }
132
133 return $instance;
134 }
135 }