Subversion Repositories Sites.tela-botanica.org

Rev

Rev 609 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php

// +--------------------------------------------------------------------------------+
// | admin_annu.php                                                                                                     |
// +--------------------------------------------------------------------------------+
// | Copyright (c) 2002                                                                                                                 |
// +--------------------------------------------------------------------------------+
// | Administration des inscrits à un annuaire de type annuaire_tela                       |
// | de Gsite,                                                                                                                      |
// | Sont également mises en jeux les tables gen_COUNTRY, gen_FRENCH_DPT,              |
// | LABELS                                                                                                                                     |
// | Plus spécifique la fonction cotisation($id) en bas permet de                                  |
// | gérer les cotisations versées par les inscrits, avec la table                                    |
// | annuaire_COTISATION                                                                                                                        |
// +--------------------------------------------------------------------------------+
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org>                                   |
// +--------------------------------------------------------------------------------+
//
// $Id: admin_annu.php,v 1.1 2005/03/24 08:47:31 alex Exp $


define ("URL_RECU", $GLOBALS['ann_url']->protocol. '://'.$GLOBALS['ann_url']->host."/client/annuaire/voir_recu_pdf.php") ;

include_once ("HTML/Table.php") ;
include_once 'api/formulaire/FORM_formulaire.class.php' ;

// admin_annu est une application cliente de gsite elle commence donc
// dans une fonction putFrame()


