write($class.' not loaded!'); } //eval("class ".$class." extends \\Phacil\\Framework\\".$class." {}"); return; } $classNative = ($namespace[0] == "Phacil") ? str_replace('phacil\\framework\\', '', strtolower( $class)) : $class; if($namespace[0] == 'Phacil' && isset($namespace[2]) && $namespace[2] == 'Databases'){ if(!defined('DIR_DATABASE')) define('DIR_DATABASE', DIR_SYSTEM."database/"); $fileDB = DIR_DATABASE . str_replace("\\", "/", $classNative).'.php'; try { if (!file_exists($fileDB)) throw new Exception ($fileDB.' does not exist'); else require_once($fileDB); return; } catch (Exception $th) { $log = new \Phacil\Framework\Log("exception.log"); $log->write($th->getMessage()); } } $allowed = [ 'log', 'front', 'controller', 'loader', 'model', 'registry', 'document', 'response', 'classes', 'abstracthelper', 'interfaces\\front', 'interfaces\\loader', 'interfaces\\action', 'traits\\action', 'interfaces\\databases', 'exception' ]; if($namespace[0] == "Phacil" && in_array($classNative, $allowed)){ $file = DIR_SYSTEM . 'engine/'. str_replace("\\", "/", $classNative).'.php'; try { if(is_readable($file)){ require_once($file); return; } else { throw new \Exception("Class '$class' not loaded."); } } catch (\Exception $th) { $log = new \Phacil\Framework\Log("exception.log"); $log->write($th->getMessage()); } } $value = DIR_SYSTEM . str_replace('\\', "/", $classNative) .'/autoload.php'; if($namespace[0] == "Phacil" && file_exists($value)){ try { if(is_readable($value)) { require_once $value; return; } else { throw new \Exception("I can't load '$value' file! Please check system permissions."); } } catch (\Exception $e) { $log = new \Phacil\Framework\Log("exception.log"); $log->write($class.' not loaded!'); exit($e->getMessage()); } } $value = DIR_SYSTEM . str_replace('\\', "/", $classNative) . '.php'; if ($namespace[0] == "Phacil" && file_exists($value) ) { try { if (is_readable($value)) { require_once $value; return; } else { throw new \Exception("I can't load '$value' file! Please check system permissions."); } } catch (\Exception $e) { $log = new \Phacil\Framework\Log("exception.log"); $log->write($class . ' not loaded!'); exit($e->getMessage()); } } if(file_exists($tryMagicOne = DIR_APP_MODULAR. implode("/", $namespace).".php")){ try { if(is_readable($tryMagicOne)) { require_once $tryMagicOne; return; } else { throw new \Exception("I can't load '$tryMagicOne' file! Please check system permissions."); } } catch (\Exception $e) { $log = new \Phacil\Framework\Log("exception.log"); $log->write($e->getMessage()); exit($e->getMessage()); } } if(file_exists($tryMagicOne = DIR_APP_MODULAR. implode("/", $namespaceWithoutPrefix).".php")){ try { if(is_readable($tryMagicOne)) { require_once $tryMagicOne; return; } else { throw new \Exception("I can't load '$tryMagicOne' file! Please check system permissions."); } } catch (\Exception $e) { $log = new \Phacil\Framework\Log("exception.log"); $log->write($e->getMessage()); exit($e->getMessage()); } } $prefix = array_shift($namespace); if(file_exists($tryMagicOne = DIR_APP_MODULAR. implode("/", $namespace).".php")){ try { if(is_readable($tryMagicOne)) { require_once $tryMagicOne; return; } else { throw new \Exception("I can't load '$tryMagicOne' file! Please check system permissions."); } } catch (\Exception $e) { $log = new \Phacil\Framework\Log("exception.log"); $log->write($e->getMessage()); exit($e->getMessage()); } } return; }); require_once(DIR_SYSTEM . 'engine/action.php');