PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 4.01.02
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v4.01.02
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/controllers/FrmUsageController.php +5 -124 6.254.01.02 View file →
@@ -9,42 +9,22 @@
9 9 */
10 10 class FrmUsageController {
11 11
12 12 /**
13 - * Option name of flows data.
14 - *
15 - * @since 6.16.1
16 - *
17 - * @var string
18 - */
19 - const FLOWS_ACTION_NAME = 'frm_usage_tracking_flows';
20 -
21 - /**
22 13 * Randomize the first send to prevent our servers from crashing.
23 14 *
24 15 * @since 3.06.04
25 - *
26 - * @return void
27 16 */
28 17 public static function schedule_send() {
29 - $timestamp = wp_next_scheduled( 'formidable_send_usage' );
30 - if ( ! self::tracking_allowed() ) {
31 - if ( $timestamp ) {
32 - // Remove the scheduled event if it's not allowed and it's scheduled.
33 - wp_unschedule_event( $timestamp, 'formidable_send_usage' );
34 - }
18 + if ( wp_next_scheduled( 'formidable_send_usage' ) ) {
35 19 return;
36 20 }
37 21
38 - if ( $timestamp ) {
39 - return;
40 - }
41 -
42 22 $tracking = array(
43 - 'day' => random_int( 0, 6 ) * DAY_IN_SECONDS,
44 - 'hour' => random_int( 0, 23 ) * HOUR_IN_SECONDS,
45 - 'minute' => random_int( 0, 59 ) * MINUTE_IN_SECONDS,
46 - 'second' => random_int( 0, 59 ),
23 + 'day' => rand( 0, 6 ) * DAY_IN_SECONDS,
24 + 'hour' => rand( 0, 23 ) * HOUR_IN_SECONDS,
25 + 'minute' => rand( 0, 59 ) * MINUTE_IN_SECONDS,
26 + 'second' => rand( 0, 59 ),
47 27 );
48 28
49 29 $offset = array_sum( $tracking );
50 30 $init_send = strtotime( 'next sunday' ) + $offset;
@@ -65,110 +45,11 @@
65 45 return $schedules;
66 46 }
67 47
68 48 /**
69 - * Checks if tracking is allowed.
70 - *
71 - * @since 6.16.3
72 - *
73 - * @return bool
74 - */
75 - public static function tracking_allowed() {
76 - $settings = FrmAppHelper::get_settings();
77 - return $settings->tracking;
78 - }
79 -
80 - /**
81 49 * @since 3.06.04
82 - *
83 - * @return void
84 50 */
85 51 public static function send_snapshot() {
86 52 $usage = new FrmUsage();
87 53 $usage->send_snapshot();
88 - }
89 -
90 - /**
91 - * Loads scripts.
92 - *
93 - * @since 6.16.1
94 - */
95 - public static function load_scripts() {
96 - if ( self::is_forms_list_page() || FrmAppHelper::is_admin_page( 'formidable-form-templates' ) ) {
97 - wp_enqueue_script( 'frm-usage-tracking', FrmAppHelper::plugin_url() . '/js/admin/usage-tracking.js', array( 'formidable_dom' ), FrmAppHelper::$plug_version, true );
98 - }
99 - }
100 -
101 - /**
102 - * Checks if is forms list page.
103 - *
104 - * @since 6.16.1
105 - *
106 - * @return bool
107 - */
108 - private static function is_forms_list_page() {
109 - if ( ! FrmAppHelper::on_form_listing_page() ) {
110 - return false;
111 - }
112 -
113 - // Exclude Trash page.
114 - $form_type = FrmAppHelper::simple_get( 'form_type' );
115 - return $form_type && 'published' === $form_type;
116 - }
117 -
118 - /**
119 - * AJAX handler to track flows.
120 - *
121 - * @since 6.16.1
122 - */
123 - public static function ajax_track_flows() {
124 - FrmAppHelper::permission_check( 'frm_view_forms' );
125 - check_ajax_referer( 'frm_ajax', 'nonce' );
126 -
127 - $key = FrmAppHelper::get_post_param( 'key', '', 'sanitize_text_field' );
128 - $value = FrmAppHelper::get_post_param( 'value', '', 'sanitize_text_field' );
129 -
130 - self::update_flows_data( $key, $value );
131 -
132 - wp_send_json_success();
133 - }
134 -
135 - /**
136 - * Updates flows data.
137 - *
138 - * @since 6.16.1
139 - *
140 - * @param string $key Flow key.
141 - * @param string $value Flow value.
142 - *
143 - * @return void
144 - */
145 - public static function update_flows_data( $key, $value ) {
146 - $flows_data = self::get_flows_data();
147 -
148 - if ( '' === $key || '' === $value ) {
149 - return;
150 - }
151 -
152 - if ( ! isset( $flows_data[ $key ] ) ) {
153 - $flows_data[ $key ] = array();
154 - }
155 -
156 - if ( ! isset( $flows_data[ $key ][ $value ] ) ) {
157 - $flows_data[ $key ][ $value ] = 0;
158 - }
159 -
160 - $flows_data[ $key ][ $value ]++;
161 - update_option( self::FLOWS_ACTION_NAME, $flows_data );
162 - }
163 -
164 - /**
165 - * Get flows data.
166 - *
167 - * @since 6.16.1
168 - *
169 - * @return array
170 - */
171 - public static function get_flows_data() {
172 - return get_option( self::FLOWS_ACTION_NAME, array() );
173 54 }
174 55 }