function putFrame()
{
        global $u_id, $cotisation_id ;
    global $action ;

    if (empty($action)) $action = false  ;

    $url = $GLOBALS['ann_url']->getURL() ;

    // mise à jour si il y lieu

    if ($action == "up") {
        $res .= upSQL() ;
        }

    // Requete de pour récupérer toutes les infos d'un usager

    $query = "select annuaire_tela.*,annuaire_LABEL_ACT.*,annuaire_LABEL_ASS.*,gen_COUNTRY.GC_NAME" ;
    $query .= ", annuaire_LABEL_NIV.*" ;
    $query .= " from annuaire_tela,gen_COUNTRY,gen_FRENCH_DPT," ;
    $query .= " annuaire_LABEL_ACT,annuaire_LABEL_ASS, annuaire_LABEL_NIV" ;
    $query .= " where U_ID=$u_id" ;
    //$query .= " and annuaire_tela.U_FRENCH_DPT=gen_FRENCH_DPT.GFD_ID" ;
    $query .= " and annuaire_tela.U_COUNTRY=gen_COUNTRY.GC_ID" ;
    $query .= " and annuaire_tela.U_ACT=annuaire_LABEL_ACT.ID_LABEL_ACT" ;
    $query .= " and annuaire_tela.U_ASS=annuaire_LABEL_ASS.ID_LABEL_ASS" ;
    $query .= " and annuaire_tela.U_NIV=annuaire_LABEL_NIV.ID_LABEL_NIV" ;

    $resultat = $GLOBALS['ann_db']->query($query) ;
        if (DB::isError($resultat)) {
                return $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
        }
    $row = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;

    $lettre = 'non' ;
    if($row->U_LETTRE == 1) {
        $lettre = 'oui' ;
    }

    $res = "<h1>Edition d'un adh&eacute;rent : $row->U_NAME $row->U_SURNAME</h1>\n" ;
    $res .= "<div>".form("Nom : ", "U_NAME", $row->U_NAME)."</div>\n" ;
    $res .= "<div>".form("Pr&eacute;nom : ", "U_SURNAME", $row->U_SURNAME)."</div>\n" ;
    $res .= "<div>".form("Adresse mail : ", "U_MAIL", $row->U_MAIL)."</div>\n" ;
    $res .= "<div>".form("Date d'inscription : ", "U_DATE", $row->U_DATE)."</div>\n" ;
    $res .= "<div>".form("Adresse 1 : ", "U_ADDR1", $row->U_ADDR1)."</div>\n" ;
    $res .= "<div>".form("Adresse 2 : ", "U_ADDR2", $row->U_ADDR2)."</div>\n" ;
    $res .= "<div>".form("Région : ", "U_STATE", $row->U_STATE)."</div>\n" ;
    $res .= "<div>".form("Code postal : ", "U_ZIP_CODE", $row->U_ZIP_CODE)."</div>\n" ;
    $res .= "<div>".form("Ville : ", "U_CITY", $row->U_CITY)."</div>\n" ;
    $res .= "<div>".form("Pays : ", "U_COUNTRY", $row->U_COUNTRY)."</div>\n" ;
    $res .= "<div>".form("Site web personnel : ", "U_WEB", $row->U_WEB)."</div>\n" ;
    $res .= "<div>".form("Inscrit à la lettre d'actualit&eacute;s : ", "U_LETTRE", $lettre)."</div>\n" ;
    $res .= "<div>".form("Organisme : ", "U_TITLE", $row->U_TITLE)."</div>\n" ;
    $res .= "<div>".form("Fonction : ", "U_FONCTION", $row->U_FONCTION)."</div>\n" ;
    $res .= "<div>".form("Niveau en botanique : ", "LABEL_NIV", $row->LABEL_NIV)."</div>\n" ;
    $res .= "<div>".form("Activit&eacute; : ", "LABEL_ACT", $row->LABEL_ACT)."</div>\n" ;
    $res .= "<div>".form("Secteur associatif : ", "LABEL_ASS", $row->LABEL_ASS)."</div>\n" ;
    $res .= "<div>".form("Sp&eacute;cialit&eacute; : ", "U_SPE", $row->U_SPE)."</div>\n" ;
    $res .= "<div>".form("Sp&eacute;cialit&eacute; g&eacute;ographique : ", "U_GEO", $row->U_GEO)."</div>\n" ;

    if (isset($cotisation_id) && $cotisation_id != "") {
        $db = & $GLOBALS['ann_db'];
        include_once ANN_CHEMIN_APPLI."recu_pdf_corps.php" ;
        // buffer est une propriété de la classe FPDF qui contient les données au format PDF.
        // habituellement on ne l'utilise pas, on appelle $pdf->Output() qui envoie les
        // entete HTTP du document généré

        $pdf->Close() ;
        $buf = $pdf->buffer;

        // Inclusion des bibliothèques PEAR

        include_once ('Mail.php');
        include_once ('Mail/mime.php');

        $file = 'Recu_Fiscal_Tela_Botanica.pdf';
        $crlf = "\r\n";
        $hdrs = array(
              'From'    => 'accueil@tela-botanica.org',
              'Subject' => 'Reçu pour don à Tela Botanica'
              );

        $mime = new Mail_mime($crlf);
        $text = "Bonjour !\n\n".
            "Le Réseau Tela Botanica vous remercie du soutien financier que vous lui avez apporté. Votre contribution permettra au réseau :\n\n".
            "- de continuer à encourager et accompagner des projets botaniques,\n".
            "- de maintenir et d'améliorer nos services Internet dédiés à la botanique.\n\n".
            "Vous trouverez en pièce jointe à ce message un document PDF contenant le reçu fiscal à imprimer".
            " et à joindre à votre déclaration d'impôts. Si vous n'arrivez pas à imprimer ce document, veuillez".
            " nous le signaler en répondant à ce mail et en indiquant votre nom et votre adresse postale. Nous vous".
            " ferons parvenir le reçu imprimé à cette adresse.\n\n".
            "Rappel : Votre contribution financière ne constitue pas une adhésion à l'Association Tela Botanica mais ".
            "bien un soutien aux actions menées par le Réseau Tela Botanica.\n\n".
            "Si ce n'est déjà fait, n'oubliez pas de vous inscrire au Réseau sur le site Internet, à l'adresse : ".
            "http://www.tela-botanica.org (menu « Inscription», onglet « Inscription»), afin que vous puissiez :\n\n".
            "- consulter l'annuaire des personnes inscrites au Réseau ;\n- localiser les membres du Réseau dans tous".
            " les pays;\n- accédez à certaines données diffusées sur le site ;\n- vous inscrire à des projets ".
            "botaniques ;\n- être informé personnellement des actualités du Réseau.\n\n".
            "Bien cordialement,\n\n".
            "Tela Botanica\nLe Réseau des Botanistes Francophones\n163, rue A. Broussonnet\n34090 Montpellier\n".
            "Tél. : 04-67-52-41-22\naccueil@tela-botanica.org\nhttp://www.tela-botanica.org\n" ;
        $mime->setTXTBody($text);

        // On attache le document PDF grace à $buf, et en indiquant son type MIME
        $mime->addAttachment($buf, 'application/pdf', $file, false, 'base64') ;

        $body = $mime->get();
        $hdrs = $mime->headers($hdrs);

        $mail =& Mail::factory('mail');
        $mail->send($ligne->U_MAIL, $hdrs, $body);

        // On insere le numéro du reçu dans la table annuaire_COTISATION
        @mysql_query("update annuaire_COTISATION set IC_RECU=$num_recu, IC_DATE_ENVOIE_RECU=NOW() where IC_ID=$cotisation_id") ;

        // On incrémente le compteur de mail de 1
        if (!$deja_envoye) {
            $num_recu++ ;
            mysql_query("update COMPTEUR_COTISATION set COMPTEUR=$num_recu ") ;
        }
        $res .= "<div>Le reçu a été envoyé</div>\n" ;
    }
    $res .= cotisation($u_id) ;
    $res .= suppression($u_id) ;
    return $res ;
}


