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 / EditShortcodeLogin / EditShortcodeLogin.php
wp-user-avatar / src / Admin / SettingsPages / ShortcodeBuilder / EditShortcodeLogin Last commit date
EditShortcodeLogin.php 5 years ago edit_screen.php 5 years ago
EditShortcodeLogin.php
135 lines
1 <?php
2
3 namespace ProfilePress\Core\Admin\SettingsPages\ShortcodeBuilder\EditShortcodeLogin;
4
5
6 use ProfilePress\Core\Admin\SettingsPages\ShortcodeBuilder\ShortcodeInserterTrait;
7 use ProfilePress\Core\Classes\FormRepository;
8
9 class EditShortcodeLogin
10 {
11 use ShortcodeInserterTrait;
12
13 private $login_builder_errors;
14
15 public function __construct()
16 {
17 add_action('admin_init', [$this, 'save_edit']);
18 add_action('ppress_admin_notices', [$this, 'admin_notices']);
19 }
20
21 public function available_shortcodes()
22 {
23 return apply_filters('ppress_login_available_shortcodes', [
24 'login-username' => [
25 'description' => esc_html__('Username / Email address field', 'wp-user-avatar'),
26 'shortcode' => 'login-username',
27 'attributes' => self::popular_attributes()
28 ],
29 'login-password' => [
30 'description' => esc_html__('Password field', 'wp-user-avatar'),
31 'shortcode' => 'login-password',
32 'attributes' => self::popular_attributes()
33 ],
34 'login-remember' => [
35 'description' => esc_html__('Remeber Me checkbox', 'wp-user-avatar'),
36 'shortcode' => 'login-remember',
37 'attributes' => [
38 'id' => [
39 'label' => esc_html__('ID', 'wp-user-avatar'),
40 'field' => 'text'
41 ],
42 'class' => [
43 'label' => esc_html__('CSS class', 'wp-user-avatar'),
44 'field' => 'text'
45 ]
46 ]
47 ],
48 'login-submit' => [
49 'description' => esc_html__('Form submit button', 'wp-user-avatar'),
50 'shortcode' => 'login-submit',
51 'attributes' => [
52 'value' => [
53 'label' => esc_html__('Button label', 'wp-user-avatar'),
54 'field' => 'text'
55 ],
56 'id' => [
57 'label' => esc_html__('ID', 'wp-user-avatar'),
58 'field' => 'text'
59 ],
60 'class' => [
61 'label' => esc_html__('CSS class', 'wp-user-avatar'),
62 'field' => 'text'
63 ],
64 ]
65 ],
66 ]) + self::global_shortcodes();
67 }
68
69 public function admin_notices()
70 {
71 if (isset($this->login_builder_errors)) {
72 echo '<div id="message" class="error notice is-dismissible"><p><strong>' . $this->login_builder_errors . '</strong></p></div>';
73
74 return;
75 }
76
77 if (@$_GET['view'] == 'edit-shortcode-login' && @$_GET['form-edited']) {
78 echo '<div id="message" class="updated notice is-dismissible"><p><strong>' . esc_html__('Form updated', 'wp-user-avatar') . '</strong></p></div>';
79 }
80 }
81
82 public function edit_screen()
83 {
84 $this->traitInit($this->available_shortcodes());
85 require PPRESS_ADMIN_SETTINGS_PAGE_FOLDER . 'ShortcodeBuilder/EditShortcodeLogin/edit_screen.php';
86 }
87
88 public function save_edit()
89 {
90 if ( ! current_user_can('manage_options') || ! isset($_POST['edit_login']) || ! ppress_verify_nonce()) return;
91
92 $id = absint($_GET['id']);
93 $title = @sanitize_text_field($_POST['lfb_title']);
94 $structure = @stripslashes($_POST['lfb_structure']);
95 $css = @stripslashes($_POST['lfb_css']);
96 $make_passwordless = @sanitize_text_field($_POST['lfb_make_passwordless']);
97
98 if (empty($title)) {
99 $this->login_builder_errors = esc_html__('Title is empty', 'wp-user-avatar');
100 } elseif (empty($structure)) {
101 $this->login_builder_errors = esc_html__('Structure is missing', 'wp-user-avatar');
102 }
103
104 if (isset($this->login_builder_errors)) return;
105
106 FormRepository::update_form(
107 $id,
108 FormRepository::LOGIN_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::PASSWORDLESS_LOGIN => ! empty($make_passwordless)
115 ])
116 );
117
118 wp_safe_redirect(esc_url_raw(add_query_arg('form-edited', 'true')));
119 exit;
120 }
121
122 /**
123 * @return EditShortcodeLogin
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 }