Completed
Push — master ( 246625...5dc8fd )
by Jamie
06:26 queued 02:26
created
classes/models/FrmEntryMeta.php 1 patch
Indentation   +181 added lines, -181 removed lines patch added patch discarded remove patch
@@ -5,25 +5,25 @@  discard block
 block discarded – undo
5 5
 
6 6
 class FrmEntryMeta {
7 7
 
8
-    /**
9
-     * @param string $meta_key
10
-     */
8
+	/**
9
+	 * @param string $meta_key
10
+	 */
11 11
 	public static function add_entry_meta( $entry_id, $field_id, $meta_key = null, $meta_value ) {
12
-        global $wpdb;
12
+		global $wpdb;
13 13
 
14
-        if ( FrmAppHelper::is_empty_value( $meta_value ) ) {
15
-            // don't save blank fields
16
-            return 0;
17
-        }
14
+		if ( FrmAppHelper::is_empty_value( $meta_value ) ) {
15
+			// don't save blank fields
16
+			return 0;
17
+		}
18 18
 
19
-        $new_values = array(
19
+		$new_values = array(
20 20
 			'meta_value'    => is_array( $meta_value ) ? serialize( array_filter( $meta_value, 'FrmAppHelper::is_not_empty_value' ) ) : trim( $meta_value ),
21
-            'item_id'       => $entry_id,
22
-            'field_id'      => $field_id,
23
-            'created_at'    => current_time('mysql', 1),
24
-        );
21
+			'item_id'       => $entry_id,
22
+			'field_id'      => $field_id,
23
+			'created_at'    => current_time('mysql', 1),
24
+		);
25 25
 
26
-        $new_values = apply_filters('frm_add_entry_meta', $new_values);
26
+		$new_values = apply_filters('frm_add_entry_meta', $new_values);
27 27
 
28 28
 		$query_results = $wpdb->insert( $wpdb->prefix . 'frm_item_metas', $new_values );
29 29
 
@@ -34,40 +34,40 @@  discard block
 block discarded – undo
34 34
 			$id = 0;
35 35
 		}
36 36
 
37
-        return $id;
38
-    }
37
+		return $id;
38
+	}
39 39
 
40
-    /**
41
-     * @param string $meta_key
42
-     */
40
+	/**
41
+	 * @param string $meta_key
42
+	 */
43 43
 	public static function update_entry_meta( $entry_id, $field_id, $meta_key = null, $meta_value ) {
44
-        if ( ! $field_id ) {
45
-            return false;
46
-        }
44
+		if ( ! $field_id ) {
45
+			return false;
46
+		}
47 47
 
48
-        global $wpdb;
48
+		global $wpdb;
49 49
 
50
-        $values = $where_values = array( 'item_id' => $entry_id, 'field_id' => $field_id );
51
-        $values['meta_value'] = $meta_value;
52
-        $values = apply_filters('frm_update_entry_meta', $values);
50
+		$values = $where_values = array( 'item_id' => $entry_id, 'field_id' => $field_id );
51
+		$values['meta_value'] = $meta_value;
52
+		$values = apply_filters('frm_update_entry_meta', $values);
53 53
 		if ( is_array($values['meta_value']) ) {
54 54
 			$values['meta_value'] = array_filter( $values['meta_value'], 'FrmAppHelper::is_not_empty_value' );
55 55
 		}
56
-        $meta_value = maybe_serialize($values['meta_value']);
56
+		$meta_value = maybe_serialize($values['meta_value']);
57 57
 
58
-        wp_cache_delete( $entry_id, 'frm_entry');
58
+		wp_cache_delete( $entry_id, 'frm_entry');
59 59
 		self::clear_cache();
60 60
 
61 61
 		return $wpdb->update( $wpdb->prefix . 'frm_item_metas', array( 'meta_value' => $meta_value ), $where_values );
62
-    }
62
+	}
63 63
 