// form construit soit un formulaire de type <input type="text" ...> et
// de nom $field_ et place un $label devant
// soit construit un lien vers un formulaire à partir du champs $field_


function form($label, $field_, $value)
{
    global $u_id, $GS_GLOBAL, $field ;

    $url = $GLOBALS['ann_url']->getURL() ;

    if ($field != $field_) {
        $res = "<b>$label</b>" ;
        $res .= "<a href=\"$url&amp;field=$field_\">" ;
                                if ($field_ == 'LABEL_NIV' || $field_ == 'LABEL_ACT' || $field_== 'LABEL_ASS') {
                    $res .= $value ? $value : "(vide)";
                                } else if ($field_ == "U_COT") {
                                                if ($value == 0) {
                                                                $res .= "non" ;
                                                } else {
                                                                $res .= "oui" ;
                                                }
                                } else {
                                                $res .= $value ? $value : "(vide)";
                                }
                                $res .= "</a>\n" ;
                }
                if ($field == $field_) {
                                                $res = "\n<form action=\"$url&amp;u_id=$u_id&amp;action=up&amp;field_=$field_\" method=\"post\">" ;
                                                $res .= "<b>$label</b>\n" ;
                                                switch ($field_) {
                                                                case "U_COUNTRY" :
                                                                                $select_country = new form($GS_GLOBAL['link']) ;
                                                                                $res .= ereg_replace("gen_COUNTRY", "U_COUNTRY", $select_country->selectFromTable("gen_COUNTRY", $value, "GC_ID", "GC_NAME")) ;
                                                                                unset($select_country) ;
                                                                break ;

                                                                case "LABEL_NIV" :
                                                                                $res .= getFormInsInfo($field_, $value) ;
                                                                break ;

                                                                case "LABEL_ASS" :
                                                                                $res .= getFormInsInfo($field_, $value) ;
                                                                break ;

                                                                case "LABEL_ACT" :
                                                                                $res .= getFormInsInfo($field_, $value) ;
                                                                break ;

                                case "LABEL_STATUT" :
                                        $res .= getFormInsInfo($field_, $value) ;
                                break ;

                                                                case "U_COT" :
                                                                                $res .= "<select class=\"insInputForm\" name=\"II_COT\">\n" ;
                                                                                if ($value == 0) {
                                                                                                $check0 = " selected" ;
                                                                                                $check1 = "" ;
                                                                                } else {
                                                                                                $check1 = " selected" ;
                                                                                                $check0 = "" ;
                                                                                }
                                                                                $res .= "<option value=\"0\"$check0>non</option>\n" ;
                                                                                $res .= "<option value=\"1\"$check1>oui</option>\n" ;
                                                                                $res .= "</select>\n" ;
                                                                break ;

                                                                default :
                                                                                $res .= "<input type=\"text\" size=\"40\" name=\"$field_\" value=\"$value\">\n" ;
                                                }
                                                $res .= "<input type=\"submit\" value=\"valider\" class=\"texte_tb\">\n" ;
                                                $res .= "</form>" ;
                                }
                                return $res ;
}


