public function donneurdumois() { require 'fonction.php'; require 'Connection/bdlogin.php'; //inclu le fichier de connection a la basse de donné hip_dev $req = 'SELECT don.organisme_id, org.nom, don.montant_total, don.date_donneur_mois FROM donneur_mois don INNER JOIN organisme org ON org.organisme_id = don.organisme_id WHERE EXTRACT(YEAR_MONTH FROM date_donneur_mois) BETWEEN (EXTRACT(YEAR_MONTH FROM :date_debut)) AND (EXTRACT(YEAR_MONTH FROM :date_fin))'; $variable = array('date_debut' => $_GET['date_debut'], 'date_fin' => $_GET['date_fin']); $array = array(); $req = execution($req, $variable); while ($resultat = $req->fetch()) { $date = convertirdate($resultat['date_donneur_mois']); // retourne la date en DATE_ATOM $stats = array('montant_total' => $resultat['montant_total'], 'date' => $date); $org = array('nom' => $resultat['nom'], 'organisme_id' => $resultat['organisme_id'], 'statistique' => $stats); array_push($array, $org); } return response()->json($array, 200, $header, JSON_UNESCAPED_UNICODE); }
function sidisponible($id_alimentaire) { require 'Connection/bdlogin.php'; $req = 'SELECT marchandise_statut FROM alimentaire WHERE alimentaire_id = :alimentaire_id'; $array = array('alimentaire_id' => $id_alimentaire); $resultat = execution($req, $array)->fetch(); return $resultat['marchandise_status'] == 3; }
public function adresse($id) { require 'Connection/bdlogin.php'; $req = 'SELECT * FROM adresse INNER JOIN type_rue on adresse.type_rue = type_rue.type_rue_id WHERE adresse_id = :id'; $array = array('id' => $id); $adresse = execution($req, $array)->fetch(); $array = array('no_civique' => $adresse['no_civique'], 'nom' => $adresse['nom'], 'type_rue' => $adresse['description_type_rue'], 'app' => $adresse['app'], 'ville' => $adresse['ville'], 'province' => $adresse['province'], 'code_postal' => $adresse['code_postal'], 'pays' => $adresse['pays']); //retourne 200 si le programme ne rencontre pas d'erreur sinon execution lance une exeption return response()->json($array, 200, $header, JSON_UNESCAPED_UNICODE); }
public function connect() { require 'Connection/bdlogin.php'; //inclu le fichier de connection a la basse de donné hip_dev $req = 'SELECT adr.adresse_id, adr.no_civique, typrue.description_type_rue, adr.type_rue, adr.nom, adr.app, adr.ville, adr.province, adr.code_postal, adr.pays, util.utilisateur_id, util.nom, util.prenom, util.courriel, util.telephone, util.moyen_contact, org.organisme_id, org.nom, org.adresse, org.telephone, org.poste, org.utilisateur_contact, org.no_entreprise, org.no_osbl FROM organisme org INNER JOIN utilisateur util ON util.organisme_id = org.organisme_id INNER JOIN adresse adr ON adr.adresse_id = org.adresse INNER JOIN type_rue typrue ON typrue.type_rue_id = adr.type_rue WHERE util.courriel = :courriel AND util.mot_de_passe = :mdp'; $variable = array('courriel' => $_POST['courriel'], 'mdp' => $_POST['mot_de_passe']); $resultat = execution($req, $variable)->fetch(); if ($resultat) { $adresse = array('id' => $resultat[0], 'no_civique' => $resultat[1], 'type_rue' => $resultat[2], 'nom' => $resultat[4], 'app' => $resultat[5], 'ville' => $resultat[6], 'province' => $resultat[7], 'code_postal' => $resultat[8], 'pays' => $resultat[9]); $organisme = array('id' => $resultat[16], 'nom' => $resultat[17], 'telephone' => $resultat[19], 'poste' => $resultat[20], 'no_entreprise' => $resultat[22], 'no_osbl' => $resultat[23], 'adresse' => $adresse); $contact = array('id' => $resultat[10], 'nom' => $resultat[11], 'prenom' => $resultat[12], 'telephone' => $resultat[14], 'moyen_contact' => $resultat[15], 'courriel' => $resultat[13], 'organisme' => $organisme); //retourne 200 si le programme ne rencontre pas de probleme sinon execution() lance une exception return response(json_encode($contact), 200); } else { //si pas de resultat un des 2 informations fournis ne sont pas bon return response('Mauvais identifiant ou mot de passe', 403); } }
public function enregistrement() { require 'Connection/bdlogin.php'; //inclu le fichier de connection a la basse de donné hip_dev $req = 'SELECT utilisateur_id FROM utilisateur WHERE courriel = :courriel'; $variable = array('courriel' => $_POST['courriel']); if ($resultat = execution($req, $variable)->fetch()) { return response('Le courriel est deja utilise', 409); } $req = 'INSERT INTO utilisateur (nom, prenom, courriel, mot_de_passe, moyen_contact, organisme_id ) VALUES (:nom, :prenom, :courriel, :mot_de_passe, :moyen_contact, :organisme_id)'; $variable = array('nom' => $_POST['nom'], 'prenom' => $_POST['prenom'], 'courriel' => $_POST['courriel'], 'mot_de_passe' => $_POST['mot_de_passe'], 'moyen_contact' => '1', 'organisme_id' => $_POST['organisme_id']); execution($req, $variable); return response()->json($arr, 200); }
public function organismeid($id) { require 'Connection/bdlogin.php'; // Requête pour obtenir les informations du contact de l'organisme $req = 'SELECT adr.adresse_id, adr.no_civique, typrue.description_type_rue, adr.type_rue, adr.nom, adr.app, adr.ville, adr.province, adr.code_postal, adr.pays, util.utilisateur_id, util.nom, util.prenom, util.courriel, util.telephone, util.moyen_contact, org.organisme_id, org.nom, org.adresse, org.telephone, org.poste, org.utilisateur_contact, org.no_entreprise, org.no_osbl FROM organisme org INNER JOIN utilisateur util ON util.organisme_id = org.organisme_id INNER JOIN adresse adr ON adr.adresse_id = org.adresse INNER JOIN type_rue typrue ON typrue.type_rue_id = adr.type_rue WHERE org.organisme_id = :id'; $variable = array('id' => $id); $resultat = execution($req, $variable)->fetch(); $arrAdresse = array('no_civique' => $resultat[1], 'nom' => $resultat[4], 'type_rue' => $resultat[2], 'app' => $resultat[5], 'ville' => $resultat[6], 'province' => $resultat[7], 'code_postal' => $resultat[8], 'pays' => $resultat[9]); $arrUtilisateur = array('utilisateur_id' => $resultat[10], 'nom' => $resultat[11], 'prenom' => $resultat[12], 'courriel' => $resultat[13], 'telephone' => $resultat[14], 'moyen_contact' => $resultat[15], 'organisme_id' => $resultat[16]); $arrOrganisme = array('nom' => $resultat[17], 'adresse' => $arrAdresse, 'telephone' => $resultat[19], 'poste' => $resultat[20], 'utilisateur' => $arrUtilisateur, 'no_entreprise' => $resultat[22], 'no_osbl' => $resultat[23]); return response()->json($arrOrganisme, 200, $header, JSON_UNESCAPED_UNICODE); }
public function listedonid($id_donneur) { require 'Connection/bdlogin.php'; //inclu le fichier de connection a la basse de donné hip_dev require 'fonction.php'; $req = 'SELECT DISTINCT ali.nom, ali.alimentaire_id, typali.description_type_aliment, ali.description_alimentaire, ali.quantite, marunit.description_marchandise_unite, ali.date_peremption, ali.valeur, marstat.description_marchandise_statut FROM transaction trx INNER JOIN organisme org ON org.organisme_id = trx.donneur_id INNER JOIN alimentaire ali ON ali.alimentaire_id = trx.marchandise_id INNER JOIN type_aliment typali ON typali.aliment_id = ali.type_alimentaire INNER JOIN marchandise_statut marstat ON marstat.statut_id = ali.marchandise_statut INNER JOIN marchandise_etat maretat ON maretat.etat_id = ali.marchandise_etat INNER JOIN marchandise_unite marunit ON marunit.unite_id = ali.marchandise_unite WHERE trx.donneur_id = :id_donneur ORDER BY ali.alimentaire_id DESC'; $variable = array('id_donneur' => $id_donneur); $array = array(); $req = execution($req, $variable); while ($resultat = $req->fetch()) { $date_peremption = convertirdate($resultat['date_peremption']); // convertis la date en DATE_ATOM $aliment = array('id' => $resultat['alimentaire_id'], 'quantite' => $resultat['quantite'], 'unite' => $resultat['description_marchandise_unite'], 'nom' => $resultat['nom'], 'description' => $resultat['description_alimentaire'], 'type_alimentaire' => $resultat['description_type_aliment'], 'date_peremption' => $date_peremption, 'valeur' => $resultat['valeur'], 'marchandise_statut' => $resultat['description_marchandise_statut']); array_push($array, $aliment); } // retourne 200 si le programme ne rencontre pas d'erreur sinon execution() lance une exception return response()->json($array, 200, $header, JSON_UNESCAPED_UNICODE); }
<?php function connect($servername, $username, $password, $database) { $conn = mysql_connect($servername, $username, $password); if (!$conn) { die('Could not connect:' . mysql_error()); } mysql_select_db($database, $conn); return $conn; } function execution($sql, $conn) { $result = mysql_query($sql, $conn); if ($result) { return $result; } else { echo 'SQL execution FAILED:' . mysql_error(); } return 0; } return var_dump(execution('select * from db', connect('10.59.80.178', 'root', '123456', 'mysql')));
public function listereservation($id_organisme) { // retourne la liste des reservation incluant l'aliment et l'adresse require 'Connection/bdlogin.php'; //inclu le fichier de connection a la basse de donné hip_dev require 'fonction.php'; $req = 'SELECT ali.alimentaire_id, typali.description_type_aliment, ali.nom, ali.description_alimentaire, ali.quantite, marunit.description_marchandise_unite, ali.date_peremption, org.nom, adr.adresse_id, adr.no_civique, typrue.description_type_rue, adr.nom, adr.ville, adr.province, adr.code_postal, adr.pays, adr.app, org.telephone, org.poste, util.prenom, util.nom, util.courriel, util.telephone FROM type_aliment typali INNER JOIN alimentaire ali ON ali.type_alimentaire = typali.aliment_id INNER JOIN marchandise_unite marunit ON marunit.unite_id = ali.marchandise_unite INNER JOIN transaction trx ON trx.marchandise_id = ali.alimentaire_id INNER JOIN organisme org ON org.organisme_id = trx.donneur_id INNER JOIN adresse adr ON adr.adresse_id = org.adresse INNER JOIN type_rue typrue ON typrue.type_rue_id = adr.type_rue INNER JOIN utilisateur util ON util.utilisateur_id = org.utilisateur_contact WHERE ali.marchandise_statut = 2 AND trx.receveur_id = :receveur_id AND (trx.date_reservation, trx.marchandise_id) in (SELECT MAX(trx.date_reservation) as date_réservation, trx.marchandise_id FROM transaction trx WHERE trx.marchandise_id in (SELECT DISTINCT marchandise_id FROM transaction) AND trx.date_reservation IS NOT NULL GROUP BY trx.marchandise_id) ORDER BY typali.description_type_aliment, ali.nom, ali.description_alimentaire, ali.quantite'; $variable = array('receveur_id' => $id_organisme); $array = array(); $req = execution($req, $variable); while ($resultat = $req->fetch()) { $adresse = array('id' => $resultat[8], 'no_civique' => $resultat[9], 'type_rue' => $resultat[10], 'nom' => $resultat[11], 'app' => $resultat[16], 'ville' => $resultat[12], 'province' => $resultat[13], 'code_postal' => $resultat[14], 'pays' => $resultat[15]); $contact = array('nom' => $resultat[20], 'prenom' => $resultat[19], 'courriel' => $resultat[21], 'telephone' => $resultat[22]); $organisme = array('nom' => $resultat[7], 'telephone' => $resultat[17], 'poste' => $resultat[18], 'adresse' => $adresse, 'contact' => $contact); $arr = array('id' => $resultat[0], 'type_alimentaire' => $resultat[1], 'nom' => $resultat[2], 'description' => $resultat[3], 'quantite' => $resultat[4], 'unite' => $resultat[5], 'date_peremption' => convertirdate($resultat[6]), 'organisme' => $organisme); array_push($array, $arr); } // retourne 200 si le programme ne rencontre pas de probleme sinon execution lance une exeption return response()->json($array, 200, $header, JSON_UNESCAPED_UNICODE); }
public function organismereservation($id_organisme) { // retourne les organismes pour lesquels l'utilisateur a des reservations require 'Connection/bdlogin.php'; //inclu le fichier de connection a la basse de donné hip_dev $req = 'SELECT org.nom, adr.adresse_id, adr.no_civique, typrue.description_type_rue, adr.nom, adr.ville, adr.province, adr.code_postal, adr.pays, adr.app, org.telephone, org.poste, util.prenom, util.nom, util.courriel, util.telephone FROM transaction trx INNER JOIN organisme org ON org.organisme_id = trx.donneur_id INNER JOIN alimentaire ali ON ali.alimentaire_id = trx.marchandise_id INNER JOIN adresse adr ON adr.adresse_id = org.adresse INNER JOIN type_rue typrue ON typrue.type_rue_id = adr.type_rue INNER JOIN utilisateur util ON util.utilisateur_id = org.utilisateur_contact WHERE ali.marchandise_statut = 2 AND trx.receveur_id = :receveur_id AND (trx.date_reservation, trx.marchandise_id) in (SELECT MAX(trx.date_reservation) as date_réservation, trx.marchandise_id FROM transaction trx WHERE trx.marchandise_id in (SELECT DISTINCT marchandise_id FROM transaction) AND trx.date_reservation IS NOT NULL GROUP BY trx.marchandise_id)'; $variable = array('receveur_id' => $id_organisme); $array = array(); $req = execution($req, $variable); while ($resultat = $req->fetch()) { $adresse = array('id' => $resultat[1], 'no_civique' => $resultat[2], 'type_rue' => $resultat[3], 'nom' => $resultat[4], 'app' => $resultat[9], 'ville' => $resultat[5], 'province' => $resultat[6], 'code_postal' => $resultat[7], 'pays' => $resultat[8]); $contact = array('nom' => $resultat[13], 'prenom' => $resultat[12], 'courriel' => $resultat[14], 'telephone' => $resultat[15]); $organisme = array('nom' => $resultat[0], 'telephone' => $resultat[10], 'poste' => $resultat[11], 'adresse' => $adresse, 'contact' => $contact); array_push($array, $organisme); } //retourne 200 su le programme ne rencontre pas d'erreur sinon $execution lance une exception return response()->json($array, 200, $header, JSON_UNESCAPED_UNICODE); }
public function transactions($id) { require 'Connection/bdlogin.php'; require 'fonction.php'; $req = 'SELECT orgd.organisme_id, orgd.nom, orgd.telephone, orgd.poste, orgd.no_entreprise, orgd.no_osbl, orgr.organisme_id, orgr.nom, orgr.telephone, orgr.poste, orgr.no_entreprise, orgr.no_osbl, trx.transaction_id, trx.receveur_id, trx.donneur_id, trx.marchandise_id, trx.date_collecte, trx.date_reservation, trx.date_disponible, trx.date_transaction, ali.valeur, typali.description_type_aliment, adrd.adresse_id, adrd.no_civique, typrued.description_type_rue, adrd.nom, adrd.app, adrd.ville, adrd.province, adrd.code_postal, adrd.pays, adrr.adresse_id, adrr.no_civique, typruer.description_type_rue, adrr.nom, adrr.app, adrr.ville, adrr.province, adrr.code_postal, adrr.pays, ali.nom, ali.description_alimentaire, ali.quantite, maru.description_marchandise_unite FROM transaction trx INNER JOIN organisme orgr ON orgr.organisme_id = trx.receveur_id INNER JOIN organisme orgd ON orgd.organisme_id = trx.donneur_id INNER JOIN alimentaire ali ON ali.alimentaire_id = trx.marchandise_id INNER JOIN type_aliment typali ON typali.aliment_id = ali.type_alimentaire INNER JOIN adresse adrr ON adrr.adresse_id = orgr.adresse INNER JOIN adresse adrd ON adrd.adresse_id = orgd.adresse INNER JOIN type_rue typruer ON typruer.type_rue_id = adrr.type_rue INNER JOIN type_rue typrued ON typrued.type_rue_id = adrd.type_rue INNER JOIN marchandise_unite maru ON maru.unite_id = ali.marchandise_unite WHERE trx.date_collecte IS NOT NULL AND trx.receveur_id = :id1 OR trx.donneur_id = :id2 AND trx.date_collecte BETWEEN :date_debut AND :date_fin'; $variable = array('id1' => $id, 'id2' => $id, 'date_fin' => $_GET['date_au'], 'date_debut' => $_GET['date_du']); $array = array(); $req = execution($req, $variable); while ($resultat = $req->fetch()) { $adresse_donneur = array('id' => $resultat[22], 'no_civique' => $resultat[23], 'type_rue' => $resultat[24], 'app' => $resultat[26], 'nom' => $resultat[25], 'ville' => $resultat[27], 'province' => $resultat[28], 'code_postal' => $resultat[29], 'pays' => $resultat[30]); $adresse_receveur = array('id' => $resultat[31], 'no_civique' => $resultat[32], 'type_rue' => $resultat[33], 'app' => $resultat[35], 'nom' => $resultat[34], 'ville' => $resultat[36], 'province' => $resultat[37], 'code_postal' => $resultat[38], 'pays' => $resultat[39]); $organisme_donneur = array('id' => $resultat[0], 'nom' => $resultat[1], 'telephone' => $resultat[2], 'poste' => $resultat[3], 'no_entreprise' => $resultat[4], 'no_osbl' => $resultat[5], 'adresse' => $adresse_donneur); $organisme_receveur = array('id' => $resultat[6], 'nom' => $resultat[7], 'telephone' => $resultat[8], 'poste' => $resultat[9], 'no_entreprise' => $resultat[10], 'no_osbl' => $resultat[11], 'adresse' => $adresse_receveur); $alimentaire = array('valeur' => $resultat[20], 'type_alimentaire' => $resultat[21], 'nom' => $resultat[40], 'description' => $resultat[41], 'quantite' => $resultat[42], 'unite' => $resultat[43]); $transaction = array('id' => $resultat[12], 'receveur' => $organisme_receveur, 'donneur' => $organisme_donneur, 'alimentaire' => $alimentaire, 'date_collecte' => convertirdate($resultat[16]), 'date_reservation' => convertirdate($resultat[17]), 'date_disponible' => convertirdate($resultat[18]), 'date_transaction' => convertirdate($resultat[19])); array_push($array, $transaction); } return response()->json($array, 200, $header, JSON_UNESCAPED_UNICODE); }
public function collecteralimentaire($id_alimentaire) { // permet de collecter un aliment, met le status a collecté et cré une transaction require 'Connection/bdlogin.php'; require 'fonction.php'; // si l'aliment n'est plus disponible envoi un 409 if (!sidisponible($id_alimentaire)) { return response('La marchandise n\'est plus disponible', 409); } $req = 'SELECT transaction_id, receveur_id, donneur_id, date_reservation, date_disponible FROM transaction WHERE marchandise_id = :marchandise_id ORDER BY transaction_id DESC LIMIT 1'; // selectionne les informations de la derniere transaction relié a l'aliment $array = array('marchandise_id' => $id_alimentaire); $resultat = execution($req, $array)->fetch(); $req = 'INSERT INTO transaction (receveur_id, donneur_id, marchandise_id, date_reservation, date_disponible, date_transaction, date_collecte) VALUES (:receveur_id, :donneur_id, :marchandise_id, :date_reservation, :date_disponible, NOW(), NOW())'; $array = array('receveur_id' => $resultat['receveur_id'], 'donneur_id' => $resultat['donneur_id'], 'marchandise_id' => $id_alimentaire, 'date_reservation' => $resultat['date_reservation'], 'date_disponible' => $resultat['date_disponible']); execution($req, $array); $req = 'UPDATE alimentaire SET marchandise_statut = 4 WHERE alimentaire_id = :id_alimentaire'; // TODO enlever le hard-coding $array = array('id_alimentaire' => $id_alimentaire); execution($req, $array); // retourne 200 si le programme ne rencontre pas d'erreur sinon la fonction execution lance une exeption return response('La collecte a ete fait', 200); }