-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.c
94 lines (62 loc) · 1.81 KB
/
main.c
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>
#include "program.h"
extern bool *user_type;
extern MYSQL *con;
struct configuration conf;
UTENTE logged_user;
void menu_utente_base();
void menu_utente_admin();
int log_or_sign();
static void test_error(MYSQL * con, int status){
if (status) {
fprintf(stderr, "Error: %s (errno: %d)\n", mysql_error(con),
mysql_errno(con));
exit(1);
}
}
int main(int argc, char **argv){
user_type = malloc(sizeof(bool));
con = mysql_init(NULL);
//Inizializzazione della prima connessione (phantom user), per connettersi al db -> Login table.
load_file(&config, "config.json");
parse_config();
if (con == NULL) {
fprintf(stderr, "Initilization error: %s\n", mysql_error(con));
exit(1);
}
if (mysql_real_connect(con, conf.host, conf.username, conf.password, conf.database, conf.port, NULL, 0) == NULL) {
fprintf(stderr, "Connection error: %s\n", mysql_error(con));
exit(1);
}
//Operazioni sul Portale d'Accesso: Login / Sign in
int logOrSign;
portal: logOrSign = log_or_sign();
switch((int)logOrSign){
case 0: //login
if (*user_type == 0){ //login -> admin
//cambio utente: accesso al database per l'utente amministratore
if(mysql_change_user(con,"utenteamm","utenteamm","sistemaaste") != 0){
//inserire gestione errore connessione
}
menu_utente_admin();
} else if (*user_type == 1){ // login -> standard user
//cambio utente: accesso al database per l'utente base
if(mysql_change_user(con,"utentebase","utentebase","sistemaaste") != 0){
//inserire gestione errore connessione
}
menu_utente_base();
}
goto portal;
case 1: //sign in
printf("\nUtente Registrato!");
goto portal;
default: //quit
break;
}
mysql_close(con);
free(user_type);
return 0;
}