64 64
 	public static function update_entry_metas( $entry_id, $values ) {
65
-        global $wpdb;
65
+		global $wpdb;
66 66
 
67 67
 		$prev_values = FrmDb::get_col( $wpdb->prefix . 'frm_item_metas', array( 'item_id' => $entry_id, 'field_id !' => 0 ), 'field_id' );
68 68
 
69
-        foreach ( $values as $field_id => $meta_value ) {
70
-            // set the value for the file upload field and add new tags (in Pro version)
69
+		foreach ( $values as $field_id => $meta_value ) {
70
+			// set the value for the file upload field and add new tags (in Pro version)
71 71
 			$meta_value = apply_filters( 'frm_prepare_data_before_db', $meta_value, $field_id, $entry_id );
72 72
 
73 73
 			if ( $prev_values && in_array($field_id, $prev_values) ) {
@@ -85,39 +85,39 @@  discard block
 block discarded – undo
85 85
 			}
86 86
 		}
87 87
 
88
-        if ( empty($prev_values) ) {
89
-            return;
90
-        }
88
+		if ( empty($prev_values) ) {
89
+			return;
90
+		}
91 91
 
92
-        $prev_values = array_diff($prev_values, array_keys($values));
92
+		$prev_values = array_diff($prev_values, array_keys($values));
93 93
 
94
-        if ( empty($prev_values) ) {
95
-            return;
96
-        }
94
+		if ( empty($prev_values) ) {
95
+			return;
96
+		}
97 97
 
98 98
 		// prepare the query
99 99
 		$where = array( 'item_id' => $entry_id, 'field_id' => $prev_values );
100 100
 		FrmDb::get_where_clause_and_values( $where );
101 101
 
102
-        // Delete any leftovers
103
-        $wpdb->query( $wpdb->prepare( 'DELETE FROM ' . $wpdb->prefix . 'frm_item_metas ' . $where['where'], $where['values'] ) );
102
+		// Delete any leftovers
103
+		$wpdb->query( $wpdb->prepare( 'DELETE FROM ' . $wpdb->prefix . 'frm_item_metas ' . $where['where'], $where['values'] ) );
104 104
 		self::clear_cache();
105
-    }
105
+	}
106 106
 
107 107
 	public static function duplicate_entry_metas( $old_id, $new_id ) {
108
-        $metas = self::get_entry_meta_info($old_id);
109
-        foreach ( $metas as $meta ) {
110
-            self::add_entry_meta($new_id, $meta->field_id, null, $meta->meta_value);
111
-            unset($meta);
112
-        }
108
+		$metas = self::get_entry_meta_info($old_id);
109
+		foreach ( $metas as $meta ) {
110
+			self::add_entry_meta($new_id, $meta->field_id, null, $meta->meta_value);
111
+			unset($meta);
112
+		}
113 113
 		self::clear_cache();
114
-    }
114
+	}
115 115
 
116 116
 	public static function delete_entry_meta( $entry_id, $field_id ) {
117
-        global $wpdb;
117
+		global $wpdb;
118 118
 		self::clear_cache();
119
-        return $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->prefix}frm_item_metas WHERE field_id=%d AND item_id=%d", $field_id, $entry_id));
120
-    }
119
+		return $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->prefix}frm_item_metas WHERE field_id=%d AND item_id=%d", $field_id, $entry_id));
120
+	}
121 121
 
