/** * 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; } }