PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.0.3
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.0.3
4.17.3 4.17.2 4.17.1 4.17.0 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 / Membership / SettingsFieldsParser.php
wp-user-avatar / src / Admin / SettingsPages / Membership Last commit date
CouponsPage 4 years ago CustomersPage 4 years ago DashboardPage 4 years ago OrdersPage 4 years ago PlansPage 4 years ago SubscriptionsPage 4 years ago TaxSettings 4 years ago views 4 years ago CheckListHeader.php 4 years ago CheckoutFieldsManager.php 4 years ago ContextualStateChangeHelper.php 4 years ago PaymentMethods.php 4 years ago PaymentSettings.php 4 years ago SettingsFieldsParser.php 4 years ago index.php 4 years ago
SettingsFieldsParser.php
117 lines
1 <?php
2
3 namespace ProfilePress\Core\Admin\SettingsPages\Membership;
4
5 use ProfilePress\Core\Membership\Models\Coupon\CouponUnit;
6
7 class SettingsFieldsParser
8 {
9 protected $config;
10 protected $dbData;
11 protected $field_class;
12
13 public function __construct($config, $dbData = [], $field_class = 'ppress-plan-control')
14 {
15 $this->config = $config;
16 $this->dbData = $dbData;
17 $this->field_class = $field_class;
18 }
19
20 protected function field_output($config)
21 {
22 $field_id = sanitize_text_field($config['id']);
23 $placeholder = esc_attr(ppress_var($config, 'placeholder', ''));
24
25 $field_data = ppressPOST_var($field_id, $this->dbData->$field_id);
26
27 switch ($config['type']) {
28 case 'text':
29 printf('<input placeholder="%4$s" class="%3$s" name="%1$s" id="%1$s" type="text" value="%2$s">', esc_attr($field_id), esc_attr($field_data), esc_attr($this->field_class), $placeholder);
30 break;
31 case 'number':
32 printf('<input placeholder="%4$s" class="%3$s" name="%1$s" id="%1$s" type="number" value="%2$s">', esc_attr($field_id), esc_attr($field_data), esc_attr($this->field_class), $placeholder);
33 break;
34 case 'price':
35 printf('<input class="%3$s" step="any" placeholder="0.00" name="%1$s" id="%1$s" type="number" value="%2$s">', esc_attr($field_id), esc_attr($field_data), esc_attr($this->field_class));
36 break;
37 case 'textarea':
38 printf('<textarea class="%3$s" name="%1$s" id="%1$s">%2$s</textarea>', esc_attr($field_id), esc_attr($field_data), esc_attr($this->field_class));
39 break;
40 case 'discount':
41 printf('<span class="ppress-amount-type-wrapper">
42 <input type="text" required="required" class="%3$s" id="amount" name="amount" value="%6$s" placeholder="0">
43 <label for="ppress-discount-type" class="screen-reader-text">%s</label>
44 <select name="unit" id="ppress-discount-type">
45 <option value="percent" %7$s>&#37;</option>
46 <option value="flat" %8$s>%5$s</option>
47 </select>
48 </span>',
49 esc_attr($field_id),
50 esc_attr($field_data),
51 esc_attr($this->field_class),
52 esc_html__('Discount Type', 'wp-user-avatar'),
53 ppress_get_currency_symbol(),
54 $this->dbData->amount,
55 selected($this->dbData->unit, CouponUnit::PERCENTAGE, false),
56 selected($this->dbData->unit, CouponUnit::FLAT, false)
57 );
58 break;
59 case 'wp_editor':
60 // Remove all TinyMCE plugins.
61 remove_all_filters('mce_buttons', 10);
62 remove_all_filters('mce_external_plugins', 10);
63 remove_all_actions('media_buttons');
64 // add core media button back.
65 add_action('media_buttons', 'media_buttons');
66
67 wp_editor(wp_kses_post($field_data), sanitize_text_field($field_id), ["editor_height" => 100, 'editor_class' => 'ppress-plan-control']);
68 break;
69 case 'select':
70 if (is_array($config['options']) && ! empty($config['options'])) {
71 $is_multiple = ppress_var($config, 'multiple') === true;
72 $name = $is_multiple ? $config['id'] . '[]' : $config['id'];
73 printf('<select class="%2$s" name="%1$s" id="%3$s"%4$s>', esc_attr($name), esc_attr($this->field_class), $config['id'], $is_multiple ? ' multiple' : '');
74 foreach ($config['options'] as $option_id => $option_name) {
75 if (is_array($field_data) || ppress_var($config, 'multiple') === true) {
76 $selected = in_array($option_id, $field_data) ? 'selected' : '';
77 } else {
78 $selected = selected($option_id, $field_data, false);
79 }
80 printf('<option value="%1$s" %3$s>%2$s</option>', $option_id, $option_name, $selected);
81 }
82 echo '</select>';
83 }
84 break;
85 case 'radio':
86 if (is_array($config['options']) && ! empty($config['options'])) {
87 foreach ($config['options'] as $option_id => $option_name) {
88 printf('<label><input type="radio" name="%4$s" value="%1$s" %3$s>%2$s</label>', $option_id, $option_name, checked($option_id, $field_data, false), $field_id);
89 }
90 }
91 break;
92 }
93 }
94
95 public function build()
96 {
97 ?>
98 <table class="form-table">
99 <tbody>
100 <?php foreach ($this->config as $config) : ?>
101 <tr class="form-field" id="field-role-<?= esc_attr($config['id']) ?>">
102 <th scope="row" valign="top">
103 <label for="<?= esc_attr($config['id']) ?>"><?= sanitize_text_field($config['label']) ?></label>
104 </th>
105 <td>
106 <?php $this->field_output($config); ?>
107 <?php if ( ! empty($config['description'])) : ?>
108 <p class="description"><?php echo esc_attr($config['description']); ?></p>
109 <?php endif; ?>
110 </td>
111 </tr>
112 <?php endforeach; ?>
113 </tbody>
114 </table>
115 <?php
116 }
117 }