예제 #1
0
파일: wet.c 프로젝트: dekel2003/DBS_HW2
void* removeUser(const char* id)
{
	if (0 == userExist(id)) return;
	
	char cmd[2000] = {0};
	sprintf(cmd,"delete from users where users.id=%s; delete from photos "
			    "where user_id=%s; delete from tags where user_id=%s;",id, id, id);
				
	EXE_SQL_CMD(cmd);
}
예제 #2
0
파일: wet.c 프로젝트: dekel2003/DBS_HW2
void* addPhoto          (const char*    user_id,
                         const char*    photo_id){				 
	if (0 == userExist(user_id)) return;	

	/*Check if photo+user in photos. */
	char qry[2000] = {0};
	sprintf(qry,"select user_id from photos as t where t.user_id = '%s' AND t.id = '%s'",user_id, photo_id);
	PGresult *res = EXE_SQL_QRY(qry);
	if ( 0 < PQntuples(res)){
		PQclear(res);
		printf(EXISTING_RECORD);
		return 0;
	}	
	PQclear(res);
	
	char cmd[2000] = {0};
	sprintf(cmd, "INSERT INTO photos(id, user_id) VALUES(%s,%s)", photo_id ,user_id );
	EXE_SQL_CMD(cmd);					 
}
예제 #3
0
파일: wet.c 프로젝트: dekel2003/DBS_HW2
void* tagPhoto          (const char*    user_id,
                         const char*    photo_id,
                         const char*    info){
	if (0 == userExist(user_id)) return;
	
	/*Check if photo+user+info in photos. */
	char qry[2000] = {0};
	sprintf(qry,"select user_id from tags as t "
				"where t.user_id = %s AND t.photo_id = %s AND t.info = '%s'",user_id, photo_id,info);
	PGresult *res = EXE_SQL_QRY(qry);
	if ( 0 < PQntuples(res)){
		PQclear(res);
		printf(EXISTING_RECORD);
		return 0;
	}	
	PQclear(res);					 
	
	char cmd[2000] = {0};
	sprintf(cmd, "INSERT INTO tags(photo_id,user_id,info) VALUES(%s,%s,'%s')", photo_id ,user_id,info );
	EXE_SQL_CMD(cmd);	
}
예제 #4
0
Utilisateur auth(){

	Utilisateur user;
	printf("##############################################################\n");
	printf("#                       authentification                     #\n");
	printf("##############################################################\n\n");
	printf("Nom : ");
	scanf("%s", user.nom);
	clear();
	printf("Mot de passe : ");
	scanf("%s", user.password);
	clear();

	printf("\n");	
	//vérification login et mdp
	if(!userExist(user.nom, user.password)) 
		errorUserExist();
	else
		printf("vous etes maintenant connecte!\n");
	printf("\n");
	//ajout dans le fichier historique
	addAction(user.nom,"Connexion");
	return user;	
}
예제 #5
0
Utilisateur inscription(){
	char saisie[128],
	     dirUser[256] = "",
	     fileHistorique[256] ="",
	     fileAmi[256] = "",
	     fileMsgEnvoye[256] = "",
	     fileMsgRecu[256] = "";

	Utilisateur user;
	FILE * fic;

	// Saisie du login et mot de passe
	printf("##############################################################\n");
	printf("#                          S'inscrire                        #\n");
	printf("##############################################################\n\n");
	printf("Nom : ");
	scanf("%s", user.nom);
	clear();
	while(1){
		printf("Mot de passe : ");
		scanf("%s", user.password);
		clear();
		printf("Mot de passe (confirmer) : ");
		scanf("%s", saisie);
		clear();
		if(strcasecmp(user.password, saisie)==0)
			break;
		else {
		 	printf("Les mots de passes sont différent!\n");
			printf("Veuillez les resaisir!\n");
		}
	}
	

	// enregistrement de l'utiliseur (users.txt)
	if ((fic = fopen(FILE_USERS, "a" )) < 0) {
		fprintf(stderr, "Erreur : %s ne peut être ouvert\n",FILE_USERS);
		exit(EXIT_FAILURE);
	}

	if(userExist(user.nom, NULL)){
		printf("\nLe nom d'utilisateur exsite déjà!\n");
		printf("Veuillez resaisir les données!\n\n");
		
		return inscription();
	}
	else {

		fprintf(fic, "%s %s\n", user.nom,user.password);
		fclose(fic);

		// créaction du dossier utilisateur
		strcat(dirUser, DIR_USERS);
		strcat(dirUser, user.nom);
		mkdir(dirUser, 0777);

		// création du fichier gérant l'historique de l'utilisateur
		strcat(fileHistorique, DIR_HISTORIQUES);
		strcat(fileHistorique, user.nom);
		strcat(fileHistorique, ".txt");
		fic = fopen(fileHistorique, "w");
		fclose(fic);

		// création du fichier gérant les amis de l'utilisateur
		strcat(fileAmi, dirUser);
		strcat(fileAmi, "/amis.txt");
		fic = fopen(fileAmi, "w");
		fclose(fic);

		// création des fichiers gérant les messages de l'utilisateur
		strcat(fileMsgEnvoye, dirUser);
		strcat(fileMsgEnvoye, "/envoyes.txt");
		fic = fopen(fileMsgEnvoye, "w");
		fclose(fic);

		strcat(fileMsgRecu, dirUser);
		strcat(fileMsgRecu, "/recus.txt");
		fic = fopen(fileMsgRecu, "w");
		fclose(fic);

		printf("\n");
		printf("vous etes maintenant connecte!\n");
		printf("\n");
		
		//ajout dans le fichier historique
		addAction(user.nom,"Création_du_compte");
		return user;
	}
}