Esempio n. 1
0
	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);
	}
Esempio n. 2
0
 /**
  * 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();
     }
 }
Esempio n. 3
0
	/**
	 * 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;
	}