PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.8
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.8
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/FrmEntryMeta.php +36 -13 6.36.8 View file →
@@ -42,11 +42,11 @@
42 42 return $id;
43 43 }
44 44
45 45 /**
46 - * @param int $entry_id
47 - * @param int $field_id
48 - * @param string $meta_key deprecated
46 + * @param int $entry_id
47 + * @param int $field_id
48 + * @param string $meta_key Deprecated.
49 49 * @param array|string $meta_value
50 50 *
51 51 * @return bool|false|int
52 52 */
@@ -139,9 +139,9 @@
139 139 } else {
140 140 // if value does not exist, then create it
141 141 self::add_entry_meta( $entry_id, $field_id, '', $meta_value );
142 142 }
143 - }
143 + }//end foreach
144 144
145 145 if ( empty( $prev_values ) ) {
146 146 return;
147 147 }
@@ -274,10 +274,13 @@
274 274 return wp_unslash( $values );
275 275 }
276 276
277 277 /**
278 - * @param string $order
279 - * @param string $limit
278 + * @param string|int $field_id
279 + * @param string $order
280 + * @param string $limit
281 + * @param array $args
282 + * @param array $query
280 283 */
281 284 private static function meta_field_query( $field_id, $order, $limit, $args, array &$query ) {
282 285 global $wpdb;
283 286 $query[] = 'SELECT';
@@ -362,10 +365,10 @@
362 365 }
363 366
364 367 /**
365 368 * @param string|array $where
366 - * @param string $order_by
367 - * @param string $limit
369 + * @param string $order_by
370 + * @param string $limit
368 371 */
369 372 private static function get_ids_query( $where, $order_by, $limit, $unique, $args, array &$query ) {
370 373 global $wpdb;
371 374 $query[] = 'SELECT';
@@ -392,11 +395,31 @@
392 395 $query[] = 'INNER JOIN ' . $wpdb->prefix . 'frm_items e ON (e.id=it.item_id)';
393 396 if ( is_array( $where ) ) {
394 397 if ( ! $args['is_draft'] ) {
395 398 $where['e.is_draft'] = 0;
396 - } elseif ( $args['is_draft'] == 1 ) {
397 - $where['e.is_draft'] = 1;
398 - }
399 + } elseif ( is_numeric( $args['is_draft'] ) ) {
400 + if ( class_exists( 'FrmAbandonmentHooksController', false ) ) {
401 + $where['e.is_draft'] = absint( $args['is_draft'] );
402 + } else {
403 + $where['e.is_draft'] = 1;
404 + }
405 + } elseif ( 'both' === $args['is_draft'] && class_exists( 'FrmAbandonmentHooksController', false ) ) {
406 + $where['e.is_draft'] = array( 0, 1 );
407 + } elseif ( false !== strpos( $args['is_draft'], ',' ) ) {
408 + $is_draft = array_reduce(
409 + explode( ',', $args['is_draft'] ),
410 + function( $total, $current ) {
411 + if ( is_numeric( $current ) ) {
412 + $total[] = absint( $current );
413 + }
414 + return $total;
415 + },
416 + array()
417 + );
418 + if ( $is_draft ) {
419 + $where['e.is_draft'] = $is_draft;
420 + }
421 + }//end if
399 422
400 423 if ( ! empty( $args['user_id'] ) ) {
401 424 $where['e.user_id'] = $args['user_id'];
402 425 }
@@ -406,9 +429,9 @@
406 429 $query[] = ' GROUP BY ' . sanitize_text_field( $args['group_by'] );
407 430 }
408 431
409 432 return;
410 - }
433 + }//end if
411 434
412 435 $draft_where = '';
413 436 $user_where = '';
414 437 if ( ! $args['is_draft'] ) {
@@ -468,9 +491,9 @@
468 491 if ( $operator == 'LIKE' ) {
469 492 $search = '%' . $search . '%';
470 493 }
471 494 $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 ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
472 - }
495 + }//end if
473 496
474 497 $results = $wpdb->get_col( $query, 0 ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
475 498 FrmDb::set_cache( $cache_key, $results, 'frm_entry' );
476 499