122 122
 	/**
123 123
 	 * Clear entry meta caching
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
 	}
143 143
 
144 144
 	public static function get_entry_meta_by_field( $entry_id, $field_id ) {
145
-        global $wpdb;
145
+		global $wpdb;
146 146
 
147 147
 		if ( is_object( $entry_id ) ) {
148 148
 			$entry = $entry_id;
@@ -155,137 +155,137 @@  discard block
 block discarded – undo
155 155
 
156 156
 		if ( $cached && isset( $cached->metas ) && isset( $cached->metas[ $field_id ] ) ) {
157 157
 			$result = $cached->metas[ $field_id ];
158
-            return stripslashes_deep($result);
159
-        }
158
+			return stripslashes_deep($result);
159
+		}
160 160
 
161 161
 		$get_table = $wpdb->prefix . 'frm_item_metas';
162 162
 		$query = array( 'item_id' => $entry_id );
163
-        if ( is_numeric($field_id) ) {
163
+		if ( is_numeric($field_id) ) {
164 164
 			$query['field_id'] = $field_id;
165
-        } else {
165
+		} else {
166 166
 			$get_table .= ' it LEFT OUTER JOIN ' . $wpdb->prefix . 'frm_fields fi ON it.field_id=fi.id';
167 167
 			$query['fi.field_key'] = $field_id;
168
-        }
168
+		}
169 169
 
170 170
 		$result = FrmDb::get_var( $get_table, $query, 'meta_value' );
171
-        $result = maybe_unserialize($result);
172
-        $result = stripslashes_deep($result);
171
+		$result = maybe_unserialize($result);
172
+		$result = stripslashes_deep($result);
173 173
 
174
-        return $result;
175
-    }
174
+		return $result;
175
+	}
176 176
 
177 177
 	public static function get_entry_metas( $entry_id ) {
178
-        _deprecated_function( __FUNCTION__, '1.07.10');
178
+		_deprecated_function( __FUNCTION__, '1.07.10');
179 179
 
180
-        global $wpdb;
180
+		global $wpdb;
181 181
 		return FrmDb::get_col( $wpdb->prefix . 'frm_item_metas', array( 'item_id' => $entry_id ), 'meta_value' );
182
-    }
182
+	}
183 183
 
184
-    public static function get_entry_metas_for_field( $field_id, $order = '', $limit = '', $args = array() ) {
184
+	public static function get_entry_metas_for_field( $field_id, $order = '', $limit = '', $args = array() ) {
185 185
 		$defaults = array( 'value' => false, 'unique' => false, 'stripslashes' => true, 'is_draft' => false );
186
-        $args = wp_parse_args( $args, $defaults );
186
+		$args = wp_parse_args( $args, $defaults );
187 187
 
188
-        $query = array();
189
-        self::meta_field_query($field_id, $order, $limit, $args, $query);
190
-        $query = implode(' ', $query);
188
+		$query = array();
189
+		self::meta_field_query($field_id, $order, $limit, $args, $query);
190
+		$query = implode(' ', $query);
191 191
 
192 192
 		$cache_key = 'entry_metas_for_field_' . $field_id . $order . $limit . maybe_serialize( $args );
193
-        $values = FrmAppHelper::check_cache($cache_key, 'frm_entry', $query, 'get_col');
193
+		$values = FrmAppHelper::check_cache($cache_key, 'frm_entry', $query, 'get_col');
194 194
 
195
-        if ( ! $args['stripslashes'] ) {
196
-            return $values;
197
-        }
195
+		if ( ! $args['stripslashes'] ) {
196
+			return $values;
197
+		}
198 198
 
199 199
 		foreach ( $values as $k => $v ) {
200 200
 			$values[ $k ] = maybe_unserialize( $v );
201
-            unset($k, $v);
202
-        }
201
+			unset($k, $v);
202
+		}
203 203
 
204
-        return stripslashes_deep($values);
205
-    }
204
+		return stripslashes_deep($values);
205
+	}
206 206
 
207
-    /**
208
-     * @param string $order
209
-     * @param string $limit
210
-     */
207
+	/**
208
+	 * @param string $order
209
+	 * @param string $limit
210
+	 */
211 211
 	private static function meta_field_query( $field_id, $order, $limit, $args, array &$query ) {
212
-        global $wpdb;
213
-        $query[] = 'SELECT';
214
-        $query[] = $args['unique'] ? 'DISTINCT(em.meta_value)' : 'em.meta_value';
212
+		global $wpdb;
213
+		$query[] = 'SELECT';
214
+		$query[] = $args['unique'] ? 'DISTINCT(em.meta_value)' : 'em.meta_value';
215 215
 		$query[] = 'FROM ' . $wpdb->prefix . 'frm_item_metas em ';
216 216
 
217
-        if ( ! $args['is_draft'] ) {
217
+		if ( ! $args['is_draft'] ) {
218 218
 			$query[] = 'INNER JOIN ' . $wpdb->prefix . 'frm_items e ON (e.id=em.item_id)';
219
-        }
219
+		}
220 220
 
221
-        if ( is_numeric($field_id) ) {
222
-            $query[] = $wpdb->prepare('WHERE em.field_id=%d', $field_id);
223
-        } else {
221
+		if ( is_numeric($field_id) ) {
222
+			$query[] = $wpdb->prepare('WHERE em.field_id=%d', $field_id);
223
+		} else {
224 224
 			$query[] = $wpdb->prepare( 'LEFT JOIN ' . $wpdb->prefix . 'frm_fields fi ON (em.field_id = fi.id) WHERE fi.field_key=%s', $field_id );
225
-        }
225
+		}
226 226
 
227
-        if ( ! $args['is_draft'] ) {
228
-            $query[] = 'AND e.is_draft=0';
229
-        }
227
+		if ( ! $args['is_draft'] ) {
228
+			$query[] = 'AND e.is_draft=0';
229
+		}
230 230
 
231
-        if ( $args['value'] ) {
232
-            $query[] = $wpdb->prepare(' AND meta_value=%s', $args['value']);
233
-        }
234
-        $query[] = $order . $limit;
235
-    }
231
+		if ( $args['value'] ) {
232
+			$query[] = $wpdb->prepare(' AND meta_value=%s', $args['value']);
233
+		}
234
+		$query[] = $order . $limit;
235
+	}
236 236
 
