HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/ippmt.kauko.lt/wp-content/plugins/host-analyticsjs-local/includes/class-ajax.php
<?php

/**
 * @package   CAOS
 * @author    Daan van den Bergh
 *            https://daan.dev
 * @copyright © 2022 Daan van den Bergh
 * @license   BY-NC-ND-4.0
 *            http://creativecommons.org/licenses/by-nc-nd/4.0/
 */

class CAOS_Ajax {
	/**
	 * Build class.
	 *
	 * @return void
	 */
	public function __construct() {
		$this->init();
	}

	/**
	 * Init hooks and filters.
	 *
	 * @return void
	 */
	private function init() {
		add_action( 'wp_ajax_caos_regenerate_alias', [ $this, 'regenerate_alias' ] );
	}

	/**
	 * Regenerate aliases and new files. Cleans up old files.
	 *
	 * @since v4.2.1
	 *
	 * @return void
	 */
	public function regenerate_alias() {
		check_ajax_referer( CAOS_Admin_Settings::CAOS_ADMIN_PAGE, 'nonce' );

		if ( ! current_user_can( 'manage_options' ) ) {
			wp_die( __( "Sorry, you're not allowed to do this.", 'host-analyticsjs-local' ) );
		}

		global $caos_file_aliases;

		if ( empty( $caos_file_aliases ) || ! $caos_file_aliases ) {
			return;
		}

		foreach ( $caos_file_aliases as $file => $alias ) {
			if ( file_exists( CAOS::get_local_dir() . $alias ) ) {
				unlink( CAOS::get_local_dir() . $alias );
			}

			$caos_file_aliases[ $file ] = bin2hex( random_bytes( 4 ) ) . '.js';
		}

		CAOS::set_file_aliases( $caos_file_aliases, true );
	}
}