<?php /* * Fonctions de génération de message d'erreur pour utilisateur (et le debuggueur !) */ // Fonction retournant un message d'erreur correspondant à une erreur mysql function mysql_generate_errmsg() { if ( isset($_REQUEST['debug']) ) { return 'Erreur SQL numéro ' . mysql_errno() . ' : ' . mysql_error(); }else{ return 'Une erreur de base de données s\'est produite, veuillez réessayer ultérieurement.'; } } // Fonction retournant un message d'erreur correspondant à un numero d'erreur de pop3_auth(...) function pop3_generate_errmsg($errno) { require_once 'auth.inc.php'; if ( isset($_REQUEST['debug']) ) { $msg = 'Erreur authentification POP3 de code ' . $errno; }else{ switch ($errno) { case ERR_POP3_AUTH_BADUSER : case ERR_POP3_AUTH_BADPASS : $msg = 'Authentification rejetée : Vérifiez votre identifiant et saisissez votre mot de passe à nouveau'; break; case ERR_BAD_PARAMS : $msg = 'Adresse email invalide, ou serveur mail non répertorié'; break; default : $msg = 'Une erreur de communication avec le service d\'authentification s\'est produite,' . 'veuillez réessayer ultérieurement.'; break; } } return $msg; } /* * Génération du code html d'une case du tableau croisé Créneau/Presonnes ayant comme personne $idP, * comme créneau $idC. Si $idEditable est vrai je pourrai cliquer sur le bouton * pour donner ma disponibilité. $estDispo peut-être 'oui', 'non', ou '' et signifie que la personne a déjà répondu 'oui', non' * ou n'a pas encore répondu. */ // Génération d'une case function generate_html_dispo_case($idR, $idP, $idC, $isEditable, $estDispo, $withTD=false, $class='') { // Alignement html require_once('html_elements.inc.php'); if ( ! $isEditable ) { if ( $withTD ) { echo " <td $class>\n "; } // Cas général, on n'est pas la personne concernée if ( ! isset($estDispo) || $estDispo == '' ) { // Dispo Inconnue (icone ?) generate_html_dispo_inconnu($idP, $idC); } else { if ( $estDispo == 'oui' ) { // Disponible generate_html_dispo_oui($idP, $idC); }else { // Non Disponible generate_html_dispo_non($idP, $idC); } } } else { if ( $withTD ) { echo " <td id=\"dispo_idC${idC}\" $class>\n "; } // On est la personne concernée, on peut donc choisir le créneau if ( ! isset($estDispo) || $estDispo == '' ) { // Dispo Inconnue generate_html_dispo_dire_oui($idR, $idC); //~ echo ' '; generate_html_dispo_dire_non($idR, $idC); } else { if ( $estDispo == 'oui' ) { // Disponible generate_html_dispo_oui($idP, $idC); //~ echo ' '."\n "; generate_html_dispo_dire_non($idR, $idC); }else { // Non Disponible generate_html_dispo_dire_oui($idR, $idC); //~ echo ' '."\n "; generate_html_dispo_non($idP, $idC); } } } if ( $withTD ) { echo " </td>\n"; } } // Génération du tableau complet // TODO : idée : class du tableau différnete quand annulée -> tableau grisé... function generate_html_array_personnes_crenaux($idR) { $idP_Self=$_SESSION['session_idP']; // Connexion à la base et sélection de la database require_once 'include/connect.inc.php'; // Récupération des paramètres de la réunion... $montrerDispoR=$estAnnulee=$is_admin=$estFixee=false; $idP_orga=null; $query="SELECT r.montrerDispoR, r.estAnnulee, r.idP_Orga, r.idC_Fixe, r.idL FROM AWOR_Reunion r WHERE r.idR='$idR'"; $result = @mysql_query($query); if ( $result && ( mysql_num_rows($result) === 1 ) ) { list($montrerDispoR, $estAnnulee, $idP_orga, $idC_Fixe, $idL_interne) = mysql_fetch_row($result); $is_admin = ( $idP_Self == $idP_orga ); $montrerDispoR = ( ( $montrerDispoR === 'oui' ) || $is_admin ) ; //echo "DEBUG : annulée $estAnnulee\n"; $estAnnulee = ( $estAnnulee == 'oui' ); $estFixee = ( $idC_Fixe != null); } else { return "Impossible d'afficher le tableau de la r�union : Erreur de base de donn�e\n"; } // DEBUG : tests en for�ant les variables //$estAnnulee=true; //~ echo "DEBUG : \nmontrerDispoR==$montrerDispoR\nestAnnulee==$estAnnulee\nestFixee==$estFixee\nis_admin==$is_admin\n"; ?> <form id="formmail" action="sendmail.php" method="post"> <table class="details" summary="Disponibilité des personnes pour chaque créneau possible de la réunion"> <thead> <tr> <?php if ( $is_admin ) { echo ' <th>Mail</th>' . "\n"; } echo ' <th>' ."\n"; if ( $is_admin ) { echo ' <a href="#poppersonne" onclick="loadid(\'poppersonne.php?idR=' . $idR; echo '&idL=' . $idL_interne . '&idP_orga=' . $idP_orga . '\',\'poppersonne\',true);popon(\'poppersonne\');loadid(\'help/reunion_admin_participants.php.hlp\',\'help\',false)">' . "\n"; echo ' <img src="images/addP.gif" alt="Ajouter une personne" title="Ajouter une personne" height="17" width="19" />' . "\n"; echo ' </a> '; } echo 'Personnes' . "\n"; echo ' </th>' . "\n"; // Remplissage des entêtes de colonnes (créneaux) $query="SELECT idC, UNIX_TIMESTAMP(dateHeure), duree FROM AWOR_Creneau WHERE idR='$idR' ORDER BY dateHeure ASC;"; $creneaux=array(); $dispos=array(); if ( $result = @mysql_query($query) ) { while ( list($idC, $date_deb, $duree) = mysql_fetch_row($result) ) { // Calcul des dates //echo $date_deb . "\n"; $date_fin = $date_deb + 60 * $duree; if ( $idC != $idC_Fixe ) { echo ' <th>'; } else { echo ' <th class="selected">'; } if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo '<a href="#popfixer" onclick="loadid(\'popfixer.php?idC=' . $idC; echo '&idR=' . $idR . '\',\'popfixer\',true);popon(\'popfixer\');">'; } echo date('d/m/y', $date_deb) . '<br />' . date('H:i', $date_deb) . ' - ' . date('H:i', $date_fin); if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo '</a>'; } echo "</th>\n"; // Comptage des personnes disponibles et indisponibles $creneaux[] = $idC; $dispos[$idC]['nbDispo']=0; $dispos[$idC]['nbNonDispo']=0; $dispo_max_id=-1; $dispo_max_val=0; } } if ( $is_admin && ! $estFixee && ! $estAnnulee ) { ?> <th> <a href="#popcreneau" onclick="loadid('popcreneau.php?idR=<?php echo $idR; ?>','popcreneau',true);popon('popcreneau');loadid('help/reunion_admin_creneaux.php.hlp','help',false)"> <img src="./images/editCreneau2.gif" alt="Editer les creneaux" title="Editer les creneaux" height="21" width="22" /> </a> </th> <?php } //print_r($creneaux); ?> </tr> </thead> <tbody> <?php // Remplissage du tableau, ligne à ligne // Requette écrivant les disponibilités dans un tableau associatif en une seule fois if ( $montrerDispoR ) { $query='SELECT ch.idC, ch.idP, ch.estDispo FROM AWOR_Choisir ch, AWOR_Creneau c, AWOR_Personne p, AWOR_Appartenir a, AWOR_Reunion r WHERE ' ."c.idR=$idR AND r.idR=$idR AND a.idL=r.idL AND p.idP=a.idP AND ch.idC = c.idC AND ch.idP = p.idP;"; } else { $query='SELECT ch.idC, ch.idP, ch.estDispo FROM AWOR_Choisir ch, AWOR_Creneau c WHERE ' ."c.idR='$idR' AND ch.idC=c.idC AND ch.idP='$idP_Self';"; } //echo $query . "\n"; if ( $result = @mysql_query($query) ) { while ( list($idC, $idP, $estDispo) = mysql_fetch_row($result) ) { //echo "idC == '$idC'\n"; $dispos[$idC][$idP]=$estDispo; if ( $estDispo=='non' ) { $dispos[$idC]['nbNonDispo']++; } if ( $estDispo=='oui' ) { $dispos[$idC]['nbDispo']++; if ( $dispos[$idC]['nbDispo'] > $dispo_max_val ) { $dispo_max_id=$idC; $dispo_max_val=$dispos[$idC]['nbDispo']; } } } } //print_r($dispos); $query='SELECT p.idP, p.prenomP, p.nomP FROM AWOR_Personne p, AWOR_Appartenir a, AWOR_Reunion r WHERE ' . "r.idR='$idR' AND a.idL=r.idL AND p.idP=a.idP ORDER BY p.nomP, p.prenomP;"; if ( $result = @mysql_query($query) ) { // On écrit ligne à ligne les personnes et les disponibilités while ( $p = mysql_fetch_array($result) ) // Boucle sur chaque personne { echo " <tr>\n"; // Colonne de checkbox pour envoi email si $is_admin == true if ( $is_admin ) { echo ' <td><input name="mail_idP' . $p[0] . '" type="checkbox" checked="checked" /></td>' . "\n"; } // Nom prénom echo ' <td>' . htmlentities($p[1], ENT_QUOTES) . ' ' . htmlentities($p[2], ENT_QUOTES) . "</td>\n"; // Disponibilités foreach ( $creneaux as $c_id ) // Pour chaque créneau { if (isset($dispos[$c_id][$p[0]])) { $estDispo=$dispos[$c_id][$p[0]]; } else { $estDispo=''; } //echo "DEBUG : generate_html_dispo_case($p[0], $c_id, ( $p[0]==$idP_Self ), $estDispo);\n"; if ( $c_id != $idC_Fixe ) { $class=''; } else { $class='class="selected"'; } generate_html_dispo_case($idR, $p[0], $c_id, ( ! $estFixee && ! $estAnnulee && ( $p[0]==$idP_Self ) ),$estDispo, true, $class); } // Colonne vide pour l'ajout de personnes if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo " <td> </td>\n"; } echo " </tr>\n"; } // Si $is_admin, on met une ligne avec bouton envoyer pour les mails et ic�ne ajout de personnes if ( $is_admin ) { echo " <tr>\n <td>\n"; echo ' <input name="idR" value="' . $idR . '" type="hidden" />' . "\n"; ?> <input value="Envoyer" type="submit" /> </td> <td> <?php echo '<a href="#poppersonne" onclick="loadid(\'poppersonne.php?idR=' . $idR; echo '&idL=' . $idL_interne . '&idP_orga=' . $idP_orga . '\',\'poppersonne\',true);popon(\'poppersonne\');loadid(\'help/reunion_admin_participants.php.hlp\',\'help\',false)">' . "\n"; ?> <img src="images/addP.gif" alt="Ajouter une personne" title="Ajouter une personne" height="17" width="19" /> </a> </td> <?php foreach ( $creneaux as $c ) { echo " <td> </td>\n"; } if ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo " <td> </td>\n"; } echo " </tr>\n"; } // On inscrit les lignes de totaux si les disponibilités sont révélées if ( $is_admin && ! $estFixee && ! $estAnnulee) { echo " <tr>\n"; echo " <td> </td>\n"; echo " <td>Personnes présentes</td>\n"; foreach ( $creneaux as $c_id ) { if ( $c_id == $dispo_max_id ) { echo ' <td><em>' . $dispos[$c_id]['nbDispo'] . "</em></td>\n"; } else { echo ' <td>' . $dispos[$c_id]['nbDispo'] . "</td>\n"; } } echo " <td> </td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td> </td>\n"; echo " <td>Personnes absentes</td>\n"; foreach ( $creneaux as $c_id ) { echo ' <td>' . $dispos[$c_id]['nbNonDispo'] . "</td>\n"; } echo " <td> </td>\n"; echo " </tr>\n"; } } echo " </tbody>\n"; echo " </table>\n</form>\n"; } function traiter_formulaire_fixer_creneau() { if ( ! isset($_GET['idR']) || !isset($_GET['idC']) ) { $errmsg="Impossible de fixer la réunion : paramètres manquants ou erroné"; return $errmsg; } $idR=addslashes($_GET['idR']); $idC=addslashes($_GET['idC']); $query="UPDATE AWOR_Reunion SET idC_Fixe=$idC WHERE idR=$idR;"; if ( ! mysql_query($query) || mysql_affected_rows() != 1 ) { $errmsg='Impossible de fixer la réunion : ' . mysql_generate_errmsg(); return $errmsg; } return; } function traiter_formulaire_creer_reunion() { include_once('include/je.inc.php'); $idP=$_SESSION['session_idP']; // Recherche d'une réunion vierge déjà existante $query='SELECT idR FROM AWOR_Reunion WHERE idP_Orga=' . "('$idP') AND objetR='Renseignez';"; if ( ( $result = mysql_query($query) ) && (mysql_num_rows($result) > 0) ) { list($idR)=mysql_fetch_array($result); } else { // Création de la Réunion sauf si une réunion vierge existe déjà $query='INSERT INTO AWOR_Reunion(idP_Orga, objetR) VALUES' . "('$idP', 'Renseignez');"; if ( ! $result = @mysql_query($query) || (mysql_affected_rows() != 1) ) { // Cas d'erreur $errmsg ='Erreur lors de la création de la liste de participants : ' . mysql_generate_errmsg(); return $errmsg; } $idR=mysql_insert_id(); // Création de la Liste des participants if ( ! $idL=list_new("interne_idR_$idR","NULL",true) ) { $errmsg ='Erreur lors de la création de la liste de participants : Erreur de base de données'; return $errmsg; } $query="UPDATE AWOR_Reunion SET idL='$idL' WHERE idR='$idR'"; if ( ! $result = @mysql_query($query) || (mysql_affected_rows() != 1) ) { // Cas d'erreur $errmsg = 'Erreur lors de la création de la liste de participants : ' . mysql_generate_errmsg(); return $errmsg; } } return (int) $idR; } function traiter_formulaire_modif_detail_reunion() { require_once('include/tools.inc.php'); if ( ! isset($_REQUEST['idR']) || !isset($_POST['objetR']) || !isset($_POST['lieuR']) || !isset($_POST['ordreJourR']) || !isset($_POST['remarquesR']) ) { $errmsg = 'Impossible de modifier de détail de la réunion : Paramètres manquants'; // DEBUG : //echo "DEBUG : $query\n$errmsg\n"; return $errmsg; } $idR=addslashes_if_needed($_REQUEST['idR']); $objetR=addslashes_if_needed($_POST['objetR']); $lieuR=addslashes_if_needed($_POST['lieuR']); $ordreJourR=addslashes_if_needed($_POST['ordreJourR']); $remarquesR=addslashes_if_needed($_POST['remarquesR']); $estAnnulee=( isset($_POST['isCancelled']) && ($_POST['isCancelled']==='on') )?'oui':'non'; $montrerDispoR=( isset($_POST['isHidden']) && ($_POST['isHidden']==='on') )?'non':'oui'; $query="UPDATE AWOR_Reunion SET objetR='$objetR', lieuR='$lieuR', ordreJourR='$ordreJourR', " ." remarquesR='$remarquesR', estAnnulee='$estAnnulee', montrerDispoR='$montrerDispoR' WHERE idR='$idR'"; if ( ! $result = @mysql_query($query) || (mysql_affected_rows() != 1) ) { // Cas d'erreur $errmsg = 'Erreur lors de la modification de la réunion : ' . mysql_generate_errmsg(); // DEBUG : //echo "DEBUG : $query\n$errmsg\n"; return $errmsg; } // DEBUG : //echo "DEBUG : $query\n$errmsg\n"; return; } function generate_html_reunion_detail2($idR) { $query='SELECT r.objetR, r.ordreJourR, r.lieuR, r.remarquesR, r.montrerDispoR, r.estAnnulee, r.idP_Orga, r.idC_Fixe, p.nomP, p.prenomP' . " FROM AWOR_Reunion r, AWOR_Personne p WHERE r.idR='$idR' AND p.idP=r.idP_Orga"; $result = @mysql_query($query); if ( ! $result || ( mysql_num_rows($result) !== 1 ) ) { $errmsg="Impossible de récuprérer les informations de la réunion : Erreur de base de données\n"; return $errmsg; } list($objetR, $ordreJourR, $lieuR, $remarquesR, $montrerDispoR, $estAnnulee, $idP_Orga, $idC_Fixe, $nomP, $prenomP) = mysql_fetch_row($result); if ( $estAnnulee=='oui' ) { $etat = 'reunion_annulee'; } elseif ( $idC_Fixe!=null) { $etat ='reunion_fixee'; } else { $etat = 'reunion_en_cours'; } ?> <table class="detail_reunion" summary="Détail de la réunion que vous avez sélectionnée"> <thead> <tr> <th colspan="2"> Détails de la réunion <?php //~ echo "DEBUG : SESSION['session_idP']==" . $_SESSION['session_idP'] . "\n" . "idP_Orga==" . $idP_Orga; if ( isset($_SESSION['session_idP']) && ($_SESSION['session_idP'] == $idP_Orga ) ) { echo ' '; echo '<a href="#popfixer" onclick="loadid(\'include/ludo/div_create_or_modif.php?idR='; echo $idR . '&objetR=' . urlencode($objetR) . '&lieuR=' . urlencode($lieuR) . '&ordreJourR='; echo urlencode($ordreJourR) . '&remarquesR=' . urlencode($remarquesR); echo "','details_reunion',false);loadid('help/reunion_admin_info.php.hlp','help',false)\">(Editer)</a>\n"; } $objetR=htmlentities($objetR, ENT_QUOTES); $ordreJourR=htmlentities($ordreJourR, ENT_QUOTES); $lieuR=htmlentities($lieuR, ENT_QUOTES); $remarquesR=htmlentities($remarquesR, ENT_QUOTES); $nomP=htmlentities($nomP, ENT_QUOTES); $prenomP=htmlentities($prenomP, ENT_QUOTES); ?> </th> </tr> </thead> <tbody> <tr> <td><strong>Objet :</strong></td> <td> <?php echo $objetR . "\n"; ?> </td> </tr> <tr> <td><strong>Organisateur :</strong></td> <td> <?php echo "$prenomP $nomP\n"; ?> </td> </tr> <tr> <td><strong>Lieu :</strong></td> <td> <?php echo $lieuR . "\n"; ?> </td> </tr> <tr> <td><strong>Ordre du jour :</strong></td> <td> <?php echo $ordreJourR . "\n"; ?> </td> </tr> <tr> <td><strong>Remarques :</strong></td> <td> <?php echo $remarquesR . "\n"; ?> </td> </tr> <tr> <td><strong>Etat :</strong></td> <?php echo ' <td class="' . $etat .'">' ."\n"; switch($etat) { case 'reunion_fixee': echo "Fixée\n"; break; case 'reunion_en_cours': echo "En préparation\n"; break; case 'reunion_annulee': echo "Annulée\n"; break; } if ( $montrerDispoR === 'non' ) { echo ', disponibilités masquées'; } ?> </td> </tr> </tbody> </table> <?php } function html_generate_MySQLTableSuppr($table, $key_name, $columns='*', $where_clause='') { require_once('include/ludo/html_elements.inc.php'); require_once('include/connect.inc.php'); if ( $where_clause !== '' ) { $where_clause="WHERE $where_clause"; } $query = "SELECT $columns FROM $table $where_clause;"; //~ echo "DEBUG : $query\n"; if ( ! $result = @mysql_query($query) ) { return "Erreur de génération de la table $table\n"; } elseif ( mysql_num_rows($result) > 0 ) { $row = mysql_fetch_assoc($result); // Affichage des entêtes du tableau et du pied de tableau echo '<form action="" method="post">' . "\n" . '<table summary="Affichage des objets de la table ' . $table . ' pour la purger">' . "\n<thead>\n<tr>\n"; echo '<td colspan="' . ( count($row) + 1 ) . "\">$table</td>\n</tr>\n<tr>\n"; echo "<td></td><td>" . implode("</td>\n<td>",array_keys($row)) . "</td>\n"; echo "</tr>\n</thead>\n<tfoot><tr>\n"; echo '<td><input name="action" value="delete_from_' . $table . '" type="hidden" /><input value="Supprimer" type="submit" /></td>'; for ( $i=0; $i < count($row); $i++ ) { echo "<td></td>"; } echo "</tr>\n</tfoot>\n<tbody>\n"; $num=0; do { if ( isset($row[$key_name]) ) { $num=$row[$key_name]; } else { $num=''; } echo "<tr>\n<td><input name=\"id[${num}]\" type=\"checkbox\" /></td>\n<td>" . implode("</td>\n<td>",$row) . "</td>\n</tr>\n"; } while ( $row = mysql_fetch_assoc($result) ); echo "</tbody>\n</table>\n</form>\n"; } } function delete_from_awor_liste() { require_once('include/connect.inc.php'); if ( isset($_POST['id']) && is_array($_POST['id']) ) { if ( ! base_delete_awor_liste( 'idL', array_keys($_POST['id'] ) ) ) { echo "ROLLBACK<br />\n"; mysql_query("ROLLBACK"); } } } function delete_from_awor_fichier() { require_once('include/connect.inc.php'); if ( isset($_POST['id']) && is_array($_POST['id']) ) { if ( ! base_delete_awor_fichier( 'idFic', array_keys($_POST['id'] ) ) ) { echo "ROLLBACK<br />\n"; mysql_query("ROLLBACK"); } } } function delete_from_awor_reunion() { require_once('include/connect.inc.php'); if ( isset($_POST['id']) && is_array($_POST['id']) ) { if ( ! base_delete_awor_reunion( array_keys($_POST['id']) ) ) { echo "ROLLBACK<br />\n"; mysql_query("ROLLBACK"); } } } function delete_from_awor_personne() { require_once('include/connect.inc.php'); if ( isset($_POST['id']) && is_array($_POST['id']) ) { if ( ! base_delete_awor_personne( array_keys($_POST['id']) ) ) { echo "ROLLBACK<br />\n"; mysql_query("ROLLBACK"); } } } function base_delete_awor_reunion($idR_array) { echo "function base_delete_awor_reunion($idR_array)<br />\n"; // Suppression des cr�neaux associ�s $idR_implode=implode(',', $idR_array); $query = "SELECT idC FROM AWOR_Creneau WHERE idR IN ($idR_implode);"; $idC_array=array(); if ( $result = @mysql_query($query) ) { while ( list($idC) = mysql_fetch_array($result) ) { $idC_array[]=$idC; } } if ( !base_delete_awor_creneau( $idC_array ) ) { return false; } // Suppression des listes associ�es $idR_Interne_implode=implode("','interne_idR_", $idR_array); if ( $idR_Interne_implode != '' ) { $idR_Interne_implode = "'interne_idR_" . $idR_Interne_implode . "'"; } $query = "SELECT idL FROM AWOR_Liste WHERE libelleL IN ($idR_Interne_implode);"; //~ echo "$query<br />\n"; $idL_array=array(); if ( $result = @mysql_query($query) ) { while ( list($idL) = mysql_fetch_array($result) ) { $idL_array[]=$idL; } } //~ print_r($idL_array); if ( !base_delete_awor_liste('idL', $idL_array) ) { return false; } if ( !base_delete_awor_fichier('idR', $idR_array) ) { return false; } if ( !base_delete_awor_repondre('idR', $idR_array) ) { return false; } $idR_implode=implode(',', $idR_array); if ( $idR_implode!= '' ) { $query="DELETE FROM AWOR_Reunion WHERE idR IN ($idR_implode);"; echo "$query<br />\n"; return ( mysql_query($query) !== false ) ; } return true; } function base_delete_awor_personne($idP_array) { echo "function base_delete_awor_personne($idP_array)<br />\n"; // Suppression des r�unions organis�es par les personnes concern�es $idP_implode=implode(',', $idP_array); $query = "SELECT DISTINCT idR FROM AWOR_Reunion WHERE idP_Orga IN ($idP_implode);"; $idR_array=array(); if ( $result = @mysql_query($query) ) { while ( list($idR) = mysql_fetch_array($result) ) { $idR_array[]=$idR; } } // Suppr Choisir, Repondre if ( !base_delete_awor_reunion($idR_array) ) { return false; } // Suppression des personnes dans les listes les contenant if ( !base_delete_awor_appartenir('idP', $idP_array) ) { return false; } // Suppression des listes priv�es appartenant aux personnes // TODO : voir pour les listes publiques appartenant aux personnes if ( !base_delete_awor_liste('idP_Createur', $idP_array) ) { return false; } // Suppression effective des personnes $idP_implode=implode(',', $idP_array); if ( $idP_implode!= '' ) { $query="DELETE FROM AWOR_Personne WHERE idP IN ($idP_implode);"; echo "$query<br />\n"; return ( mysql_query($query) !== false ) ; } } function base_delete_awor_liste($idName, $id_array) { // idName = ( idL | idP_Createur ) echo "function base_delete_awor_liste($idName, $id_array)<br />\n"; // Suppression du contenu des listes if ( !base_delete_awor_appartenir('idL', $id_array) ) { return false; } // Suppression des listes $id_implode=implode(',', $id_array); if ( $id_implode!= '' ) { $query="DELETE FROM AWOR_Liste WHERE $idName IN ($id_implode);"; echo "$query<br />\n"; mysql_query($query); } return true; } function base_delete_awor_fichier($idName, $id_array) { // $idName = (idFic | idR) echo "function base_delete_awor_fichier($idName, $id_array)<br />\n"; require("include/ludo/config.inc.php"); $id_implode=implode(',', $id_array); // Supression physique if ( isset($CONFIG['UPLOAD']['relative_path']) ) { $basepath=$CONFIG['UPLOAD']['relative_path']; } else { $basepath='fichiers/';} $basepath=$_SERVER['DOCUMENT_ROOT'].'/'.$basepath; $requete = "SELECT nomFic FROM AWOR_Fichier WHERE $idName IN ($id_implode);"; echo "$requete<br />\n"; if( ( $resultat = mysql_query($requete) ) ) { while( list($fichier) = mysql_fetch_array($resultat)) { echo "unlink($basepath.$fichier);<br />\n"; unlink($basepath.$fichier); } } // Suppression dans la base if ( $id_implode!= '' ) { $query="DELETE FROM AWOR_Fichier WHERE $idName IN ($id_implode);"; echo "$query<br />\n"; return ( mysql_query($query) !== false ) ; } return true; } function base_delete_awor_choisir($idName, $id_array) { // idName = (idP|idR) echo "function base_delete_awor_choisir($idName, $id_array)<br />\n"; $id_implode=implode(',', $id_array); if ( $id_implode!= '' ) { $query="DELETE FROM AWOR_Choisir WHERE $idName IN ($id_implode);"; echo "$query<br />\n"; return ( mysql_query($query) !== false ) ; } return true; } function base_delete_awor_repondre($idName, $id_array) { echo "function base_delete_awor_repondre($idName, $id_array)<br />\n"; // idName=(idR|idP) // Suppression des Reponses $id_implode=implode(',', $id_array); if ( $id_implode!= '' ) { $query="DELETE FROM AWOR_Repondre WHERE $idName IN ($id_implode);"; echo "$query<br />\n"; return ( mysql_query($query) !== false ) ; } return true; } function base_delete_awor_appartenir($idName, $id_array) { // $idName = (idL | idP) echo "function base_delete_awor_appartenir($idName, $id_array)<br />\n"; // Suppression dans la base $idL_implode=implode(',', $id_array); if ( $idL_implode!= '' ) { $query="DELETE FROM AWOR_Appartenir WHERE $idName IN ($idL_implode);"; echo "$query<br />\n"; return ( mysql_query($query) !== false ) ; } return true; } function base_delete_awor_creneau($idC_array) { echo "function base_delete_awor_creneau($idC_array)<br />\n"; // Suppression des r�ponses aux cr�neaux if ( ! base_delete_awor_choisir('idC', $idC_array) ) { return false; } // Suppression des cr�neaux $idC_implode=implode(',', $idC_array); if ( $idC_implode!= '' ) { $query="DELETE FROM AWOR_Creneau WHERE idC IN ($idC_implode);"; echo "$query<br />\n"; return ( mysql_query($query) !== false ) ; } return true; } // TODO : suppression des listes vides ?>