*/ namespace Application; use Application\Core\App; use Application\Core\DirectoryHandler; use Application\Core\FileHandler; use Application\Core\PackagistHandler; use Application\Core\FileManager; //load file map $autoload = PackagistHandler::autoload(); foreach ($autoload as $package => $loader) { $package_name = strtolower(substr($package, 0, strrpos($package, '-'))); $package_directory = __DIR__ . "/{$package_name}/{$package}/"; if (isset($loader['files'])) { foreach ($loader['files'] as $file) { FileManager::include($package_directory . $file); } } } // autoloading spl_autoload_register(function ($class) { $autoload = PackagistHandler::autoload(); foreach ($autoload as $package => $loader) { $package_name = strtolower(substr($package, 0, strrpos($package, '-'))); $package_directory = __DIR__ . "/{$package_name}/{$package}/"; if (isset($loader[$class]) && is_file($package_directory . $loader[$class])) { FileManager::include($package_directory . $loader[$class]); } } return false; });
}, 'packagist:autoremove_recursive'); /** * Autoremoves a certain package of a certain version (recursive) */ Workbench::register('^packagist:autoremove ([a-zA-Z0-9\\-\\_]+)\\/([a-zA-Z0-9\\-\\_]+) (.+) recursive$', function ($argv) { $package_name = $argv[1]; if (Core\PackagistHandler::autoremove($package_name, $argv[2], true)) { return "Autoremoved {$package_name}"; } return "Couldn't autoremove {$package_name}"; }); /** * Autoremoves a certain package */ Workbench::register('^packagist:autoremove ([a-zA-Z0-9\\-\\_]+)\\/([a-zA-Z0-9\\-\\_]+)$', function ($argv) { $package_name = $argv[1]; if (Core\PackagistHandler::autoremove($package_name)) { return "Autoremoved {$package_name}"; } return "Couldn't autoremove {$package_name}"; }, 'packagist:autoremove'); /** * Autoremoves a certain package of a certain version */ Workbench::register('^packagist:autoremove ([a-zA-Z0-9\\-\\_]+)\\/([a-zA-Z0-9\\-\\_]+) (.+)$', function ($argv) { $package_name = $argv[1]; if (Core\PackagistHandler::autoremove($package_name, $argv[2])) { return "Autoremoved {$package_name}"; } return "Couldn't autoremove {$package_name}"; });
/** * Runs the app */ public static function run() { // set display errors // upon development environment if (self::$_environment == 'development' || self::$_environment == 'dev') { ini_set('display_errors', 1); } // Set directories self::$_directoryBackups = new Directory(self::$_directorySystem . '/' . self::$_directoryBackups); self::$_directoryBlueprints = new Directory(self::$_directorySystem . '/' . self::$_directoryBlueprints); self::$_directoryConfig = new Directory(self::$_directorySystem . '/' . self::$_directoryConfig); self::$_directoryControllers = new Directory(self::$_directorySystem . '/' . self::$_directoryControllers); self::$_directoryLayouts = new Directory(self::$_directorySystem . '/' . self::$_directoryLayouts); self::$_directoryLibs = new Directory(self::$_directorySystem . '/' . self::$_directoryLibs); self::$_directoryLogs = new Directory(self::$_directorySystem . '/' . self::$_directoryLogs); self::$_directoryMeta = new Directory(self::$_directorySystem . '/' . self::$_directoryMeta); self::$_directoryModels = new Directory(self::$_directorySystem . '/' . self::$_directoryModels); self::$_directoryModules = new Directory(self::$_directorySystem . '/' . self::$_directoryModules); self::$_directoryViewOutput = new Directory(self::$_directorySystem . '/' . self::$_directoryViewOutput); self::$_directoryViews = new Directory(self::$_directorySystem . '/' . self::$_directoryViews); self::$_directoryObjects = new Directory(self::$_directorySystem . '/' . self::$_directoryObjects); self::$_directorySystem = new Directory(self::$_directorySystem); self::$_directoryPublic = new Directory(self::$_directoryPublic); // run self::integrity(); PackagistHandler::start(); self::libraries(); if (self::$_modifier < App::BAREBONES) { BackupManager::create(); SessionHandler::start(); Request::start(); self::configure(); } else { self::bareconfig(); } if (self::$_modifier < App::NO_ROUTING) { Router::start(); } }