237 237
 	public static function get_entry_meta_info( $entry_id ) {
238 238
 		return FrmDb::get_results( 'frm_item_metas', array( 'item_id' => $entry_id ) );
239
-    }
239
+	}
240 240
 
241 241
 	public static function getAll( $where = array(), $order_by = '', $limit = '', $stripslashes = false ) {
242
-        global $wpdb;
243
-        $query = 'SELECT it.*, fi.type as field_type, fi.field_key as field_key,
242
+		global $wpdb;
243
+		$query = 'SELECT it.*, fi.type as field_type, fi.field_key as field_key,
244 244
             fi.required as required, fi.form_id as field_form_id, fi.name as field_name, fi.options as fi_options
245 245
 			FROM ' . $wpdb->prefix . 'frm_item_metas it LEFT OUTER JOIN ' . $wpdb->prefix . 'frm_fields fi ON it.field_id=fi.id' .
246
-            FrmAppHelper::prepend_and_or_where(' WHERE ', $where) . $order_by . $limit;
246
+			FrmAppHelper::prepend_and_or_where(' WHERE ', $where) . $order_by . $limit;
247 247
 
248 248
 		$cache_key = 'all_' . maybe_serialize( $where ) . $order_by . $limit;
249
-        $results = FrmAppHelper::check_cache($cache_key, 'frm_entry', $query, ($limit == ' LIMIT 1' ? 'get_row' : 'get_results'));
249
+		$results = FrmAppHelper::check_cache($cache_key, 'frm_entry', $query, ($limit == ' LIMIT 1' ? 'get_row' : 'get_results'));
250 250
 
251
-        if ( ! $results || ! $stripslashes ) {
252
-            return $results;
253
-        }
251
+		if ( ! $results || ! $stripslashes ) {
252
+			return $results;
253
+		}
254 254
 
255
-        foreach ( $results as $k => $result ) {
255
+		foreach ( $results as $k => $result ) {
256 256
 			$results[ $k ]->meta_value = stripslashes_deep( maybe_unserialize( $result->meta_value ) );
257
-            unset($k, $result);
258
-        }
257
+			unset($k, $result);
258
+		}
259 259
 
260
-        return $results;
261
-    }
260
+		return $results;
261
+	}
262 262
 