// upSQL met à jour la table annuaire_tela

function upSQL()
{
    global $field_ ;
    global  $u_id ;
    global $HTTP_POST_VARS ;
        switch ($field_) {
            case "LABEL_NIV" : $field_ = "U_NIV" ;
                                $id_field = "ID_LABEL_NIV";
            break ;
            case "LABEL_ACT" : $field_ = "U_ACT" ;
                                $id_field = "ID_LABEL_ACT";
            break ;
            case "LABEL_ASS" : $field_ = "U_ACT" ;
                                $id_field = "ID_LABEL_ASS";
            break ;
            default :$id_field = $field_ ;
        }

    // Recherche de l'ancien mail
    $req_am = "select U_MAIL from annuaire_tela where U_ID = $u_id" ;
    $res_am = mysql_query ($req_am);
    if(!$res_am) {
        $res .= "<br>Echec de la requete dans la table annuaire, l'identifiant de personnes est invalide : ".$u_id."<br />" ;
    }
    $ligne_am = mysql_fetch_object ($res_am) ;
    $ancien_mail = $ligne_am->U_MAIL ;

    $query = "update annuaire_tela set $field_=\"".$HTTP_POST_VARS[$id_field]."\" where U_ID = $u_id" ;
    $res_update = mysql_query($query);

    if(!$res_update) {
        $res .= "<br>Echec de la requete de mise à jour de la table annuaire <br> du paramètre U_ID <br />
                ancienne valeur : ".$u_id."  nouvelle valeur : ".$HTTP_POST_VARS[$id_field]." <br />" ;
    }

    // Traitement du département
    if ($field_ == "U_ZIP_CODE") {
        if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS['U_ZIP_CODE'])) {
            $n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 3) ;
        } else {
            $n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 2) ;
        }
        mysql_query ("update annuaire_tela set U_FRENCH_DPT='$n_dpt' where U_ID='$u_id'") ;
    }

    // Traitement de l'adresse mail


    if ($field_ == "U_MAIL") {
        $requete = "update ins_STATS set IS_MAIL=\"".$HTTP_POST_VARS['U_MAIL']."\" where IS_MAIL=\"$ancien_mail\"" ;
        mysql_query ($requete) ;
    }

    return "";
}

function getFormInsInfo($field, $value)
{

    $query = "select * from annuaire_$field" ;
    $id_field = "ID_$field" ;
    $result = mysql_query($query) or die ("Echec de la requete sur ID_$field<br>".mysql_error()) ;

    $res = "<select name=\"$id_field\" class=\"insInputForm\">\n" ;
    $i = 0 ;
    while ($row = mysql_fetch_object($result)) {

        $res .= "<option value=\"".$row->$id_field."\"" ;
        if ($value == $row->$field) $res .= " selected";
        $res .= ">" ;
    $res .= $row->$field ;
        $res .= "</option>\n" ;
        $i++ ;
    }
    $res .= "</select>\n" ;
    return $res ;
}

