/home/techb158/primomovers.ca/wp-content/plugins/everest-forms/includes
NameSizeModeActions
abilities/-0755rm
abstracts/-0755rm
admin/-0755rm
blocks/-0755rm
elementor/-0755rm
export/-0755rm
fields/-0755rm
Helpers/-0755rm
Integrations/-0755rm
interfaces/-0755rm
libraries/-0755rm
log-handlers/-0755rm
RestApi/-0755rm
shortcodes/-0755rm
stats/-0755rm
templates/-0755rm
traits/-0755rm
class-everest-forms.php151470644editdlrm
class-evf-addon-upsell.php105920644editdlrm
class-evf-ajax.php788220644editdlrm
class-evf-autoloader.php19680644editdlrm
class-evf-background-process-import-entries.php52760644editdlrm
class-evf-background-updater.php33510644editdlrm
class-evf-cache-helper.php24160644editdlrm
class-evf-cron.php18710644editdlrm
class-evf-deprecated-action-hooks.php40080644editdlrm
class-evf-deprecated-filter-hooks.php37290644editdlrm
class-evf-email-entries-report.php118780644editdlrm
class-evf-emails.php201340644editdlrm
class-evf-fields.php48280644editdlrm
class-evf-form-handler.php167800644editdlrm
class-evf-form-task.php954660644editdlrm
class-evf-forms-features.php19570644editdlrm
class-evf-frontend-scripts.php173990644editdlrm
class-evf-install.php215130644editdlrm
class-evf-integrations.php69430644editdlrm
class-evf-log-levels.php26740644editdlrm
class-evf-logger.php84710644editdlrm
class-evf-post-types.php52540644editdlrm
class-evf-privacy.php75870644editdlrm
class-evf-report-cron.php66890644editdlrm
class-evf-reporting.php12010644editdlrm
class-evf-session-handler.php82110644editdlrm
class-evf-shortcodes.php20840644editdlrm
class-evf-smart-tags.php207420644editdlrm
class-evf-template-loader.php146430644editdlrm
class-evf-validation.php9340644editdlrm
evf-conditional-functions.php12420644editdlrm
evf-core-functions.php2015750644editdlrm
evf-deprecated-functions.php63650644editdlrm
evf-entry-functions.php93670644editdlrm
evf-formatting-functions.php159580644editdlrm
evf-notice-functions.php63780644editdlrm
evf-template-functions.php12250644editdlrm
evf-template-hooks.php4390644editdlrm
evf-update-functions.php102030644editdlrm
Edit: /home/techb158/primomovers.ca/wp-content/plugins/everest-forms/includes/class-evf-report-cron.php (6689B)
warning( sprintf( /* translators: %s: frequency value */ __( 'EVF Report: unknown frequency "%s", cannot schedule.', 'everest-forms' ), $frequency ), array( 'source' => 'evf-reporting' ) ); return false; } $midnight_local = gmdate( 'Y-m-d 00:00:00', strtotime( $offset ) ); $midnight_utc = get_gmt_from_date( $midnight_local ); $next_run = strtotime( $midnight_utc ) + ( $send_hour * HOUR_IN_SECONDS ); wp_schedule_event( $next_run, $recurrence, self::HOOK ); return true; } /** * Clear all scheduled report events. * * @since 2.0.7 */ public function evf_schedule_clear_all() { $timestamp = wp_next_scheduled( self::HOOK ); while ( $timestamp ) { wp_unschedule_event( $timestamp, self::HOOK ); $timestamp = wp_next_scheduled( self::HOOK ); } } /** * Clear and reschedule. Called after settings are saved. * * @since 2.0.9 */ public function evf_reschedule() { $this->evf_schedule_clear_all(); if ( 'yes' === get_option( 'everest_forms_enable_entries_reporting', 'no' ) ) { $this->evf_schedule_add(); } } /** * Handle schedule cleanup on plugin deactivation. * * @since 2.0.7 */ public function deactivate() { $this->evf_schedule_clear_all(); } /** * Build and send the report email. * * @since 2.0.9 * @param bool $is_test Whether this is a manual test send. * @return bool */ public function evf_report_form_statistics_send( $is_test = false ) { $recipient_option = get_option( 'everest_forms_entries_reporting_email', '{admin_email}' ); $admin_email = sanitize_email( get_bloginfo( 'admin_email' ) ); if ( '{admin_email}' === $recipient_option ) { $recipient = array( $admin_email ); } else { $recipient_string = str_replace( '{admin_email}', $admin_email, $recipient_option ); $recipient_emails = array(); foreach ( explode( ',', $recipient_string ) as $email ) { $email = sanitize_email( trim( $email ) ); if ( is_email( $email ) ) { $recipient_emails[] = $email; } } $recipient = ! empty( $recipient_emails ) ? $recipient_emails : array( $admin_email ); } $subject = get_option( 'everest_forms_entries_reporting_subject', __( 'Everest Forms - Entries summary statistics', 'everest-forms' ) ); if ( empty( trim( $subject ) ) ) { $subject = __( 'Everest Forms - Entries summary statistics', 'everest-forms' ); } $frequency = get_option( 'everest_forms_entries_reporting_frequency', 'Weekly' ); if ( ! in_array( $frequency, array( 'Daily', 'Weekly', 'Monthly' ), true ) ) { evf_get_logger()->warning( sprintf( /* translators: %s: frequency value */ __( 'EVF Report: invalid frequency "%s" at send time.', 'everest-forms' ), $frequency ), array( 'source' => 'evf-reporting' ) ); return false; } $email_builder = new EVF_Email_Entries_Report( $frequency, null, $is_test ); $entries_data = $email_builder->get_entries_data(); $html_message = $email_builder->render_html(); $headers = array( 'Content-Type: text/html; charset=UTF-8', 'From: ' . wp_specialchars_decode( get_bloginfo( 'name' ) ) . ' <' . sanitize_email( get_option( 'admin_email' ) ) . '>', ); $sent = wp_mail( $recipient, $subject, $html_message, $headers ); if ( $sent && ! $is_test ) { $this->log_report_sent( array( 'frequency' => $frequency, 'email' => $recipient, 'entries' => $entries_data, 'type' => 'scheduled', ) ); } return $sent; } /** * Log a report send to the history option. Keeps the last 30 records. * * @since 2.0.9 * @param array $data Keys: frequency, email, entries, type. */ public function log_report_sent( $data ) { $history = get_option( 'everest_forms_report_history', array() ); if ( ! is_array( $history ) ) { $history = array(); } $entry_count = ( ! empty( $data['entries'] ) && is_array( $data['entries'] ) ) ? array_sum( array_column( $data['entries'], 'current' ) ) : 0; $history[] = array( 'sent_at' => current_time( 'mysql' ), 'frequency' => isset( $data['frequency'] ) ? $data['frequency'] : '', 'recipient' => isset( $data['email'] ) ? $data['email'] : '', 'form_count' => ! empty( $data['entries'] ) ? count( $data['entries'] ) : 0, 'total_entries' => $entry_count, 'type' => isset( $data['type'] ) ? $data['type'] : 'scheduled', ); update_option( 'everest_forms_report_history', array_slice( $history, -30 ) ); } /** * Get the schedule health status for display in settings. * * @since 2.0.9 * @return array { status: string, message: string } */ public function get_schedule_status() { $enabled = get_option( 'everest_forms_enable_entries_reporting', 'no' ); if ( 'yes' !== $enabled ) { return array( 'status' => 'disabled', 'message' => __( 'Entry reporting is currently disabled.', 'everest-forms' ), ); } $next = wp_next_scheduled( self::HOOK ); if ( ! $next ) { return array( 'status' => 'not_scheduled', 'message' => __( 'Reporting is enabled but no report is scheduled. Try saving settings again.', 'everest-forms' ), ); } return array( 'status' => 'active', 'message' => sprintf( /* translators: %s: next send date/time */ __( 'Next report scheduled for %s.', 'everest-forms' ), get_date_from_gmt( gmdate( 'Y-m-d H:i:s', $next ), get_option( 'date_format' ) . ' ' . get_option( 'time_format' ) ) ), ); } }