forked from IgorFalco/Trabalho_POO
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIndex.php
121 lines (96 loc) · 3.3 KB
/
Index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
include_once('global.php');
function verificaCadastro(string $login, string $senha): ?Usuario
{
// Obtém todos os registros de usuários
$usuarios = Usuario::getRecords();
// Verifica se há um usuário com o login fornecido
foreach ($usuarios as $usuario) {
if ($usuario->getLogin() === $login && $usuario->getSenha() === $senha) {
return $usuario;
}
}
// Retorna nulo se não encontrar um usuário correspondente
return null;
}
function fazerLogin()
{
$autenticacao = Autenticacao::getInstance();
echo "Digite seu login: ";
$login = trim(fgets(STDIN));
echo "Digite sua senha: ";
$senha = trim(fgets(STDIN));
$usuarioAutenticado = verificaCadastro($login, $senha);
if ($usuarioAutenticado) {
if ($autenticacao->login($usuarioAutenticado)) {
echo "Bem vindo " . $usuarioAutenticado->getLogin();
} else {
echo "Login falhou. Verifique suas credenciais.\n";
sleep(2);
fazerLogin();
}
}
}
function atualizaFuncionalidades()
{
// Substitua 'caminho/do/seu/arquivo.json' pelo caminho real do seu arquivo JSON
$jsonFilePath = 'Funcionalidades.json';
// Lê o conteúdo do arquivo
$jsonData = file_get_contents($jsonFilePath);
// Decodifica o JSON
$data = json_decode($jsonData, true);
// Verifica se a decodificação foi bem-sucedida
if ($data === null && json_last_error() !== JSON_ERROR_NONE) {
die('Erro ao decodificar o JSON.');
}
// Itera sobre as funções e instancia a classe Especialidade
foreach ($data['funcoes'] as $funcao) {
$Funcionalidade = new Funcionalidades($funcao); // Substitua com os valores desejados
$Funcionalidade->save();
}
}
function CleanBanco()
{
//LIMPA O BANCO
$pasta = 'Classes/dataFiles';
$arquivos = glob($pasta . '/*');
foreach ($arquivos as $arquivo) {
if (is_file($arquivo)) {
unlink($arquivo);
}
}
}
function main()
{
CleanBanco(); //LIMPA O BANCO
$Perfil = new Perfil("Administrador", [
"CalculaCustoMensal",
"CadastrarDentista",
"CadastrarCliente",
"CadastrarPaciente",
"CadastrarDentistaParceiro",
"CadastrarNovoOrcamento",
"CadastrarProcedimentos",
"Logout"
]);
new Usuario("Admim", "Admim", "Administrador@gmail.com", $Perfil);
fazerLogin();
$autenticacao = Autenticacao::getInstance();
$Controle = new ControleAcesso($autenticacao->getUsuarioLogado());
while (1) {
$funcionalidadesDisponiveis = $Controle->listarFuncionalidadesDisponiveis();
echo "\nFuncionalidades disponíveis:\n";
foreach ($funcionalidadesDisponiveis as $index => $funcionalidade) {
$indexaux = $index + 1;
echo "$indexaux. {$funcionalidade}\n";
}
$indiceEscolhido = readline("Escolha a funcionalidade (digite o número correspondente): ");
if (isset($funcionalidadesDisponiveis[$indiceEscolhido - 1])) {
// Obtendo a especialidade escolhida pelo usuário
$Controle->escolhaFuncoes($funcionalidadesDisponiveis[$indiceEscolhido - 1]);
} else {
echo "Índice inválido. Por favor, escolha um número válido.\n";
}
};
}
main();