From f3b120db06b6cd581cb59e0390dddffd15f43ade Mon Sep 17 00:00:00 2001
From: Sandra MICHAUT <sandra.michaut@ensiie.fr>
Date: Mon, 9 May 2016 00:01:36 +0200
Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20fonction=20de=20cr=C3=A9ation?=
 =?UTF-8?q?=20de=20lien=20potentiel?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Code/ajout_lien.php    | 49 +++++++++++++++++++++++++++---------------
 Code/profil_vision.php | 28 ++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 17 deletions(-)

diff --git a/Code/ajout_lien.php b/Code/ajout_lien.php
index 9abbec4..49e67b1 100644
--- a/Code/ajout_lien.php
+++ b/Code/ajout_lien.php
@@ -70,6 +70,7 @@ if ($relation != 0) {
     }
 
     else {
+        $login = $infos[0];
         $mail = $infos[1];
         $inscrit = 'y';
     }
@@ -104,24 +105,38 @@ if ($inscrit != NULL) {
     }
 
     elseif ($inscrit == 'y') {
-        print "<p>Votre parrain/marraine/filleul(e) est inscrit(e), envoi d'une demande d'ajout du lien :</p>";
-        print "<form action='MAILTO:$mail' method='get' name='email' onsubmit=\"return validateForm4()\" enctype=\"text/plain\">";
 
-        print "<fieldset>";
-        print "<p>Nom :";
-        print "<input type=\"text\" size=\"8\" name=\"name\" pattern=\"[A-Z][a-zA-Z'-.\s]{1,}\" value=$nom title=\"Must start with one uppercase then have only lowercases (if composed name : Last Name or Last-Name)\"><br/>";
-        print "<p>Prénom :";
-        print "<input type=\"text\" size=\"8\" name=\"Prenom\" pattern=\"[A-Z][a-zA-Z-.\s]{1,}\" value=$prenom title='Must start with one uppercase then have only lowercases (if composed name : First-Name)'/></p>";
-        print "<p>E-mail:";
-        print "<input type=\"email\" size=\"15\" name=\"mail\" pattern='[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$' title='Must be valid email format' value='$mail'/></p>";
-        print "<p>Objet:";
-        print "<input type=\"text\" name=\"objet\" size=\"50\" value=\"Demande de lien dans l'Arbre Généalogique de l'ENSIIE\"></p><br/>";
-        print "<p>Message (demande d'inscription):<br/>";
-        print "<TEXTAREA name=\"Corps\" rows='4' cols='80' required placeholder=\"Proposez ici votre demande de lien en n'oubliant pas de vous identifier (nom, prénom et/ou surnom) !\"></TEXTAREA><br/><br/>";
-        print "<input type=\"submit\" value=\"Envoyer\">";
-        print "<input type=\"reset\" value=\"Reinitialiser\"></p>";
-        print "</fieldset>";
-        print "</form>";
+        /* Ajout d'un lien pas encore validé dans la BD */
+
+        $reussi = ajoutLien($login, $nomUser, $nomHost, $nomBase, $nomRoot, $mdpRoot); /* login est toujours défini car pour arriver dans cette condition, il faut l'avoir défini */
+
+        if ($reussi == -2) {
+            print "<p class='erreur'>Erreur lors de la connexion à la base de données, rafraîchir la page ou contacter l'administrateur</p>";
+        }
+        elseif ($reussi == -1) {
+            print "<p class='erreur'>Echec de la requête, contacter l'administrateur</p>";
+        }
+
+        else {
+            print "<p>Votre parrain/marraine/filleul(e) est inscrit(e), envoi d'une demande d'ajout du lien :</p>";
+            print "<form action='MAILTO:$mail' method='get' name='email' onsubmit=\"return validateForm4()\" enctype=\"text/plain\">";
+
+            print "<fieldset>";
+            print "<p>Nom :";
+            print "<input type=\"text\" size=\"8\" name=\"name\" pattern=\"[A-Z][a-zA-Z'-.\s]{1,}\" value=$nom title=\"Must start with one uppercase then have only lowercases (if composed name : Last Name or Last-Name)\"><br/>";
+            print "<p>Prénom :";
+            print "<input type=\"text\" size=\"8\" name=\"Prenom\" pattern=\"[A-Z][a-zA-Z-.\s]{1,}\" value=$prenom title='Must start with one uppercase then have only lowercases (if composed name : First-Name)'/></p>";
+            print "<p>E-mail:";
+            print "<input type=\"email\" size=\"15\" name=\"mail\" pattern='[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$' title='Must be valid email format' value='$mail'/></p>";
+            print "<p>Objet:";
+            print "<input type=\"text\" name=\"objet\" size=\"50\" value=\"Demande de lien dans l'Arbre Généalogique de l'ENSIIE\"></p><br/>";
+            print "<p>Message (demande d'inscription):<br/>";
+            print "<TEXTAREA name=\"Corps\" rows='4' cols='80' required placeholder=\"Proposez ici votre demande de lien en n'oubliant pas de vous identifier (nom, prénom et/ou surnom) !\"></TEXTAREA><br/><br/>";
+            print "<input type=\"submit\" value=\"Envoyer\">";
+            print "<input type=\"reset\" value=\"Reinitialiser\"></p>";
+            print "</fieldset>";
+            print "</form>";
+        }
 
     }
 }
diff --git a/Code/profil_vision.php b/Code/profil_vision.php
index 2ec36c2..010c161 100644
--- a/Code/profil_vision.php
+++ b/Code/profil_vision.php
@@ -1069,6 +1069,34 @@ function modifierAssoc_eleve($ajout, $login, $id, $nomHost, $nomBase, $nomRoot,
 
 
 
+/* Renvoie: 0 si la commande a pu être exécutée
+           -1 si la commande a échoué
+           -2 si on n'a pas réussi à se connecter à la base
+    Supprime ou ajoute (selon $ajout) une association $id dans la table Assoc_eleve pour un login donné */
+function ajoutLien($login1, $login2, $nomHost, $nomBase, $nomRoot, $mdpRoot) {
+
+    /* On se connecte a la base */
+    if ( $DB = pg_connect("host=$nomHost user=$nomRoot dbname=$nomBase password=$mdpRoot" ) ) {
+
+        $commande = pg_query($DB, "INSERT INTO liens VALUES ('$login1','$login2','n')");
+
+        if ($commande) {
+            $retour = 0;
+        }
+        else $retour = -1;
+
+    }
+
+    else {
+        /* Impossible de se connecter a la BD */
+        $retour = -2;
+    }
+
+    return $retour;
+
+}
+
+
 function affichage_total ($nomHost, $nomBase, $nomRoot, $mdpRoot) {
     /* On se connecte a la base */
     if ( $DB = pg_connect("host=$nomHost user=$nomRoot dbname=$nomBase password=$mdpRoot" ) ) {
-- 
GitLab