// Fonction pour gérer les cotisations d'un inscrit, en
// fonction de son id  ($u_id)

function cotisation($u_id)
{
    global $action, $IC_MONTANT, $IC_DATE, $id_cot, $IC_MC_ID ;

    $res = '' ;
    // un peu de javascript pour la confirmation en cas de destruction

    $outputText = "function confirmLink(theLink, theSqlQuery)
    {
      var is_confirmed = confirm(theSqlQuery);
      return is_confirmed;
    } " ;

                // fonction gsite pour inclure la fonction Javascript
                // au code html

    GEN_stockerCodeScript($outputText) ;

    $url = $GLOBALS['ann_url']->getURL() ;

                // Ce qui suit sont le traitement des 3 actions ajouter, modifier, supprimer
                // qui agissent sur la table annuaire_COTISATION

                // l'action 'cu' consiste en l'insertion d'une ligne dans la table annuaire_COTISATION

    if ($action == "cu") {
        $date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ;
        $query = 'insert into annuaire_COTISATION values ("", '.$IC_MC_ID.', '.$u_id.', '.$date.',"'.$IC_MONTANT.'", 0, "0000-00-00")' ;
                        $resultat = $GLOBALS['ann_db']->query ($query) ;
                        if (DB::isError($resultat)) {
                        echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
                        }
                        $GLOBALS['ann_db']->query("update annuaire_tela set U_COT=1 where U_ID=$u_id") ;
    }

                // l'action 'mu' permet de mettre à jour une ligne dans annuaire_COTISATION

    if ($action == "mu") {
        $date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3-\\2-\\1", $IC_DATE) ;
        $query = 'update annuaire_COTISATION set IC_DATE="'.$date.'", IC_MONTANT="'.$IC_MONTANT.'",
                        IC_MC_ID='.$IC_MC_ID.' where IC_ID='.$id_cot ;
                $GLOBALS['ann_db']->query ($query) ;
                if (DB::isError($resultat)) {
                        echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
                }
    }

                // l'action 'rm' retire une ligne de la table annuaire_COTISATION

    if ($action == "rm") {
        $query = "delete from annuaire_COTISATION where IC_ID=$id_cot" ;
                $GLOBALS['ann_db']->query ($query) ;
                if (DB::isError($resultat)) {
                    echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
                }
                $GLOBALS['ann_db']->query("update annuaire_tela set U_COT=0 where U_ID=$u_id") ;
    }

                // Quoi qu'il arrive, on récupère les informations concernant
                // les cotisations d'un inscrit et on les affiche sous forme de
                // table HTML

    $query = "select * from annuaire_COTISATION, MODE_COTISATION where IC_ANNU_ID=$u_id
                and IC_MC_ID=MC_ID ORDER BY IC_DATE" ;
    $result = $GLOBALS['ann_db']->query($query) ;
    if (DB::isError($result)) {
                return $result->getMessage().'<br />'.$result->getDebugInfo().'<br />'.$query;
        }
    $res = "<h1>Etat des cotisations : </h1>" ;

                // formatage de la date
    $date = date("d-m-Y") ;


                // l'action 'sc' correspond à l'édition d'une ligne de la table
                // annuaire_COTISATION. Si elle est présente on affiche un formulaire
                // de modification

    if ($action == "sc") {

        $res .= "<div><form action=\"$url&action=cu\" method=\"post\"><b>Date : </b>" ;
                                $res .= "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"";
                                $res .= $date ;
                                $res .= "\">\n" ;
                                $res .= "<b>Montant : </b><input type=\"text\" class=\"insInputForm\" size=\"5\" name=\"IC_MONTANT\" value=\"30\"> &euro;\n" ;
                $res .= mode_paiement(0) ;
                                $res .= "<input type=\"submit\" value=\"Valider\" class=\"texte_tb\">\n" ;
                                $res .= "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>\n" ;
                                $res .= "</div>\n" ;

                // si l'action 'sc' n'est pas active on affiche toutes les lignes
                // de cotisation de l'inscrit

                } else {
        if ($result->numRows() != 0) {
            $res .= "<div>" ;
            $table = new HTML_Table(array("class" => "table_cadre")) ;
            $table->addRow(array("Date", "Montant", "Mode", "modifier", "supprimer", "Voir le reçu", "Envoyer le reçu",
                                        "Date d'envoie du reçu"),'', 'TH') ;

            while ($row = $result->fetchRow(DB_FETCHMODE_OBJECT)) {
                            // Le reçu a t il été envoyé ?
                if ($row->IC_RECU != 0) {
                    $message_envoye =  $row->IC_DATE_ENVOIE_RECU ; ;
                } else  {
                    $message_envoye = "Reçu non envoyé";
                }
                if ($action != "mc" || $id_cot != $row->IC_ID) {
                    $table->addRow(array ($row->IC_DATE, $row->IC_MONTANT." <b>&euro;</b>", $row->MC_LABEL,
                                            "<a href=\"$url&amp;action=mc&amp;id_cot=$row->IC_ID\">modifier</a>",
                                            "<a href=\"$url&amp;action=rm&amp;id_cot=$row->IC_ID\"".
                                            " onclick=\"javascript:return confirmLink(this, '&ecirc;tes-vous".
                                            " s&ucirc;r de vouloir supprimer cette entr&eacute;e');\">supprimer</a>",
                                            "<a href=\"".URL_RECU."?cotisation_id=$row->IC_ID\">Voir le reçu</a>",
                                            "<a href=\"$url&cotisation_id=$row->IC_ID&action=er\">Envoyer le reçu</a>",
                                            $message_envoye)) ;
                } else {
                    // Recherche du mode de paiement

                    $table->addRow(array("<form action=\"$url&amp;action=mu&amp;id_cot=$row->IC_ID\" method=\"post\">\n".
                                        "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"".date ("j-m-Y", $row->IC_DATE)."\">",
                                        "<input type=\"text\" size=\"5\" class=\"insInputForm\" name=\"IC_MONTANT\" value=\"$row->IC_MONTANT\"><b>&euro;</b>",
                                        mode_paiement($row->IC_MC_ID),
                                        "<input type=\"submit\" class=\"texte_tb\" value=\"valider\">".
                                        "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>",
                                        "&nbsp;")) ;
                }
            }
            $table->altRowAttributes(1, array("class" => "ligne_paire"), array("class" => "ligne_impaire")) ;
            $res .= $table->toHTML()."</div>\n" ;
            unset($table) ;
        } else {
            $res .= "<div>non cotisant</div>\n" ;
        }
        $res .= "<div><input type=\"button\" class=\"texte_tb\" " ;
        $res .= "value=\"Saisir une cotisation\" onclick=\"javascript:window.location.href='$url&action=sc';\"></div>\n" ;
    }

    return $res ;
}

