private function dispatch(Skt_Core_Request $req)
 {
     $this->_configure = $this->_file->include_configure(strtolower($req->getMaker()));
     /*
     $repository_app = $req->getParam('repository_app', 'ibe-apps');
     
     if($repository_app){
     	if (!defined('APP_DIR')) {
     		if (!is_dir($repository_app)) {
     			mkdir($repository_app, 777, true);
     		}
     
     		define('APP_DIR', $repository_app . DS);
     	}
     }
     */
     $this->_app = $req->getParam("app", "application");
     $this->_mod = $req->getParam("mod", "module");
     $this->_ctr = $req->getParam("ctr", "controller");
     $this->_act = $req->getParam("act", "action");
     $this->_dir_app = $this->_directory->dirApp($this->_app);
     $this->_dir_mod = $this->_directory->dirMod($this->_app, $this->_mod);
     $this->_dir_ctr = $this->_directory->dirCtr($this->_app, $this->_mod, $this->_ctr);
     $this->_dir_act = $this->_directory->dirAct($this->_app, $this->_mod, $this->_ctr, $this->_act);
     $this->create($req);
 }
 public function create(Skt_Core_Request $req)
 {
     $name = $req->getParam('vld', FALSE);
     if (!$name) {
         Skt_Core_Prompt::print_('O nome passado esta invalido', Skt_Core_Prompt::ERROR);
     } else {
         $dir = $this->_dir_app . $this->_configure->path;
         $this->_file->include_tpl('validator', $dir, array('vld' => ucfirst(strtolower($name))), "inc_" . strtolower($name));
     }
 }
 public function create(Skt_Core_Request $req)
 {
     $req->getParam('repository_app', 'ibe-apps');
     $this->_directory->create($this->_dir_app);
     foreach ($this->_configure->paths as $path) {
         $this->_directory->create($this->_dir_app . $path);
     }
     $vars = $req->getParamsWithDefaults($this->_configure->index);
     $this->_file->include_tpl("index", $this->_dir_app, $vars);
     $this->_file->include_tpl("inc_configure", $this->_dir_app . "_modules");
     $this->_file->include_tpl("inc_views", $this->_dir_app . "_modules");
 }
 public function create(Skt_Core_Request $req)
 {
     try {
         ob_start();
         // inserindo a biblioteca doctrine
         $dir = $this->_dir_app . $this->_configure->path_doctrine_library;
         if (!is_dir($dir)) {
             Skt_Core_Prompt::print_($dir, Skt_Core_Prompt::ERROR);
             $this->copy_directory('_makers/doct/tpls/Doctrine-1.2.4/', $dir);
             $this->_file->include_tpl("inc_doctrine", $this->_dir_app . '_extensions');
         }
         // criando diretorios para o doctrine models, base, schemas
         foreach ($this->_configure->doctrine_configure as $directory) {
             $this->_directory->create($this->_dir_app . $directory);
         }
         // configurando o nome das pastas para o gerador de codigos
         $confs = array();
         foreach ($this->_configure->doctrine_configure as $conf_name => $conf_value) {
             $confs[$conf_name] = $this->_dir_app . $conf_value;
         }
         // conectando o doctrine ao banco de dados atraves do dns em configuracao.php
         require_once $this->_dir_app . '_maps/doctrine/Doctrine.php';
         spl_autoload_register(array('Doctrine', 'autoload'));
         if (!Doctrine_Manager::connection($this->_configure->doctrine_database_dns)) {
             throw new Exception('Not possible connect in database');
         }
         // executando os comandos doctrine
         $cli = new Doctrine_Cli($confs);
         $params = array_merge(array('doctrine'), explode('.', $req->getParam('command')));
         $cli->run($params);
         // capturando saida do doctrine para enviar como json
         $out = ob_get_contents();
         ob_end_clean();
         // inserindo a saida no json
         if (isset($out) && !empty($out)) {
             Skt_Core_Prompt::print_($out, Skt_Core_Prompt::ALERT);
         }
     } catch (Exception $e) {
         Skt_Core_Prompt::print_($e->getMessage(), Skt_Core_Prompt::ERROR);
     }
 }