PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.2
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.2
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/models/FrmPersonalData.php +4 -22 6.266.2 View file →
@@ -4,16 +4,10 @@
4 4 }
5 5
6 6 class FrmPersonalData {
7 7
8 - /**
9 - * @var int
10 - */
11 8 private $limit = 200;
12 9
13 - /**
14 - * @var int
15 - */
16 10 private $page = 1;
17 11
18 12 public function __construct() {
19 13 add_filter( 'wp_privacy_personal_data_erasers', array( $this, 'register_data_eraser' ) );
@@ -56,11 +50,8 @@
56 50 return $erasers;
57 51 }
58 52
59 53 /**
60 - * @param string $email
61 - * @param int $page
62 - *
63 54 * @return array
64 55 */
65 56 public function export_data( $email, $page = 1 ) {
66 57 $this->page = absint( $page );
@@ -70,14 +61,13 @@
70 61 'done' => true,
71 62 );
72 63
73 64 $entries = $this->get_user_entries( $email );
74 -
75 65 if ( empty( $entries ) ) {
76 66 return $data_to_export;
77 67 }
78 68
79 - foreach ( $entries as $entry ) {
69 + foreach ( (array) $entries as $entry ) {
80 70 $data_to_export['data'][] = array(
81 71 'group_id' => 'formidable',
82 72 'group_label' => __( 'Form Submissions', 'formidable' ),
83 73 'item_id' => esc_attr( 'entry-' . $entry ),
@@ -90,11 +80,8 @@
90 80 return $data_to_export;
91 81 }
92 82
93 83 /**
94 - * @param string $email
95 - * @param int $page
96 - *
97 84 * @return array
98 85 */
99 86 public function erase_data( $email, $page = 1 ) {
100 87 $data_removed = array(
@@ -109,9 +96,8 @@
109 96 }
110 97
111 98 $this->page = absint( $page );
112 99 $entries = $this->get_user_entries( $email );
113 -
114 100 if ( empty( $entries ) ) {
115 101 return $data_removed;
116 102 }
117 103
@@ -116,9 +102,9 @@
116 102 }
117 103
118 104 // TODO: Add an option to anonymize the entries with wp_privacy_anonymize_data( 'email', 'e@e.com' );
119 105
120 - foreach ( $entries as $entry ) {
106 + foreach ( (array) $entries as $entry ) {
121 107 $removed = FrmEntry::destroy( $entry );
122 108
123 109 if ( $removed ) {
124 110 $data_removed['items_removed'] = true;
@@ -137,9 +123,9 @@
137 123 * or with a field value that matches the email address
138 124 *
139 125 * @param string $email
140 126 *
141 - * @return array Entry ids
127 + * @return array of entry ids
142 128 */
143 129 private function get_user_entries( $email ) {
144 130 $query_args = array(
145 131 'order_by' => 'item_id ASC',
@@ -158,17 +144,14 @@
158 144 $query_args['order_by'] = 'id ASC';
159 145
160 146 $entries_by_user = FrmDb::get_col( 'frm_items', array( 'user_id' => $user->ID ), 'id', $query_args );
161 147
162 - $entry_ids = array_merge( $entries_by_user, $entries_by_email );
148 + $entry_ids = array_merge( (array) $entries_by_user, (array) $entries_by_email );
163 149 $entry_ids = array_unique( array_filter( $entry_ids ) );
164 150
165 151 return $entry_ids;
166 152 }
167 153
168 - /**
169 - * @return string
170 - */
171 154 private function get_current_page() {
172 155 $start = ( $this->page - 1 ) * $this->limit;
173 156
174 157 return FrmDb::esc_limit( $start . ',' . $this->limit );
@@ -182,9 +165,8 @@
182 165 private function prepare_entry_data( $entry ) {
183 166 $entry = FrmEntry::getOne( $entry, true );
184 167
185 168 $entry_data = array();
186 -
187 169 foreach ( $entry->metas as $field_id => $meta ) {
188 170 $field = FrmField::getOne( $field_id );
189 171
190 172 $entry_data[] = array(