263
-    public static function getEntryIds( $where = array(), $order_by = '', $limit = '', $unique = true, $args = array() ) {
263
+	public static function getEntryIds( $where = array(), $order_by = '', $limit = '', $unique = true, $args = array() ) {
264 264
 		$defaults = array(
265 265
 			'is_draft' => false,
266 266
 			'user_id'  => '',
267 267
 			'group_by' => '',
268 268
 		);
269
-        $args = wp_parse_args($args, $defaults);
269
+		$args = wp_parse_args($args, $defaults);
270 270
 
271
-        $query = array();
272
-        self::get_ids_query($where, $order_by, $limit, $unique, $args, $query );
273
-        $query = implode(' ', $query);
271
+		$query = array();
272
+		self::get_ids_query($where, $order_by, $limit, $unique, $args, $query );
273
+		$query = implode(' ', $query);
274 274
 
275 275
 		$cache_key = 'ids_' . maybe_serialize( $where ) . $order_by . 'l' . $limit . 'u' . $unique . maybe_serialize( $args );
276
-        $results = FrmAppHelper::check_cache($cache_key, 'frm_entry', $query, ($limit == ' LIMIT 1' ? 'get_var' : 'get_col'));
276
+		$results = FrmAppHelper::check_cache($cache_key, 'frm_entry', $query, ($limit == ' LIMIT 1' ? 'get_var' : 'get_col'));
277 277
 
278
-        return $results;
279
-    }
278
+		return $results;
279
+	}
280 280
 
281
-    /**
282
-     * @param string|array $where
283
-     * @param string $order_by
284
-     * @param string $limit
285
-     */
281
+	/**
282
+	 * @param string|array $where
283
+	 * @param string $order_by
284
+	 * @param string $limit
285
+	 */
286 286
 	private static function get_ids_query( $where, $order_by, $limit, $unique, $args, array &$query ) {
287
-        global $wpdb;
288
-        $query[] = 'SELECT';
287
+		global $wpdb;
288
+		$query[] = 'SELECT';
289 289
 
290 290
 		$defaults = array( 'return_parent_id' => false );
291 291
 		$args = array_merge( $defaults, $args );
@@ -299,88 +299,88 @@  discard block
 block discarded – undo
299 299
 		$query[] = 'FROM ' . $wpdb->prefix . 'frm_item_metas it LEFT OUTER JOIN ' . $wpdb->prefix . 'frm_fields fi ON it.field_id=fi.id';
300 300
 
301 301
 		$query[] = 'INNER JOIN ' . $wpdb->prefix . 'frm_items e ON (e.id=it.item_id)';
302
-        if ( is_array($where) ) {
303
-            if ( ! $args['is_draft'] ) {
304
-                $where['e.is_draft'] = 0;
305
-            } else if ( $args['is_draft'] == 1 ) {
306
-                $where['e.is_draft'] = 1;
307
-            }
308
-
309
-            if ( ! empty($args['user_id']) ) {
310
-                $where['e.user_id'] = $args['user_id'];
311
-            }
312
-            $query[] = FrmAppHelper::prepend_and_or_where(' WHERE ', $where) . $order_by . $limit;
302
+		if ( is_array($where) ) {
303
+			if ( ! $args['is_draft'] ) {
304
+				$where['e.is_draft'] = 0;
305
+			} else if ( $args['is_draft'] == 1 ) {
306
+				$where['e.is_draft'] = 1;
307
+			}
308
+
309
+			if ( ! empty($args['user_id']) ) {
310
+				$where['e.user_id'] = $args['user_id'];
311
+			}
312
+			$query[] = FrmAppHelper::prepend_and_or_where(' WHERE ', $where) . $order_by . $limit;
313 313
 
314 314
 			if ( $args['group_by'] ) {
315 315
 				$query[] = ' GROUP BY ' . sanitize_text_field( $args['group_by'] );
316 316
 			}
317
-            return;
318
-        }
317
+			return;
318
+		}
319 319
 
320 320
 		$draft_where = $user_where = '';
321
-        if ( ! $args['is_draft'] ) {
321
+		if ( ! $args['is_draft'] ) {
322 322
 			$draft_where = $wpdb->prepare( ' AND e.is_draft=%d', 0 );
323
-        } else if ( $args['is_draft'] == 1 ) {
323
+		} else if ( $args['is_draft'] == 1 ) {
324 324
 			$draft_where = $wpdb->prepare( ' AND e.is_draft=%d', 1 );
325
-        }
325
+		}
326 326
 
327
-        if ( ! empty($args['user_id']) ) {
328
-            $user_where = $wpdb->prepare(' AND e.user_id=%d', $args['user_id']);
329
-        }
327
+		if ( ! empty($args['user_id']) ) {
328
+			$user_where = $wpdb->prepare(' AND e.user_id=%d', $args['user_id']);
329
+		}
330 330
 
331
-        if ( strpos($where, ' GROUP BY ') ) {
332
-            // don't inject WHERE filtering after GROUP BY
333
-            $parts = explode(' GROUP BY ', $where);
334
-            $where = $parts[0];
335
-            $where .= $draft_where . $user_where;
331
+		if ( strpos($where, ' GROUP BY ') ) {
332
+			// don't inject WHERE filtering after GROUP BY
333
+			$parts = explode(' GROUP BY ', $where);
334
+			$where = $parts[0];
335
+			$where .= $draft_where . $user_where;
336 336
 			$where .= ' GROUP BY ' . $parts[1];
337
-        } else {
338
-            $where .= $draft_where . $user_where;
339
-        }
337
+		} else {
338
+			$where .= $draft_where . $user_where;
339
+		}
340 340
 
341 341
 		// The query has already been prepared
342 342
 		$query[] = FrmAppHelper::prepend_and_or_where(' WHERE ', $where) . $order_by . $limit;
343
-    }
343
+	}
344 344
 
