\__/
(xx)
//||\\\\
Une erreur fatale s\'est produite à l\'exécution de Garradin. Pour rapporter ce bug merci d\'inclure le message ci-dessous :
\__/
(xx)
//||\\\\
Une erreur s\'est produite à l\'exécution de Garradin. Pour rapporter ce bug merci d\'inclure le message suivant :
Une erreur s\'est produite à l\'exécution de Garradin.
Le webmaster a été prévenu.
'; } } exit; } set_error_handler('Garradin\exception_error_handler'); set_exception_handler('Garradin\exception_handler'); /** * Auto-load classes and libs */ class Loader { /** * Already loaded filenames * @var array */ static protected $loaded = []; static protected $libs = [ 'utils', 'squelette_filtres', 'static_cache', 'template' ]; /** * Loads a class from the $name * @param stringg $classname * @return bool true */ static public function load($classname) { $classname = ltrim($classname, '\\'); $filename = ''; $namespace = ''; if ($lastnspos = strripos($classname, '\\')) { $namespace = substr($classname, 0, $lastnspos); $classname = substr($classname, $lastnspos + 1); if ($namespace != 'Garradin') { $filename = str_replace('\\', '/', $namespace) . '/'; } } $classname = strtolower($classname); if (in_array($classname, self::$libs)) { $filename = 'lib.' . $classname . '.php'; } else { $filename .= 'class.' . $classname . '.php'; } $filename = ROOT . '/include/' . $filename; if (array_key_exists($filename, self::$loaded)) { return true; } if (!file_exists($filename)) { throw new \Exception('File '.$filename.' doesn\'t exists'); } self::$loaded[$filename] = true; require $filename; } } \spl_autoload_register(['Garradin\Loader', 'load'], true); $n = new Membres; /* * Inclusion des fichiers de base */ if (!defined('Garradin\INSTALL_PROCESS') && !defined('Garradin\UPGRADE_PROCESS')) { if (!file_exists(DB_FILE)) { utils::redirect('/admin/install.php'); } $config = Config::getInstance(); if (version_compare($config->getVersion(), garradin_version(), '<')) { utils::redirect('/admin/upgrade.php'); } } ?>