source: spip-zone/_plugins_/exec/genespip.php @ 31412

Last change on this file since 31412 was 31412, checked in by fdm@…, 12 years ago

Mise à jour spip 2.0

File size: 8.9 KB
Line 
1
2<?php
3/*
4--------G.E.N.E.S.P.I.P-------
5---SITE genealogique & SPIP---
6------Christophe RENOU--------
7*/
8
9    include_spip('inc/presentation');
10    include_spip('inc/gestion_base');
11    include_spip('inc/version');
12
13function exec_genespip() {
14        global $connect_statut, $connect_toutes_rubriques;
15
16        if (!($connect_statut == '0minirezo' AND $connect_toutes_rubriques or $connect_statut == '1comite'))    {
17                $commencer_page = charger_fonction('commencer_page', 'inc');
18                echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin");
19                echo _T('avis_non_acces_page');
20                echo fin_page(true);
21                exit;
22        }
23
24        genespip_verifier_base();
25
26        $commencer_page = charger_fonction('commencer_page', 'inc');
27        echo $commencer_page(_T('genespip:genealogie'), "naviguer", "genealogie");
28
29        $url_action_accueil=generer_url_ecrire('genespip');
30        $url_choix_nom = generer_url_ecrire('fiche_detail');
31        $nom_select=explode(":",$_POST['individu']);
32        $nom_select=$nom_select[0];
33
34        echo debut_gauche('',true);
35       
36        echo debut_boite_info(true);
37        //Mettre à la poubelle
38        if ($_POST['edit']=='poubelle'){
39                genespip_poubelle_fiche($_POST['id_individu']);
40        }
41        //Vider ou Restaurer poubelle
42        if ($_POST['actionpoubelle']<>NULL){
43                genespip_supp_fiche($_POST['actionpoubelle']);
44        }
45        echo propre(_T('genespip:info_doc'));
46        echo fin_boite_info(true);
47       
48        echo genespip_nouvelle_fiche($url_action_accueil);
49       
50        include_spip('inc/raccourcis_intro');
51       
52        echo debut_droite('',true);     
53        $inventaire = spip_query("SELECT id_individu FROM spip_genespip_individu");
54        $compteinventaire = mysql_num_rows($inventaire);
55        spip_mysql_free($inventaire);
56        if ($compteinventaire==0){
57                echo debut_cadre_relief(true);
58                echo gros_titre(_T('genespip:gedcom'), '', false);
59                echo "<br />";
60                if ($_POST['edit']=='gedcom'){
61                        include_spip('inc/gedcom_fonctions');
62                        $date_upload=date("dmY");
63                        $chemin = _DIR_PLUGIN_GENESPIP."gedcom/";
64                        $fic=$chemin.$date_upload."-".$_FILES['gedcomfic']['name'];
65                        if (is_uploaded_file($_FILES['gedcomfic']['tmp_name'])) {
66                           move_uploaded_file ( $_FILES['gedcomfic']['tmp_name'],$fic);
67                        }
68                        echo "<u>debut gedcom ".$fic."</u><br />";
69                        genespip_gedcom($fic);
70                        echo "<a href='".$url_action_accueil."'>&raquo;&nbsp;Fermer</a>";
71                }else{
72                        echo _T('genespip:info_gedcom_etape1');
73                        $ret .= "<FORM ACTION='".$url_action_accueil."' method='POST' ENCTYPE='multipart/form-data'>";
74                        $ret .= "<input type='hidden' name='action' value='gedcom'>";
75                        $ret .= "<input type='hidden' name='max_file_size' value='5000000'>";
76                        $ret .= "Fichier Gedcom : <input type='file' name='gedcomfic' size='15'><br />";
77                        $ret .= "<INPUT TYPE='submit' name='telecharger' value='Charger' class='fondo'>";
78                        $ret .= "</form>";
79                        echo $ret;
80                }
81                echo fin_cadre_relief(true);   
82        }
83        echo debut_cadre_formulaire('',true);
84       
85        $result = spip_query("SELECT id_individu FROM spip_genespip_individu where poubelle <> '1'");
86        $compte = mysql_num_rows($result);
87        spip_mysql_free($result);
88        $result = spip_query("SELECT nom, count(id_individu) as compte2 FROM spip_genespip_individu where poubelle <> '1' group by nom");
89        $comptenom = mysql_num_rows($result);
90   
91        echo gros_titre(_T('genespip:Base GeneSPIP'), '', false);
92    echo "<table border='0' width='100%'>";
93    echo "<tr><td width='50%'>";
94    echo "<p>La base contient:<br/> - <font color='#6A0000'><b>".$compte."</b></font> fiches<br />",
95         " - <font color='#6A0000'><b>".$comptenom."</b></font> patronymes</p><br />";
96    echo "</td><td style='vertical-align:right;text-align:top'>";
97    echo "<form action='$url_action_accueil' method='post'>";
98    echo "<select name='individu'>";
99    while (list ($nom, $compte2) = mysql_fetch_array($result)) {
100        echo "<option>$nom</a>:[$compte2]</option>";
101    }
102    echo "</select>";
103    echo "<br /><input type='submit' value='Valider ...' />";
104    echo "</form>";
105    echo "</td></tr></table>";
106        spip_mysql_free($result);
107        echo fin_cadre_formulaire(true);
108
109        echo '<br />';
110        //Test nouvelle fiche si pas de doublon avant validation.
111       
112        if ($_POST['edit']=="nouvellefiche"){
113                $result = spip_query("SELECT id_individu, nom, prenom FROM spip_genespip_individu where nom = '".$_POST['nom']."' and prenom = '".$_POST['prenom']."'");
114                $compte = mysql_num_rows($result);
115               
116                echo debut_cadre_relief(true);
117                echo gros_titre(_T('genespip:nouvelle fiche'), '', false);
118                echo "<br />";
119                echo "<form action='".$url_choix_nom."' method='post'>";
120                if ($compte>0){
121                        //Si doublon, il faut confirmer
122                        while (list ($id_individu, $nom, $prenom) = mysql_fetch_array($result)) {
123                                $resultN = spip_query("SELECT date_evenement FROM spip_genespip_evenements where id_type_evenement='1' and id_individu = ".$id_individu);
124                                $naissance=NULL;
125                                while (list ($date_evenement) = mysql_fetch_array($resultN)) {
126                                        $naissance=genespip_datefr($date_evenement);
127                                }
128                                $resultD = spip_query("SELECT date_evenement FROM spip_genespip_evenements where id_type_evenement='2' and id_individu = ".$id_individu);
129                                $deces=NULL;
130                                while (list ($date_evenement) = mysql_fetch_array($resultD)) {
131                                        $deces=genespip_datefr($date_evenement);
132                                }
133                                echo $nom." ".$prenom."(&deg;".$naissance." - &dagger;".$deces.") est pr&eacute;sent dans la base.<br />";
134                        }
135                        echo "<br /><input type='submit' name='actionnew' value='Confirmer' class='fondo' />",
136                         "&nbsp;&nbsp;<input type='submit' name='actionnew' value='Annuler' class='fondo' />";
137                }else{
138                        //Si pas de doublon, on envoi sur detail_fiche
139                        echo "Cr&eacute;ation de la fiche ".$_POST['nom']." ".$_POST['prenom'];
140                        $url = $url_choix_nom."&nom=".$_POST['nom']."&prenom=".$_POST['prenom']."&sexe=".$_POST['sexe']."&actionnew=Confirmer";
141                        genespip_rediriger_javascript($url);
142                }
143                echo "<input type='hidden' name='nom' value='".$_POST['nom']."' />";
144                echo "<input type='hidden' name='prenom' value='".$_POST['prenom']."' />";
145                echo "</form>";
146                echo fin_cadre_relief(true);
147        }
148
149        //Affichage des personnes en fonction du nom sélectionné.
150        if ($_POST['individu']<>""){
151                $result = spip_query('SELECT id_individu, nom, prenom, sexe FROM spip_genespip_individu where poubelle<>1 and nom = "'.$nom_select.'" order by prenom');
152               
153                echo debut_cadre_relief(true);
154                echo gros_titre(_T('genespip:'.$nom_select), '', false);
155                echo '<br />';
156                while (list ($id_individu, $nom, $prenom, $sexe) = mysql_fetch_array($result)) {
157                        $resultN = spip_query("SELECT date_evenement FROM spip_genespip_evenements where id_type_evenement='1' and id_individu = ".$id_individu);
158                        $naissance=NULL;
159                        while (list ($date_evenement) = mysql_fetch_array($resultN)) {
160                                $naissance=genespip_datefr($date_evenement);
161                        }
162                        if ($sexe==0){
163                                $sexe=_DIR_PLUGIN_GENESPIP.'img_pack/garcon.gif';
164                        }else{
165                                $sexe=_DIR_PLUGIN_GENESPIP.'img_pack/fille.gif';
166                        }
167                        echo "&nbsp;-&nbsp;<img src='".$sexe."' /> <a href='".$url_choix_nom."&id_individu=".$id_individu."'>".$nom." ".$prenom."</a> (&deg;".$naissance.")<br />";
168                }
169               
170                echo fin_cadre_relief(true);
171                //spip_free_result($result);
172        }
173
174        //Affichage de la Corbeille
175        if ($_GET['poubelle']=="1"){
176                $result = spip_query("SELECT id_individu, nom, prenom, sexe FROM spip_genespip_individu where poubelle=1");
177                echo debut_cadre_relief(true);
178                echo "<table width='100%'>";
179                echo '<form action="'.$PHP_SELF.'" method="post">';
180                echo "<tr><td>";
181                echo gros_titre(_T('genespip:poubelle'), '', false);
182                echo "</td>";
183                echo "<td style='vertical-align:right'><input name='submit' type='image' src='"._DIR_PLUGIN_GENESPIP."img_pack/poubelle.gif' class='fondo'></td></tr>";
184                echo "</table>";
185                echo "<table width='70%'>";
186                echo '<form action="'.$PHP_SELF.'" method="post">';
187                while (list ($id_individu, $nom, $prenom, $sexe) = mysql_fetch_array($result)) {
188                        $resultN = spip_query("SELECT date_evenement FROM spip_genespip_evenements where id_type_evenement='1' and id_individu = ".$id_individu);
189                        $naissance=NULL;
190                        while (list ($date_evenement) = mysql_fetch_array($resultN)) {
191                                $naissance=genespip_datefr($date_evenement);
192                        }
193                        $resultD = spip_query("SELECT date_evenement FROM spip_genespip_evenements where id_type_evenement='2' and id_individu = ".$id_individu);
194                        $deces=NULL;
195                        while (list ($date_evenement) = mysql_fetch_array($resultD)) {
196                                $deces=genespip_datefr($date_evenement);
197                        }
198                        echo "<tr><td>".$nom." ".$prenom."</a> (&deg;".$naissance." - &dagger;".$deces.")",
199                        "<td><input type='checkbox' name='action_fiche[]' value='".$id_individu."' /></td></tr>";
200                }
201                //echo "<input name='action' type='hidden' value='videpoubelle' />";
202                echo "<tr><td colspan='2'><input name='actionpoubelle' type='submit' value='Supprimer' class='fondo' />",
203                         "&nbsp;&nbsp;<input name='actionpoubelle' type='submit' value='Restaurer' class='fondo' />",
204                         "</td></tr>";
205                echo '</form></table>';
206                echo fin_cadre_relief(true);
207                spip_free_result($result);
208        }
209        echo fin_page();
210}
211?>
Note: See TracBrowser for help on using the repository browser.