PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.0
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.0
V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 2.10.2 All 137 releases
bit-form / includes / Core / Fallback / Validation.php

Validation.php in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder 2.0, at includes/Core/Fallback/Validation.php

143 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace BitCode\BitForm\Core\Fallback;
4
5 use BitCode\BitForm\Core\Database\FormModel;
6
7 class Validation {
8 public function errorMessage() {
9 $formModel = new FormModel();
10 $forms = $formModel->get(
11 ['id', 'form_content']
12 );
13
14 if (isset($forms) && !is_wp_error($forms)) {
15 foreach ($forms as $form) {
16 $formID = $form->id;
17 $formContent = json_decode($form->form_content);
18 $fields = $formContent->fields;
19
20 foreach ($fields as $fldKey => $fldData) {
21 if (isset($fldData->valid->req)) {
22 if (!isset($fldData->err)) {
23 $fldData->err = (object) [];
24 }
25 $fldData->err->req = (object) [
26 'show' => true,
27 'dflt' => 'This field is required',
28 ];
29 }
30
31 if ('check' === $fldData->typ) {
32 $reqOpts = array_map(function ($op) {
33 return $op->lbl;
34 }, array_filter($fldData->opt, function ($ot) {
35 return isset($ot->req);
36 }));
37 if (!empty($reqOpts)) {
38 if (!isset($fldData->err)) {
39 $fldData->err = (object) [];
40 }
41 $fldData->err->req = (object) [
42 'show' => true,
43 'dflt' => implode(', ', $reqOpts) . ' is required',
44 ];
45 }
46 }
47
48 if ('number' === $fldData->typ) {
49 if (!isset($fldData->err)) {
50 $fldData->err = (object) [];
51 }
52 $fldData->err->invalid = (object) [
53 'show' => true,
54 'dflt' => 'Number is invalid',
55 ];
56
57 if (isset($fldData->mn)) {
58 $fldData->err->mn = (object) [
59 'show' => true,
60 'dflt' => 'Minimum number is ' . $fldData->mn,
61 ];
62 }
63
64 if (isset($fldData->mx)) {
65 $fldData->err->mx = (object) [
66 'show' => true,
67 'dflt' => 'Maximum number is ' . $fldData->mx,
68 ];
69 }
70 }
71
72 if ('email' === $fldData->typ) {
73 $fldData->pattern = '^$_bf_$w+([.-]?$_bf_$w+)*@$_bf_$w+([.-]?$_bf_$w+)*($_bf_$.$_bf_$w{2,3})+$';
74 if (!isset($fldData->err)) {
75 $fldData->err = (object) [];
76 }
77 $fldData->err->invalid = (object) [
78 'show' => true,
79 'dflt' => 'Email is invalid',
80 ];
81 }
82
83 if ('url' === $fldData->typ) {
84 $fldData->attr->pattern = '^(?:(?:https?|ftp):$_bf_$/$_bf_$/)?(?:(?!(?:10|127)(?:$_bf_$.$_bf_$d{1,3}){3})(?!(?:169$_bf_$.254|192$_bf_$.168)(?:$_bf_$.$_bf_$d{1,3}){2})(?!172$_bf_$.(?:1[6-9]|2$_bf_$d|3[0-1])(?:$_bf_$.$_bf_$d{1,3}){2})(?:[1-9]$_bf_$d?|1$_bf_$d$_bf_$d|2[01]$_bf_$d|22[0-3])(?:$_bf_$.(?:1?$_bf_$d{1,2}|2[0-4]$_bf_$d|25[0-5])){2}(?:$_bf_$.(?:[1-9]$_bf_$d?|1$_bf_$d$_bf_$d|2[0-4]$_bf_$d|25[0-4]))|(?:(?:[a-z$_bf_$u00a1-$_bf_$uffff0-9]-*)*[a-z$_bf_$u00a1-$_bf_$uffff0-9]+)(?:$_bf_$.(?:[a-z$_bf_$u00a1-$_bf_$uffff0-9]-*)*[a-z$_bf_$u00a1-$_bf_$uffff0-9]+)*(?:$_bf_$.(?:[a-z$_bf_$u00a1-$_bf_$uffff]{2,})))(?::$_bf_$d{2,5})?(?:$_bf_$/$_bf_$S*)?$';
85 if (!isset($fldData->err)) {
86 $fldData->err = (object) [];
87 }
88 $fldData->err->invalid = [
89 'show' => true,
90 'dflt' => 'URL is invalid',
91 ];
92 }
93 $fields->{$fldKey} = $fldData;
94 }
95
96 $formContent->fields = $fields;
97
98 $formModel->update(
99 [
100 'form_content' => wp_json_encode($formContent),
101 ],
102 [
103 'id' => $formID,
104 ]
105 );
106 }
107 }
108 }
109
110 public function email() {
111 $formModel = new FormModel();
112 $forms = $formModel->get(
113 ['id', 'form_content']
114 );
115
116 if (!is_wp_error($forms)) {
117 foreach ($forms as $form) {
118 $formID = $form->id;
119 $formContent = json_decode($form->form_content);
120 $fields = $formContent->fields;
121
122 foreach ($fields as $fldKey => $fldData) {
123 if ('email' === $fldData->typ) {
124 $fldData->pattern = '^$_bf_$w+([.-]?$_bf_$w+)*@$_bf_$w+([.-]?$_bf_$w+)*($_bf_$.$_bf_$w{1,24})+$';
125 }
126 $fields->{$fldKey} = $fldData;
127 }
128
129 $formContent->fields = $fields;
130
131 $formModel->update(
132 [
133 'form_content' => wp_json_encode($formContent),
134 ],
135 [
136 'id' => $formID,
137 ]
138 );
139 }
140 }
141 }
142 }
143