<?php
|
|
/**
|
* Autoloader per la gestione delle classi dedicate all'upload dei file.
|
*/
|
|
spl_autoload_register(array('Upload_Autoloader', 'autoload'));
|
|
/**
|
* Autoloader
|
* Autoloader delle classi per l'upload dei file
|
*
|
* @author Cristiano Magro
|
* @since 0.3.1
|
* @package Vola_UploadFile
|
*/
|
class Upload_Autoloader
|
{
|
|
/**
|
* Maps classnames to files containing the class
|
*
|
* @var array $classes
|
*/
|
private static $classes = array(
|
'FileUpload' => 'FileUpload.class.php',
|
'SetupUpload' => 'SetupUpload.class.php',
|
'FilesFilter' => 'FilesFilter.class.php',
|
'FilterExt' => 'FilterExt.class.php',
|
'Upload_Exc_Error' => 'Exc/Error.php',
|
'Upload_Exc_Extension' => 'Exc/Extension.php',
|
'Upload_Exc_ExtensionNotValid' => 'Exc/ExtensionNotValid.php',
|
'Upload_Exc_FileNotExist' => 'Exc/FileNotExist.php',
|
'Upload_MgrFile' => 'MgrFile.php',
|
'Upload_FileUp' => 'FileUp.php',
|
'Upload_Filename' => 'Filename.php',
|
);
|
|
/**
|
* Esecuzione dell'autoloader delle classi secondo la mappa statica.
|
*
|
* @param string $nomeClasse richiesta
|
*
|
* @return boolean la classe richiesta e' stata correttamente caricata?
|
*/
|
public static function autoload($nomeClasse) {
|
$pathbase = dirname(__FILE__) . '/';
|
|
if (isset(self::$classes[$nomeClasse])) {
|
require_once($pathbase . self::$classes[$nomeClasse]);
|
}
|
// Transform the class name into a path
|
$file = str_replace('_', '/', $nomeClasse);
|
|
$path = $pathbase . $file . '.php';
|
if (file_exists($path)) {
|
// Load the class file
|
require $path;
|
|
// Class has been found
|
return true;
|
}
|
|
// Class is not in the filesystem
|
return false;
|
}
|
|
}
|