PluginProbe
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration / 2.2.0
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration v2.2.0
2.2.0 2.1.0 2.0.15 2.0.12 2.0.10 2.0.4 2.0.1 2.0.0 1.95.3 1.95.2 1.95 1.91.6 trunk 1.11 1.12 1.13 1.20 1.21 1.22 1.23 1.30 1.31 1.32 1.35 1.40 All 43 releases
fluent-boards / app / Services / Sanitize.php

Sanitize.php in FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration 2.2.0, at app/Services/Sanitize.php

133 lines 4.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FluentBoards\App\Services;
4
5 class Sanitize
6 {
7 const MAX_PAGE_SIZE = 150;
8
9 /** Bound list sizes while retaining the largest shared UI pagination choice. */
10 public static function perPage($value, $maximum = self::MAX_PAGE_SIZE)
11 {
12 $value = is_scalar($value) ? (int) $value : 1;
13 return max(1, min((int) $maximum, $value));
14 }
15
16 public static function campaign($data)
17 {
18 $fieldMaps = [
19 'title' => 'sanitize_text_field',
20 'slug' => 'sanitize_text_field',
21 'template_id' => 'intval',
22 'email_subject' => 'sanitize_text_field',
23 'email_pre_header' => 'sanitize_text_field',
24 'utm_status' => 'intval',
25 'utm_source' => 'sanitize_text_field',
26 'utm_medium' => 'sanitize_text_field',
27 'utm_campaign' => 'sanitize_text_field',
28 'utm_term' => 'sanitize_text_field',
29 'utm_content' => 'sanitize_text_field',
30 'scheduled_at' => 'sanitize_text_field',
31 'design_template' => 'sanitize_text_field',
32 ];
33
34 foreach ($data as $key => $value) {
35 if ($value && isset($fieldMaps[$key]) && !is_array($value)) {
36 $data[$key] = call_user_func($fieldMaps[$key], $value);
37 }
38 }
39
40 return $data;
41 }
42
43 public static function contact($data)
44 {
45 $fieldMaps = [
46 'hash' => 'sanitize_text_field',
47 'prefix' => 'sanitize_text_field',
48 'first_name' => 'sanitize_text_field',
49 'last_name' => 'sanitize_text_field',
50 'user_id' => 'intval',
51 'email' => 'sanitize_email',
52 'status' => 'sanitize_text_field',
53 'contact_type' => 'sanitize_text_field',
54 'address_line_1' => 'sanitize_text_field',
55 'address_line_2' => 'sanitize_text_field',
56 'postal_code' => 'sanitize_text_field',
57 'city' => 'sanitize_text_field',
58 'state' => 'sanitize_text_field',
59 'country' => 'sanitize_text_field',
60 'phone' => 'sanitize_text_field',
61 'timezone' => 'sanitize_text_field',
62 'date_of_birth' => 'sanitize_text_field',
63 'source' => 'sanitize_text_field',
64 'life_time_value' => 'sanitize_text_field',
65 'last_activity' => 'sanitize_text_field',
66 'total_points' => 'intval',
67 'latitude' => 'sanitize_text_field',
68 'longitude' => 'sanitize_text_field',
69 'ip' => 'sanitize_text_field',
70 'created_at' => 'sanitize_text_field',
71 'updated_at' => 'sanitize_text_field',
72 'avatar' => 'sanitize_url',
73 ];
74
75 foreach ($data as $key => $value) {
76 if ($value && isset($fieldMaps[$key]) && !is_array($value)) {
77 $data[$key] = call_user_func($fieldMaps[$key], $value);
78 }
79 }
80
81 if (isset($data['stage'])) {
82 $stage = $data['stage'];
83 if (!in_array($stage, fluentcrm_subscriber_statuses())) {
84 unset($data['stage']);
85 }
86 }
87
88 return $data;
89 }
90
91 public static function contactNote($data)
92 {
93 $fieldMaps = [
94 'subscriber_id' => 'intval',
95 'parent_id' => 'intval',
96 'created_by' => 'sanitize_text_field',
97 'status' => 'sanitize_text_field',
98 'type' => 'sanitize_text_field',
99 'title' => 'sanitize_text_field',
100 'description' => 'wp_kses_post',
101 'created_at' => 'sanitize_text_field',
102 ];
103
104 foreach ($data as $key => $value) {
105 if ($value && isset($fieldMaps[$key]) && !is_array($value)) {
106 $data[$key] = call_user_func($fieldMaps[$key], $value);
107 }
108 }
109
110 return $data;
111 }
112
113 public static function funnel($data)
114 {
115 $fieldMaps = [
116 'type' => 'sanitize_text_field',
117 'title' => 'sanitize_text_field',
118 'trigger_name' => 'sanitize_text_field',
119 'status' => 'sanitize_text_field',
120 'created_by' => 'intval',
121 'updated_at' => 'sanitize_text_field',
122 ];
123
124 foreach ($data as $key => $value) {
125 if ($value && isset($fieldMaps[$key]) && !is_array($value)) {
126 $data[$key] = call_user_func($fieldMaps[$key], $value);
127 }
128 }
129
130 return $data;
131 }
132 }
133