function suppression($u_id) {
    global $GS_GLOBAL, $action ;

    // un peu de javascript pour la confirmation en cas de destruction

    $outputText = "function confirmLink(theLink, theSqlQuery)
    {
      var is_confirmed = confirm(theSqlQuery);
      return is_confirmed;
    } " ;

                // fonction gsite pour inclure la fonction Javascript
                // au code html

    GEN_stockerCodeScript($outputText) ;

    $url = $GLOBALS['ann_url']->getURL() ;

    $res = "<div>Supprimer l'inscription</div>\n" ;
    $res .="<div><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ;
    $res .= "<input type=\"submit\" class=\"texte_tb\" value=\"Supprimer\" " ;
    $res .= "onclick=\"javascript:return confirmLink(this, '&ecirc;tes-vous s&ucirc;r de vouloir supprimer cet adh&eacute;rent');\">\n" ;
    $res .= "</form></div>\n" ;

    if ($action=="suppr_adh") {
        $requete_utilisateur = "select U_MAIL from annuaire_tela where U_ID=".$u_id ;
        $resultat_utilisateur = mysql_query($requete_utilisateur);

        if(!$resultat_utilisateur) {
                $res .= "<br>Echec de la requete dans la table annuaire utilisateurs, l'identifiant de personne est invalide : ".$u_id."<br />" ;
        }
        $utilisateur = mysql_fetch_object($resultat_utilisateur) ;
        $mail = $utilisateur->U_MAIL ;
        mysql_free_result($resultat_utilisateur) ;

        // vérifications
        // 1. annu_ADMIN
        $requete_annuaire_admin = "select ".ANNUAIRE_ADMIN_ID." from ".ANNUAIRE_ADMIN." where ".ANNUAIRE_ADMIN_ID."=".$u_id ;
        $r_annu_ADMIN = mysql_query($requete_annuaire_admin);

        if(!$r_annu_ADMIN) {
                $res .= "<br>Echec de la requete dans la table annuaire administrateurs, l'identifiant de personne est invalide : ".$u_id
                ."<br /> Requete : ".$requete_annuaire_admin ;
        }

        if (mysql_num_rows($r_annu_ADMIN) != 0) {
            $res .= "Une référence dans annu_ADMIN" ;
        }

        // 2.
        // suppression
        $query_supp = "delete from annuaire_tela where U_ID=".$u_id ;
        $res_supp = mysql_query($query_supp);
        if(!$res_supp) {
                $res .= "<br>Echec de la suppression dans la table annuaire utilisateurs, l'identifiant de personne est invalide : ".$u_id
                ."<br /> Requete : ".$query_supp ;
        }

        // Suppression dans SPIP
                if (INS_UTILISE_SPIP) {
                        desinscription_spip($u_id) ;
                }

                // Désinscription de la lettre d'info
                if (INS_UTILISE_LISTE) {
                        if ($utilisateur->U_LETTRE == 1) {
                                $supp_abo = file_get_contents(URL_LISTE_ACTU.'suppression_abonne.php?domaine=tela-botanica.org&liste=actu&mail='.$mail) ;
                        }
                }
                // Appel des actions desinscriptions des applications clientes
                $msg = '';

                $id_utilisateur = $u_id;

        $d = dir(GEN_CHEMIN_CLIENT);
                while (false !== ($repertoire = $d->read())) {
                        if ($repertoire != '.' || $repertoire != '..') {
                                if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php'))
                                include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ;
                        }
                        if ($msg != '') $res .= $msg;
                }
    }
    return $res ;
}

