HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpmuhibbah_err/wp-content/plugins/defender-security/src/model/class-email-track.php
<?php
/**
 * Handles interactions with the database table for email tracking.
 *
 * @package WP_Defender\Model
 */

namespace WP_Defender\Model;

use WP_Defender\DB;

/**
 * Model for the email tracking table.
 */
class Email_Track extends DB {

	/**
	 * Table name.
	 *
	 * @var string
	 */
	protected $table = 'defender_email_log';

	/**
	 * Primary key column.
	 *
	 * @var int
	 * @defender_property
	 */
	public $id;
	/**
	 * Table column for timestamp.
	 *
	 * @var int
	 * @defender_property
	 */
	public $timestamp;
	/**
	 * Table column for source.
	 *
	 * @var string
	 * @defender_property
	 */
	public $source;
	/**
	 * Table column for to.
	 *
	 * @var string
	 * @defender_property
	 */
	public $to;

	/**
	 * Count the number of records in the database table based on the provided filters.
	 *
	 * @param  mixed $source  The source to filter by.
	 * @param  mixed $email  The email to filter by.
	 * @param  mixed $date_from  The start date for the date range filter.
	 * @param  mixed $date_to  The end date for the date range filter.
	 *
	 * @return int|null The number of records matching the provided filters, or null if an error occurred.
	 */
	public static function count( $source, $email, $date_from, $date_to ) {
		$orm = self::get_orm();

		return $orm->get_repository( self::class )
					->where( 'source', $source )
					->where( 'to', $email )
					->where( 'timestamp', '>=', $date_from )
					->where( 'timestamp', '<=', $date_to )
					->count();
	}
}