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 / EditShortcodeMelange / EditShortcodeMelange.php
wp-user-avatar / src / Admin / SettingsPages / ShortcodeBuilder / EditShortcodeMelange Last commit date
EditShortcodeMelange.php 5 years ago edit_screen.php 5 years ago
EditShortcodeMelange.php
115 lines
1 <?php
2
3 namespace ProfilePress\Core\Admin\SettingsPages\ShortcodeBuilder\EditShortcodeMelange;
4
5 use ProfilePress\Core\Admin\SettingsPages\ShortcodeBuilder\ShortcodeInserterTrait;
6 use ProfilePress\Core\Classes\FormRepository;
7
8 class EditShortcodeMelange
9 {
10 use ShortcodeInserterTrait;
11
12 private $melange_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 return apply_filters('ppress_melange_available_shortcodes', [
23 'pp-login-form' => [
24 'description' => esc_html__('All login form shortcodes, HTML and CSS codes should be inside of this shortcode. That is [pp-login-form]...[/pp-login-form]', 'wp-user-avatar'),
25 'shortcode' => 'pp-login-form',
26 ],
27 'pp-registration-form' => [
28 'description' => esc_html__('All registration form shortcodes, HTML and CSS codes should be inside of this shortcode. That is [pp-registration-form]...[/pp-registration-form]', 'wp-user-avatar'),
29 'shortcode' => 'pp-registration-form',
30 ],
31 'pp-password-reset-form' => [
32 'description' => esc_html__('All password reset form shortcodes, HTML and CSS codes should be inside of this shortcode. That is [pp-password-reset-form]...[/pp-password-reset-form]', 'wp-user-avatar'),
33 'shortcode' => 'pp-password-reset-form',
34 ],
35 'pp-edit-profile-form' => [
36 'description' => esc_html__('All edit profile form shortcodes, HTML and CSS codes should be inside of this shortcode. That is [pp-password-reset-form]...[/pp-password-reset-form]', 'wp-user-avatar'),
37 'shortcode' => 'pp-edit-profile-form',
38 ],
39 ]) + self::global_shortcodes();
40 }
41
42 public function admin_notices()
43 {
44 if (isset($this->melange_errors)) {
45 echo '<div id="message" class="error notice is-dismissible"><p><strong>' . $this->melange_errors . '</strong></p></div>';
46
47 return;
48 }
49
50 if (@$_GET['view'] == 'edit-shortcode-melange' && @$_GET['form-edited']) {
51 echo '<div id="message" class="updated notice is-dismissible"><p><strong>' . esc_html__('Form updated', 'wp-user-avatar') . '</strong></p></div>';
52 }
53 }
54
55 public function edit_screen()
56 {
57 $this->traitInit($this->available_shortcodes());
58 require PPRESS_ADMIN_SETTINGS_PAGE_FOLDER . 'ShortcodeBuilder/EditShortcodeMelange/edit_screen.php';
59 }
60
61 public function save_edit()
62 {
63 if ( ! current_user_can('manage_options') || ! isset($_POST['edit_melange']) || ! ppress_verify_nonce()) return;
64
65 $id = absint($_GET['id']);
66 $title = @sanitize_text_field($_POST['mfb_title']);
67 $structure = @stripslashes($_POST['mfb_structure']);
68 $css = @stripslashes($_POST['mfb_css']);
69 $registration_msg = @stripslashes($_POST['mfb_success_registration']);
70 $password_reset_msg = @stripslashes($_POST['mfb_success_password_reset']);
71 $edit_profile_msg = @stripslashes($_POST['mfb_success_edit_profile']);
72 $disable_username_requirement = esc_attr(@$_POST['mfb_disable_username_requirement']);
73
74 // catch and save form generated errors in property @melange_errors
75 if (empty($title)) {
76 $this->melange_errors = esc_html__('Title is empty', 'wp-user-avatar');
77 } elseif (empty($structure)) {
78 $this->melange_errors = esc_html__('Melange Design is missing', 'wp-user-avatar');
79 }
80
81 if (isset($this->melange_errors)) return;
82
83 FormRepository::update_form(
84 $id,
85 FormRepository::MELANGE_TYPE,
86 $title,
87 apply_filters('ppress_shortcode_builder_registration_meta', [
88 FormRepository::FORM_STRUCTURE => $structure,
89 FormRepository::FORM_CSS => $css,
90 FormRepository::PROCESSING_LABEL => sanitize_text_field($_POST['processing_label']),
91 FormRepository::MELANGE_EDIT_PROFILE_SUCCESS_MESSAGE => $edit_profile_msg,
92 FormRepository::MELANGE_PASSWORD_RESET_SUCCESS_MESSAGE => $password_reset_msg,
93 FormRepository::MELANGE_REGISTRATION_SUCCESS_MESSAGE => $registration_msg,
94 FormRepository::DISABLE_USERNAME_REQUIREMENT => $disable_username_requirement == 'yes'
95 ])
96 );
97
98 wp_safe_redirect(esc_url_raw(add_query_arg('form-edited', 'true')));
99 exit;
100 }
101
102 /**
103 * @return EditShortcodeMelange
104 */
105 public static function get_instance()
106 {
107 static $instance = null;
108
109 if (is_null($instance)) {
110 $instance = new self();
111 }
112
113 return $instance;
114 }
115 }