<?php
spl_autoload_register(function ($className) {

    if (!str_starts_with($className, 'ProtectLogin\\')) {
        return;
    }

    $fileName = str_replace('\\','/', $className);
    $fileName = str_replace('ProtectLogin/Modules/', 'ProtectLogin/modules/', $fileName);
    $fileName = str_replace('ProtectLogin/', '', $fileName);



    $fileName = BDP_LV_PLUGIN_DIR . $fileName . '.php';
    if (!file_exists($fileName)) {
        return;
    }

    require_once $fileName;
});





$directoryPath = BDP_LV_PLUGIN_DIR . 'components/partials/';
foreach (glob($directoryPath . '*.php') as $file) {
	require_once $file;
}

$subdirs = ['includes', 'Controllers', 'Views', 'Requests', 'Actions', 'Models'];

foreach (scandir(BDP_LV_PLUGIN_DIR . 'modules/') as $curModule) {
	if ($curModule != '.' && $curModule != '..' && is_dir(BDP_LV_PLUGIN_DIR . 'modules/' . $curModule))
	{
		if ($curModule == 'calendar') {
			continue;
		}

		foreach ($subdirs as $dir) {
			$directoryPath = BDP_LV_PLUGIN_DIR . 'modules/' . $curModule . '/' . $dir . '/';
			foreach (glob($directoryPath . '*.php') as $file) {
				require_once $file;
			}
		}
	}
}