<?php
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

if (!defined("ROOT_PATH")) {
	header("HTTP/1.1 403 Forbidden");
	exit;
}
class pjAutoloader
{
	public static function autoload($className)
	{
		$model = str_replace('Model', '', $className);

		$paths = array(
			PJ_FRAMEWORK_PATH . $className . '.class.php',
			PJ_CONTROLLERS_PATH . $className . '.controller.php',
			PJ_MODELS_PATH . $model . '.model.php',
			PJ_COMPONENTS_PATH . $className . '.component.php',
			PJ_FRAMEWORK_PATH . 'components/' . $className . '.component.php'
		);

		foreach ($GLOBALS['CONFIG']['plugins'] as $plugin) {
			$paths[] = PJ_PLUGINS_PATH . $plugin . '/controllers/' . $className . '.controller.php';
			$paths[] = PJ_PLUGINS_PATH . $plugin . '/controllers/components/' . $className . '.component.php';
			$paths[] = PJ_PLUGINS_PATH . $plugin . '/models/' . $model . '.model.php';
		}

		foreach ($paths as $filename) {
			if (file_exists($filename)) {
				require $filename;
				return;
			}
		}
	}

	public static function register()
	{
		spl_autoload_register('pjAutoloader::autoload');
	}
}
