HEX
Server: LiteSpeed
System: Linux in-mum-web875.main-hosting.eu 4.18.0-553.40.1.lve.el8.x86_64 #1 SMP Wed Feb 12 18:54:57 UTC 2025 x86_64
User: u621859406 (621859406)
PHP: 8.3.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: /home/u621859406/domains/cool-cow.com/public_html/wp-content/plugins/metform/autoloader.php
<?php
namespace MetForm;
defined( 'ABSPATH' ) || exit;

/**
 * MetForm autoloader.
 * Handles dynamically loading classes only when needed.
 *
 * @since 1.0.0
 */
class Autoloader {
    
	/**
	 * Run autoloader.
	 * Register a function as `__autoload()` implementation.
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public static function run() {
		spl_autoload_register( [ __CLASS__, 'autoload' ] );
    }
    
    /**
	 * Autoload.
	 * For a given class, check if it exist and load it.
	 *
	 * @since 1.0.0
	 * @access private
	 * @param string $class Class name.
	 */
	private static function autoload( $class_name ) {

        // If the class being requested does not start with our prefix
        // we know it's not one in our project.
        if ( 0 !== strpos( $class_name, __NAMESPACE__ ) ) {
            return;
        }
        
        $file_name = strtolower(
            preg_replace(
                [ '/\b'.__NAMESPACE__.'\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/' ],
                [ '', '$1-$2', '-', DIRECTORY_SEPARATOR],
                $class_name
            )
        );

        // Compile our path from the corosponding location.
        $file = plugin_dir_path(__FILE__) . $file_name . '.php';
        
        // If a file is found.
        if ( file_exists( $file ) ) {
            // Then load it up!
            require_once( $file );
        }
    }
}