1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
<?php
namespace WPForms\Lite\Reports;
/** * Generate form submissions reports. * * @since 1.5.4 */ class EntriesCount {
/** * Constructor. * * @since 1.5.4 */ public function __construct() {}
/** * Get entries count grouped by form. * Main point of entry to fetch form entry count data from DB. * Cache the result. * * @since 1.5.4 * * @return array */ public function get_by_form() {
$forms = \wpforms()->form->get( '', array( 'fields' => 'ids' ) );
if ( empty( $forms ) || ! \is_array( $forms ) ) { return array(); }
$result = array();
foreach ( $forms as $form_id ) { $count = \absint( \get_post_meta( $form_id, 'wpforms_entries_count', true ) ); if ( empty( $count ) ) { continue; } $result[ $form_id ] = array( 'form_id' => $form_id, 'count' => $count, 'title' => \get_the_title( $form_id ), ); }
if ( ! empty( $result ) ) { // Sort forms by entries count (desc). \uasort( $result, function ( $a, $b ) { return ( $a['count'] > $b['count'] ) ? -1 : 1; } ); }
return $result; } }
|