<?php //recherche des lapins du membre connecté $req = "SELECT id_lapin, nomlap FROM `{$prefixe}lapin` WHERE id_profil = '" . $_SESSION['mid'] . "'"; $res = requeteObj($req); //affichage sous forme d'options html foreach ($res as $lap) { echo "<option value='{$lap->id_lapin}'>{$lap->nomlap}</option>"; } //fermer et passer au destinataire ?> </select> destinataire : <select name="lapin"> <?php //recherche des lapins du profil consulté $req = "SELECT id_lapin, nomlap FROM `{$prefixe}lapin` WHERE identifiant = '{$user}'"; $res = requeteObj($req); //affichage sous forme d'options html foreach ($res as $lap) { echo "<option value='{$lap->id_lapin}'>{$lap->nomlap}</option>"; } //fermer et passer au contenu du message ?> </select> <br /> <span id="erreur"></span> titre : <input type="text" name="intitule" value="" maxlength="64"></input> <br /> message : <textarea name="texte" prototype="votre message"> </textarea> <br /> <input type="submit" name="submit" value="Envoyer"></input>
foreach ($liste as $disc) { $code .= "<li id=\"li{$disc->id_disc}\">\n\t\t\t<div onclick=\"ouvrir_fil({$disc->id_disc})\">+</div>\n\t\t\t<div>{$disc->intitule}</div>\n\t\t\t<div>{$disc->date}</div>\n\t\t\t<div>{$disc->infos}</div></li>\n"; } $code .= "</ul>\n</div>\n"; return $code; } //$pid=$_SESSION['pid']; //$req_disc="select * from `Discussion` d join `Profil` p on d.auteur=p.id_profil where auteur='$pid' or dest='$pid' "; //filtrer les discussions du lapin courant ou dont un lapin appartient au propriétaire courant //priorité : le lapin courant (doit nécessairement appartenir au profil courant) if (isset($lid)) { $req_disc = "select * from `{$prefixe}Discussion` \n\twhere auteur='{$lid}' or dest='{$lid}'"; } else { $req_disc = "select * from `{$prefixe}Discussion` \n\td join `{$prefixe}lapin` l1 on d.auteur=l1.id_lapin \n\tjoin `{$prefixe}lapin` l2 on d.dest=l2.id_lapin \n\tjoin `{$prefixe}Profil` p1 on p1.id_profil=l1.id_profil \n\tjoin `{$prefixe}Profil` p2 on p2.id_profil=l2.id_profil \n\twhere p1.id_profil='{$pid}' or p2.id_profil='{$pid}' "; } $liste_disc = requeteObj($req_disc); /* echo "<pre>"; print_r($liste_disc); echo "</pre>"; */ if ($liste_disc !== null) { //affichage de la messagerie $code = "<div class='boite'>\n"; $code .= habille_boite($liste_disc); $code .= "<div class='message' id='message'></div>\n"; $code .= "</div>\n"; echo $code; } else { echo "<i>Aucun profil trouvé.</i> " . mysql_error() . " " . $req_disc; } //est-ce toujours nécessaire ? La connexion est peut-être encore utile => l'ajouter systématiquement dans un document générique (moteur) ? disconnect();
} //identifier le membre connecté $mid = $_SESSION['mid']; //traitement if (connect()) { //connecté à la base if (!isset($_GET['corps'])) { //ouverture d'une discussion ou d'un message if (isset($_GET['id_disc'])) { //développer la discussion //!!! vérifier que la personne est bien connectée (cookie/session) //!!! gérer l'erreur d'absence de paramètres GET //!!! gérer la sécurité (ne pas inclure GET directement !) //obtenir les messages de cette discussion $req_mess = LireMessages($_GET['id_disc']); $liste_mess = requeteObj($req_mess); //envoyer le résultat au format XML header('Content-Type: application/xml'); $data = "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \n<boite>"; foreach ($liste_mess as $mess) { $data .= "<message><id>{$mess->id_mess}</id><titre>{$mess->titre}</titre><nom>{$mess->idLap}</nom><date>{$mess->date}</date><proprio>{$mess->nomlap}</proprio></message>\n"; // $data.="<message><id>$mess->id_mess</id><titre>$mess->titre</titre><nom>$mess->idLap</nom><date>$mess->date</date><proprio>$mess->nom $mess->prenom</proprio></message>\n"; } $data .= "\n</boite>"; echo $data; } else { if (isset($_GET['id_mess'])) { //ouvrir le message //!!! vérifier que la personne est bien connectée (cookie/session) //!!! gérer l'erreur d'absence de paramètres GET //!!! gérer la sécurité (ne pas inclure GET directement !)
$fiche = $_SESSION['fiche']; $req_disc = DiscAutreLapin($mid, $fiche); } } //effectuer la requête $liste_disc = requeteObj($req_disc); if ($liste_disc !== null) { //affichage de la messagerie $code = "<article>\n<h2>Messagerie de " . $_SESSION[identifiant] . "</h2>\n<div class='boite'>\n"; $code .= habille_boite($liste_disc); $code .= "<div class='message' id='texte'></div>\n"; //affichage du formulaire de nouvelle discussion if (isset($_SESSION['fiche'])) { //lapins du membre $req_lapin = IdNomLapin($mid); $lapins = requeteObj($req_lapin); //normalement il devrait toujours y avoir au moins un lapin //mais s'il n'y en a pas (mort du dernier) ne rien afficher if ($lapins !== null) { $code .= "<div id='nx_discussion'>"; $code .= "<form action='#' method='get' name='discussion' onsubmit='ajout_discussion();return false;'>\n"; $code .= "<fieldset>\n<label>Auteur : </label><select name='lid'>"; foreach ($lapins as $lapin) { $code .= "<option value='{$lapin->id_lapin}'>{$lapin->nomlap}</option>"; } $code .= "</select>"; $code .= "<label>Thème : </label><input type='text' name='sujet' value=''>"; $code .= "<br />Détails<br /><div class='detailsMess'>\n"; $code .= "<label>Titre : </label><input type='text' name='intitule' value=''>"; $code .= "<label>Message : </label><textarea name='corps'></textarea>\n</div>"; //mid est passé par la session