/**
  * Verifica para qual pagina deve ser redirecionado o acesso de acordo com
  * os dados que estão faltando no banco de dados.
  * Caso ainda não exista o arquivo de conexão com o banco de dados, redireciona
  * para o formulário para criar o arquivo com os dados recebidos.
  * Caso não exista nenhum usuário redireciona para tela de criação de usuários.
  * Caso ambos estejam OK, redireciona para tela de login.
  */
 public function indexAction()
 {
     $database = SetupController::verifyDataBaseAction();
     switch ($database) {
         case 'connect':
         case 'file':
             $dispatcher = array('controller' => 'setup', 'action' => 'index');
             break;
         case 'user':
             $dispatcher = array('controller' => 'setup', 'action' => 'install');
             break;
         case 'ok':
             $dispatcher = array('controller' => 'login', 'action' => 'index');
             break;
         case 'error':
             $dispatcher = array('controller' => 'setup', 'action' => 'error');
     }
     return $this->dispatcher->forward($dispatcher);
 }
 /**
  * Configura e executa a conexão com o banco de dados
  * @return bool true caso conecte com sucesso ou false caso ocorra algum erro
  */
 private function connectDatabase()
 {
     //$this->view->disable();
     //Seta a configuração do banco de dados.
     $this->config = new \Phalcon\Config\Adapter\Ini(FOLDER_PROJECT . 'apps/config/config.ini');
     //Cria um array com os dados do banco
     $db_conn = array("host" => $this->config->database->host, "username" => $this->config->database->username, "password" => $this->config->database->password, "dbname" => $this->config->database->name, "charset" => 'utf8');
     $db_conn["persistent"] = false;
     //Efetua a conexão com o banco de dados
     try {
         $this->connection = new \Phalcon\Db\Adapter\Pdo\Mysql($db_conn);
         SetupController::createTables();
         $data['connection'] = true;
         $data['message'] = "Banco de dados conectado e configurado!";
         return $data;
     } catch (\PDOException $e) {
         unlink(FOLDER_PROJECT . 'apps/config/config.ini');
         $data['connection'] = false;
         $data['message'] = "Ocorreu um problema ao conectar com o banco de dados. Verifique os dados informados e tente novamente!";
         $data['log'] = $e;
         return $data;
     }
 }