/** function mode_paiement () Produit un champs select avec le mode de paiement
*
*
*   @param  integer mode de paiement par defaut
*       @return string  HTML
*/
function mode_paiement ($defaut) {
    $res = '<select name="IC_MC_ID" >'."\n" ;
    $req_mode = "select * from MODE_COTISATION" ;
    $res_mode = $GLOBALS['ann_db']->query($req_mode) ;
    while ($ligne_mode = $res_mode->fetchROW(DB_FETCHMODE_OBJECT)) {
        $res .= '<option value="'.$ligne_mode->MC_ID.'"' ;
        if ($ligne_mode ->MC_ID == $defaut) $res .= " selected" ;
        $res .= ">$ligne_mode->MC_LABEL</option>\n" ;
    }
    $res .= "</select>\n" ;
    return $res ;
}

function desinscription_spip($id_utilisateur)
{
    //BIEN METTRE alea_actuel, htpass ET alea_futur À ""
     $requete = 'DELETE FROM '.INS_BDD_SPIP.'.spip_auteurs WHERE id_auteur='.$id_utilisateur ;
    //echo $requete;
    $resultat = $GLOBALS['ins_db']->query ($requete) ;
    if (DB::isError ($resultat)) {
        return "Echec de la requete : $requete<br />".$resultat->getMessage() ;
    }
}

?>