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
|
typedef struct user_info_s{
char num[20]; // numéro (unique) de l'utilisateur dans le fichier
int admin; // si ce compte possède les droits administateurs
char ID[50]; // identifiant de l'utilisateur (pour se connecter)
char nom[30]; // prénom de l'utilisateur
char prenom[30]; // nom de l'utilisateur
char mdp[50]; // mot de passe de l'utilisateur (pour se connecter)
char mail[60]; // adresse mail de l'utilisateur
char tel[10]; // numéro de téléphone de l'utilisateur
char adresse[60]; // adresse de l'utilisateur
char cp[5]; // code postal de l'utilisateur
char ville[40]; // ville de l'utilisateur
struct ressource_s* premier; // première ressource de l'utilisateur
}user;
User recuperer_info_user(char * file){ // Pour récupérer les infos d'un utilisateur dans le fichier associé
Ressource rsc = NULL;
Ressource premier = NULL;
User user = NULL;
user = (User)malloc(sizeof(struct user_info_s));
JSON_Value *root_value;
JSON_Object *root_object;
char t[32];
JSON_Array *liste;
root_value = json_parse_file(file);
root_object = json_value_get_object(root_value);
user = set_user((char*)json_object_dotget_string(root_object, "Personne.num"),
(int)json_object_dotget_number(root_object, "Personne.admin"),
(char*)json_object_dotget_string(root_object,"Personne.ID"),
(char*)json_object_dotget_string(root_object, "Personne.nom"),
(char*)json_object_dotget_string(root_object, "Personne.prenom"),
(char*)json_object_dotget_string(root_object, "Personne.mdp"),
(char*)json_object_dotget_string(root_object, "Personne.mail"),
(char*)json_object_dotget_string(root_object, "Personne.telephone"),
(char*)json_object_dotget_string(root_object, "Personne.adresse"),
(char*)json_object_dotget_string(root_object, "Personne.codepostal"),
(char*)json_object_dotget_string(root_object, "Personne.ville"));
liste = json_value_get_array(json_object_dotget_value(root_object, "Personne.liste_Ressource"));
for (int i = 0; i < json_array_get_count(liste); i++) {
strcpy(t, json_array_get_string(liste, i));
if(i == 0)
premier = set_ressource(t);
else{
rsc = set_ressource(t);
ajouter_ressource(premier, rsc);
}
}
if(premier != NULL){
set_premiere_ressource(user, premier);
}
json_value_free(root_value);
return user;
} |
Partager