345
-    public static function search_entry_metas( $search, $field_id = '', $operator ) {
345
+	public static function search_entry_metas( $search, $field_id = '', $operator ) {
346 346
 		$cache_key = 'search_' . maybe_serialize( $search ) . $field_id . $operator;
347
-        $results = wp_cache_get($cache_key, 'frm_entry');
348
-        if ( false !== $results ) {
349
-            return $results;
350
-        }
347
+		$results = wp_cache_get($cache_key, 'frm_entry');
348
+		if ( false !== $results ) {
349
+			return $results;
350
+		}
351 351
 
352
-        global $wpdb;
352
+		global $wpdb;
353 353
 		if ( is_array( $search ) ) {
354
-            $where = '';
354
+			$where = '';
355 355
 			foreach ( $search as $field => $value ) {
356 356
 				if ( $value <= 0 || ! in_array( $field, array( 'year', 'month', 'day' ) ) ) {
357
-                    continue;
358
-                }
357
+					continue;
358
+				}
359 359
 
360
-                switch ( $field ) {
361
-                    case 'year':
360
+				switch ( $field ) {
361
+					case 'year':
362 362
 						$value = '%' . $value;
363
-                    break;
364
-                    case 'month':
365
-                        $value .= '%';
366
-                    break;
367
-                    case 'day':
363
+					break;
364
+					case 'month':
365
+						$value .= '%';
366
+					break;
367
+					case 'day':
368 368
 						$value = '%' . $value . '%';
369
-                }
369
+				}
370 370
 				$where .= $wpdb->prepare(' meta_value ' . $operator . ' %s and', $value );
371
-            }
372
-            $where .= $wpdb->prepare(' field_id=%d', $field_id);
371
+			}
372
+			$where .= $wpdb->prepare(' field_id=%d', $field_id);
373 373
 			$query = 'SELECT DISTINCT item_id FROM ' . $wpdb->prefix . 'frm_item_metas' . FrmAppHelper::prepend_and_or_where( ' WHERE ', $where );
374
-        } else {
374
+		} else {
375 375
 			if ( $operator == 'LIKE' ) {
376
-                $search = '%' . $search . '%';
376
+				$search = '%' . $search . '%';
377 377
 			}
378
-            $query = $wpdb->prepare("SELECT DISTINCT item_id FROM {$wpdb->prefix}frm_item_metas WHERE meta_value {$operator} %s and field_id = %d", $search, $field_id);
379
-        }
378
+			$query = $wpdb->prepare("SELECT DISTINCT item_id FROM {$wpdb->prefix}frm_item_metas WHERE meta_value {$operator} %s and field_id = %d", $search, $field_id);
379
+		}
380 380
 
381
-        $results = $wpdb->get_col($query, 0);
382
-        wp_cache_set($cache_key, $results, 'frm_entry', 300);
381
+		$results = $wpdb->get_col($query, 0);
382
+		wp_cache_set($cache_key, $results, 'frm_entry', 300);
383 383
 
384
-        return $results;
385
-    }
384
+		return $results;
385
+	}
386 386
 }
Please login to merge, or discard this patch.