MSV FM

dot.antimicrobial@66.96.161.157: ~ $
Path : /hermes/sb_web/b1536/nilecomputing.com/wp-content/plugins/kali-forms/
File Upload :
Current < : /hermes/sb_web/b1536/nilecomputing.com/wp-content/plugins/kali-forms/autoloader.php

<?php
namespace KaliForms;

if ( ! defined( 'ABSPATH' ) ) {
	die;
}

/**
 * Class KaliForms_Autoloader
 */
class KaliForms_Autoloader {
	/**
	 * KaliForms_Autoloader constructor.
	 */
	public function __construct() {
		spl_autoload_register( [ $this, 'load' ] );
	}

	/**
	 * Load the class name
	 *
	 * @param string $filename
	 */
	public function load( $filename = '' ) {
		/**
		 * Explode namespace
		 * (SPL AUTOLOAD REGISTER receives something like Inc/KaliForms or Inc/Console/Command)
		 */
		$fp = explode( '\\', $filename );

		$cf = $this->format_class_name( $fp );

		/**
		 * Get plugin root
		 */
		$path = trailingslashit( dirname( __FILE__ ) );

		/**
		 * Build path based on the explode from before
		 */
		for ( $i = 1; $i < count( $fp ) - 1; $i ++ ) {
			$path .= trailingslashit( $fp[ $i ] );
		}

		/**
		 * Append class name
		 */
		$path .= $cf;

		$this->include_file( $path );
	}

	/**
	 * Include file
	 *
	 * @param string $path
	 */
	public function include_file( $path = '' ) {
		/**
		 * If it exists, include it.
		 */
		if ( file_exists( $path ) ) {
			include_once $path;
		}
	}

	/**
	 * Formats the class name and returns it
	 *
	 * @param array $fp
	 *
	 * @return string
	 */
	public function format_class_name( $fp = [] ) {
		$cf = '';
		/**
		 * We need to get the last index, that's the class name
		 */
		if ( isset( $fp[ count( $fp ) - 1 ] ) ) {
			/**
			 * turn it lowercase
			 */
			$cf = strtolower( $fp[ count( $fp ) - 1 ] );
			/**
			 * Format class file according to standards
			 */
			$cf = str_ireplace( '_', '-', $cf );
			/**
			 * prepend class-
			 */
			$cf = sprintf( 'class-%s.php', $cf );
		}

		return $cf;
	}
}

new KaliForms_Autoloader();