public static function getModelBuilder($name) { if (!class_exists($name, false)) { $modelFile = Atomik::path($name . '.php', DbPlugin::$config['model_dirs']); include $modelFile; } return Atomik_Model_Builder_Factory::get($name); }
/** * Creates the cache directory when the init command is used. * Needs the console plugin * * @param array $args */ public static function onConsoleInit($args) { foreach (Atomik::path(self::$config['dir'], true) as $directory) { /* creates cache directory */ ConsolePlugin::mkdir($directory, 1); /* sets permissions to 777 */ ConsolePlugin::println('Setting permissions', 2); if (!@chmod($directory, 0777)) { ConsolePlugin::fail(); } ConsolePlugin::success(); } }
/** * Returns an Atomik_Db_Script object * * @return Atomik_Db_Script */ public static function getDbScript($filter = array(), $echo = false) { $filter = array_map('ucfirst', $filter); require_once 'Atomik/Db/Script.php'; require_once 'Atomik/Db/Script/Output/Text.php'; require_once 'Atomik/Db/Script/File.php'; $script = new Atomik_Db_Script(); $script->setOutputHandler(new Atomik_Db_Script_Output_Text($echo)); // plugins foreach (Atomik::getLoadedPlugins(true) as $plugin => $path) { if ((count($filter) && in_array($plugin, $filter)) || !count($filter)) { if (@is_dir($path . '/models')) { $script->addScripts(Atomik_Db_Script_Model::getScriptFromDir($path . '/models')); } if (@is_dir($path . '/sql')) { $script->addScripts(Atomik_Db_Script_File::getScriptFromDir($path . '/sql')); } } } // app if ((count($filter) && in_array('App', $filter)) || !count($filter)) { foreach (Atomik::path(self::$config['model_dirs'], true) as $path) { if (@is_dir($path)) { $script->addScripts(Atomik_Db_Script_Model::getScriptFromDir($path)); } } foreach (Atomik::path(self::$config['sql_dirs'], true) as $path) { if (@is_dir($path)) { $script->addScripts(Atomik_Db_Script_File::getScriptFromDir($path)); } } } Atomik::fireEvent('Db::Script', array($script, $paths)); return $script; }