source: spip-zone/_plugins_/genespip_fonctions.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: 30.7 KB
Line 
1<?php
2/*
3--------G.E.N.E.S.P.I.P-------
4---SITE genealogique & SPIP---
5------Christophe RENOU--------
6*/
7
8// Boucles SPIP-listes
9global $tables_principales;
10
11//Ensuite, donner le format des tables ajoutées. Par exemple :
12$tables_principales['spip_genespip_individu']= array(
13 'field' => array(
14                         "id_individu" => "int(11) NOT NULL auto_increment",
15                         "nom" => "text NOT NULL",
16                         "prenom" => "text",
17                         "sexe" => "int(11) NOT NULL default '0'",
18                         "metier" => "longtext",
19                         "pere" => "int(11) NOT NULL default '0'",
20                         "mere" => "int(11) NOT NULL default '0'",
21                         "enfant" => "int(11) NOT NULL default '0'",
22                         "note" => "longtext NOT NULL",
23                         "proprio" => "int(11) NOT NULL default '0'",
24                         "portrait" => "int(11) default '0'",
25                         "format_portrait" => "text",
26                         "id_auteur" => "int(3) default NULL",
27                         "source" => "text",
28                         "adresse" => "text",
29                         "signature" => "int(11) default NULL",
30                         "format_signature" => "text",
31                         "date_update"  => "datetime NOT NULL default '0000-00-00 00:00:00'",
32                         "poubelle" => "int(1) NOT NULL default '0'",
33                         "limitation" => "int(3) default NULL"
34                    ),
35 'key' => array("PRIMARY KEY" => "id_individu"));
36
37$tables_principales['spip_genespip_documents'] = array(
38 'field' => array(
39                         "id_documents" => "int(11) NOT NULL auto_increment",
40                         "id_individu" => "int(11) NOT NULL default '0'",
41                         "id_article" => "int(11) NOT NULL default '0'",
42                 ),
43 'key' => array("PRIMARY KEY" => "id_documents"));
44
45$tables_principales['spip_genespip_liste'] = array(
46 'field' => array(
47                         "id_liste" => "int(11) NOT NULL auto_increment",
48                         "nom" => "text NOT NULL",
49                         "nombre" => "int(11) NOT NULL",
50                         "date_couverte" => "TINYTEXT NOT NULL",
51                         "date_update"  => "date NOT NULL",
52                 ),
53 'key' => array("PRIMARY KEY" => "id_liste"));
54
55$tables_principales['spip_genespip_parametres'] = array(
56 'field' => array(
57                         "id_parametres" => "int(11) NOT NULL auto_increment",
58                         "date_init"  => "datetime NOT NULL",
59                         "rubrique" => "int(11) NOT NULL",
60                         "theme" => "TINYTEXT NOT NULL",
61                         "pub" => "int(11) NOT NULL",
62                         "multilingue" => "INT(3) NOT NULL default '0'",
63                         "acces" => "INT(3) NOT NULL default '3'",
64                         "centans" => "INT(3) NOT NULL default '0'",
65                 ),
66 'key' => array("PRIMARY KEY" => "id_parametres"));
67
68$tables_principales['spip_genespip_lieux'] = array(
69 'field' => array(
70                         "id_lieu" => "int(11) NOT NULL auto_increment",
71                         "ville" => "text NOT NULL",
72                         "code_departement" => "int(11) NOT NULL",
73                         "departement" => "text NOT NULL",
74                         "region" => "text NOT NULL",
75                         "pays" => "text NOT NULL"
76                 ),
77 'key' => array("PRIMARY KEY" => "id_lieu"));
78
79$tables_principales['spip_genespip_evenements'] = array(
80 'field' => array(
81                          "id_evenement" => "int(11) NOT NULL auto_increment",
82                          "id_individu" => "int(11) NOT NULL",
83                          "id_type_evenement" => "int(11) NOT NULL",
84                          "date_evenement" => "date NOT NULL",
85                          "precision_date" => "text NOT NULL",
86                          "id_lieu" => "int(11) NOT NULL DEFAULT '1'",
87                          "id_epoux" => "int(11) NOT NULL",
88                          "date_update"  => "datetime NOT NULL"
89                 ),
90 'key' => array("PRIMARY KEY" => "id_evenement"));
91
92$tables_principales['spip_genespip_type_evenements'] = array(
93 'field' => array(
94                          "id_type_evenement" => "INT NOT NULL auto_increment",
95                          "type_evenement" => "TEXT NOT NULL",
96                          "clair_evenement" => "TEXT NOT NULL"
97                 ),
98 'key' => array("PRIMARY KEY" => "id_type_evenement"));
99
100$tables_principales['spip_genespip_journal'] = array(
101 'field' => array(
102                          "id_journal" => "INT NOT NULL auto_increment",
103                          "action" => "TINYTEXT NOT NULL",
104                          "descriptif" => "TEXT NOT NULL",
105                          "id_individu" => "INT NOT NULL",
106                          "id_auteur" => "INT NOT NULL",
107                          "date_update"  => "datetime NOT NULL"
108                  ),
109 'key' => array("PRIMARY KEY" => "id_journal"));
110
111
112//$tables_jointures['spip_genespip_evenements']['id_individu'] = 'id_individu';
113//$tables_jointures['spip_genespip_individu']['id_individu'] = 'id_individu';
114
115//
116// <BOUCLE(INDIVIDU)>
117//
118function boucle_GENESPIP_INDIVIDU_dist($id_boucle, &$boucles) {
119            $boucle = &$boucles[$id_boucle];
120            $id_table = $boucle->id_table;
121            $boucle->from[$id_table] =  "spip_genespip_individu";
122            return calculer_boucle($id_boucle, $boucles); 
123}
124
125//
126// <BOUCLE(LISTE)>
127//
128function boucle_GENESPIP_LISTE_dist($id_boucle, &$boucles) {
129        $boucle = &$boucles[$id_boucle];
130        $id_table = $boucle->id_table;
131        $boucle->from[$id_table] =  "spip_genespip_liste";
132        return calculer_boucle($id_boucle, $boucles);
133}
134
135//
136// <BOUCLE(INDIVIDU)>
137//
138function boucle_GENESPIP_DOCUMENTS_dist($id_boucle, &$boucles) {
139            $boucle = &$boucles[$id_boucle];
140            $id_table = $boucle->id_table;
141            $boucle->from[$id_table] =  "spip_genespip_documents";
142            return calculer_boucle($id_boucle, $boucles); 
143}
144
145//
146// <BOUCLE(EVENEMENTS)>
147//
148function boucle_GENESPIP_EVENEMENTS_dist($id_boucle, &$boucles) {
149        $boucle = &$boucles[$id_boucle];
150        $id_table = $boucle->id_table;
151        $boucle->from[$id_table] =  "spip_genespip_evenements";
152        return calculer_boucle($id_boucle, $boucles);
153}
154
155//
156// <BOUCLE(LIEUX)>
157//
158function boucle_GENESPIP_LIEUX_dist($id_boucle, &$boucles) {
159        $boucle = &$boucles[$id_boucle];
160        $id_table = $boucle->id_table;
161        $boucle->from[$id_table] =  "spip_genespip_lieux";
162        return calculer_boucle($id_boucle, $boucles);
163}
164
165//
166// <BOUCLE(JOURNAL)>
167//
168function boucle_GENESPIP_JOURNAL_dist($id_boucle, &$boucles) {
169        $boucle = &$boucles[$id_boucle];
170        $id_table = $boucle->id_table;
171        $boucle->from[$id_table] =  "spip_genespip_journal";
172        return calculer_boucle($id_boucle, $boucles);
173}
174
175function genespip_header_prive($flux){
176    $flux .= '<link rel="stylesheet" type="text/css" href="'.direction_css(find_in_path('genespip.css')).'" />';
177        return $flux;
178}
179function genespip_rediriger_javascript($url) {
180    echo '<script language="javascript" type="text/javascript">window.location.replace("'.$url.'");</script>';
181    exit();
182 }
183
184//Conversion de date français
185function genespip_datefr($date) {
186    $split = split('-',$date); 
187    $annee = $split[0];
188    $mois = $split[1];
189    $jour = $split[2];
190    if ($annee==NULL){$annee='0000';}
191    if ($mois==NULL){$mois='00';}
192    if ($jour==NULL){$jour='00';}
193        return $jour.'/'.$mois.'/'.$annee;
194} 
195//Conversion de date US
196function genespip_dateus($date) {
197    $split = split('/',$date);
198    $jour = $split[0];
199    $mois = $split[1]; 
200    $annee = $split[2];
201    if ($annee==NULL){$annee='0000';}
202    if ($mois==NULL){$mois='00';}
203    if ($jour==NULL){$jour='00';}
204return $annee.'-'.$mois.'-'.$jour;
205}
206
207//*******************THEME du SITE*******************************
208function genespip_modif_theme($theme, $pub, $multilingue, $acces, $centans) {
209$update_theme = "UPDATE spip_genespip_parametres SET theme = '".$theme."', pub = ".$pub.", multilingue = ".$multilingue.", acces = ".$acces.", centans = ".$centans;
210$update_theme = spip_query($update_theme);
211}
212//***************************************************************
213
214
215//********************MAJ table spip_genespip_liste**************
216function genespip_maj_liste() {
217set_time_limit(0);
218echo "<br /><u>Mise &agrave; jour de la liste &eacute;clair</u>";
219$date_update=date("Y-m-d");
220$result_individu = spip_query("SELECT id_individu, nom, count(id_individu) as comptenom FROM spip_genespip_individu where poubelle<>1 group by nom");
221        while ($indi = spip_fetch_array($result_individu)) {
222           $result_date_min = spip_query("SELECT date_evenement FROM spip_genespip_individu,spip_genespip_evenements where spip_genespip_individu.id_individu=spip_genespip_evenements.id_individu and nom = '".$indi['nom']."' and id_type_evenement='1' and date_evenement <> 0000-00-00 ORDER BY date_evenement ASC limit 0,1" );
223           if (mysql_num_rows($result_date_min)!=0){
224             while ($min = spip_fetch_array($result_date_min)) {
225             $split = split('-',$min['date_evenement']);
226             $date_min=$split[0];
227             }
228           }else{$date_min="?";}
229           $result_date_max = spip_query("SELECT date_evenement FROM spip_genespip_individu,spip_genespip_evenements where spip_genespip_individu.id_individu=spip_genespip_evenements.id_individu and nom = '".$indi['nom']."' and id_type_evenement='1' and date_evenement <> 0000-00-00 ORDER BY date_evenement DESC limit 0,1" );
230           if (mysql_num_rows($result_date_max)!=0){
231             while ($max = spip_fetch_array($result_date_max)) {
232             $split = split('-',$max['date_evenement']);
233             $date_couverte=$date_min."-".$split[0];
234             }
235           }else{$date_couverte=$date_min."-?";}
236        $result_liste = "SELECT * FROM spip_genespip_liste where nom = '".$indi['nom']."'";
237        $result_liste = spip_query($result_liste);
238        /*echo mysql_num_rows($result_liste);*/
239              if (mysql_num_rows($result_liste)==0){
240                 $insert_liste = 'INSERT INTO spip_genespip_liste (nom, nombre, date_couverte, date_update) VALUES ("'.$indi["nom"].'", '.$indi["comptenom"].', "'.$date_couverte.'", "'.$date_update.'")';
241                 /*echo $insert_liste."<br />";*/
242                 $insert_liste = spip_query($insert_liste) or die ("Requête insert_liste invalide<br />");
243              }else{
244              while ($liste = spip_fetch_array($result_liste)) {
245              if ($liste['nombre']!=$indi['comptenom']){
246                 $update_liste = "UPDATE spip_genespip_liste SET nombre = ".$indi['comptenom'].", date_couverte= '".$date_couverte."', date_update= '".$date_update."' WHERE nom = '".$indi['nom']."'";
247                 /*echo $update_liste."<br />";*/
248                 $update_liste = spip_query($update_liste) or die ("Requête update_liste invalide<br />");
249              }
250              }
251              }
252        }
253$result_liste_inverse = spip_query("SELECT nom FROM spip_genespip_liste");
254        while ($liste_inv = spip_fetch_array($result_liste_inverse)) {
255        $result_individu_inverse = spip_query("SELECT nom FROM spip_genespip_individu where poubelle<>1 and nom = '".$liste_inv['nom']."'");
256               if (mysql_num_rows($result_individu_inverse)==0){
257                 $delete_liste=mysql_query('DELETE FROM spip_genespip_liste WHERE nom = "'.$liste_inv["nom"].'"') or die ("Requ&ecirc;te delete_liste invalide");
258               }
259        }
260echo "&nbsp;<font color='red'>OK</font><br />";
261}
262// ##Définition du journal##
263// 1 -> Nouvel individu
264// 2 -> Modification information individu
265// 3 -> Modification évènement
266// 4 -> Suppression évènement
267// 5 -> Ajout évènement
268// 6 -> Ajout portrait
269// 7 -> Ajout signature
270// 8 -> suppression individu
271
272//********************Gestion des fiches**************
273//Création fiche
274
275function genespip_ajout_fiche() {
276        $date_update=date("Y-m-d H:i:s");
277        $date_update2=date("Y-m-d");
278        $sexe=$_POST['sexe'].$_GET['sexe'];
279        $nom=$_POST['nom'].$_GET['nom'];
280        $prenom=$_POST['prenom'].$_GET['prenom'];
281        $insert_fiche="INSERT INTO spip_genespip_individu (nom ,prenom, sexe, id_auteur, date_update) VALUES ('".addslashes($nom)."', '".addslashes($prenom)."', '".$sexe."', ".$GLOBALS['connect_id_auteur'].",'".$date_update."')";
282        $insert_fiche = spip_query($insert_fiche);
283        $id_individu=mysql_insert_id();
284        // ### Journal ###
285        $insert_journal="INSERT INTO spip_genespip_journal (action, descriptif, id_individu, id_auteur, date_update) VALUES ('creation fiche', '1', '".$id_individu."', ".$GLOBALS['connect_id_auteur'].", '".$date_update."')";
286        $sqlJOURNAL =spip_query($insert_journal) or die ("Requete JOURNAL invalide");
287        genespip_maj_liste();
288        return $id_individu;
289}
290
291//Modification d'une fiche - modif (22-03-2008)
292  //Données générales
293function genespip_modif_fiche($id_individu) {
294$date_update=date("Y-m-d H:i:s");
295$naissance=genespip_dateus($_POST['naissance']);
296$deces=genespip_dateus($_POST['deces']);
297$action_sql = "UPDATE spip_genespip_individu SET nom = '".addslashes($_POST['nom'])."', prenom = '".addslashes($_POST['prenom'])."', sexe ='".$_POST['sexe']."', metier = '".addslashes($_POST['metier'])."', enfant = '".$_POST['enfant']."', note = '".addslashes($_POST['note'])."', portrait='".$_POST['portrait']."', source= '".addslashes($_POST['source'])."', adresse= '".addslashes($_POST['adresse'])."', date_update= '".$date_update."', limitation= '".$_POST['limitation']."' WHERE id_individu = ".$id_individu;
298$sqlmodif =spip_query($action_sql) or die ("Requete update_fiche invalide");
299// ### Journal ###
300$insert_journal="INSERT INTO spip_genespip_journal (action, descriptif, id_individu, id_auteur, date_update) VALUES ('modification fiche', '2', '".$id_individu."', '".$GLOBALS['connect_id_auteur']."', '".$date_update."')";
301$sqlJOURNAL =spip_query($insert_journal) or die ("Requete JOURNAL invalide");
302
303}
304  //Modif Evenement  - create (22-03-2008)
305function genespip_up_evt($id_individu,$id_type_evenement) {
306$date_update=date("Y-m-d H:i:s");
307$date_evenement=genespip_dateus($_POST['date_evenement']);
308$action_sql = "UPDATE spip_genespip_evenements SET date_evenement ='".$date_evenement."', precision_date = '".$_POST['precision_date']."', id_lieu = '".$_POST['id_lieu']."', id_epoux = '".$_POST['id_epoux']."', date_update= '".$date_update."' where id_type_evenement = ".$id_type_evenement." and id_epoux = '".$_POST['id_epoux']."' and id_individu = ".$id_individu;
309$sqlup =spip_query($action_sql) or die ("Requete update_evenement invalide");
310if ($_POST['id_epoux']<>NULL){
311$action_sql = "UPDATE spip_genespip_evenements SET date_evenement ='".$date_evenement."', precision_date = '".$_POST['precision_date']."', id_lieu = '".$_POST['id_lieu']."', id_epoux = '".$id_individu."', date_update= '".$date_update."' where id_type_evenement = ".$id_type_evenement." and id_epoux = ".$id_individu." and id_individu = ".$_POST['id_epoux'];
312$sqlup =spip_query($action_sql) or die ("Requete update_evenement_epoux invalide");
313}
314// ### Journal ###
315$insert_journal="INSERT INTO spip_genespip_journal (action, descriptif, id_individu, id_auteur, date_update) VALUES ('modification evenement', '3', '".$id_individu."', ".$GLOBALS['connect_id_auteur'].", '".$date_update."')";
316$sqlJOURNAL =spip_query($insert_journal) or die ("Requete JOURNAL invalide");
317}
318  //Supp Evenement  - create (22-03-2008)
319function genespip_del_evt($id_evenement) {
320$date_update=date("Y-m-d H:i:s");
321$action_sql = "DELETE FROM spip_genespip_evenements WHERE id_evenement = ".$id_evenement;
322$sqldel =spip_query($action_sql) or die ("Requete delete_evenement invalide");
323// ### Journal ###
324$insert_journal="INSERT INTO spip_genespip_journal (action, descriptif, id_individu, id_auteur, date_update) VALUES ('suppression evenement', '4', '".$id_individu."', ".$GLOBALS['connect_id_auteur'].", '".$date_update."')";
325$sqlJOURNAL =spip_query($insert_journal) or die ("Requete JOURNAL invalide");
326}
327  //Ajout Evenement  - create (22-03-2008)
328function genespip_add_evt($id_individu) {
329        $date_update=date("Y-m-d H:i:s");
330        $date_evenement=genespip_dateus($_POST['date_evenement']);
331        $action_sql="INSERT INTO spip_genespip_evenements (id_individu, id_type_evenement, date_evenement ,precision_date, id_lieu, id_epoux, date_update) VALUES (".$id_individu.", ".$_POST['id_type_evenement'].", '".$date_evenement."', '".$_POST['precision_date']."', '".$_POST['id_lieu']."','".$_POST['id_epoux']."', '".$date_update."')";
332        $sqladd =spip_query($action_sql) or die ("Requete ajout_evenement invalide");
333        if ($_POST['id_epoux']<>NULL){
334                $action_sql="INSERT INTO spip_genespip_evenements (id_individu, id_type_evenement, date_evenement ,precision_date, id_lieu, id_epoux, date_update) VALUES (".$_POST['id_epoux'].", ".$_POST['id_type_evenement'].", '".$date_evenement."', '".$_POST['precision_date']."', '".$_POST['id_lieu']."','".$id_individu."', '".$date_update."')";
335                $sqladd =spip_query($action_sql) or die ("Requete ajout_evenement_epoux invalide");
336        }
337        // ### Journal ###
338        $insert_journal="INSERT INTO spip_genespip_journal (action, descriptif, id_individu, id_auteur, date_update) VALUES ('creation evenement', '5', '".$id_individu."', ".$GLOBALS['connect_id_auteur'].", '".$date_update."')";
339        $sqlJOURNAL =spip_query($insert_journal) or die ("Requete JOURNAL invalide");
340}
341
342//Modification d'une fiche - Ajout indicateur portrait
343function genespip_modif_fiche_portrait($portrait,$id_individu,$format_portrait) {
344$date_update=date("Y-m-d H:i:s");
345$action_sql="UPDATE spip_genespip_individu SET portrait = ".$portrait.", format_portrait = '".$format_portrait."', date_update= '".$date_update."' WHERE id_individu = ".$id_individu;
346$sqlmodif =spip_query($action_sql) or die ("Requête update_portrait invalide");
347// ### Journal ###
348if ($portrait==1){
349$insert_journal="INSERT INTO spip_genespip_journal (action, descriptif, id_individu, id_auteur, date_update) VALUES ('ajout portrait', '6', '".$id_individu."', ".$GLOBALS['connect_id_auteur'].", '".$date_update."')";
350$sqlJOURNAL =spip_query($insert_journal) or die ("Requete JOURNAL invalide");
351}
352}
353//Modification d'une fiche - Ajout indicateur signature
354function genespip_modif_fiche_signature($signature,$id_individu,$format_signature) {
355$date_update=date("Y-m-d H:i:s");
356$action_sql="UPDATE spip_genespip_individu SET signature = ".$signature.", format_signature = '".$format_signature."', date_update= '".$date_update."' WHERE id_individu = ".$id_individu;
357$sqlmodif =spip_query($action_sql) or die ("Requête update_signature invalide");
358// ### Journal ###
359if ($signature==1){
360$insert_journal="INSERT INTO spip_genespip_journal (action, descriptif, id_individu, id_auteur, date_update) VALUES ('ajout signature', '7', '".$id_individu."', ".$GLOBALS['connect_id_auteur'].", '".$date_update."')";
361$sqlJOURNAL =spip_query($insert_journal) or die ("Requete JOURNAL invalide");
362}
363}
364
365//Modification des parents
366function genespip_modif_parent($id_individu) {
367$date_update=date("Y-m-d H:i:s");
368$action_sql="UPDATE spip_genespip_individu SET pere = '".$_POST['pere']."', mere = '".$_POST['mere']."', date_update= '".$date_update."' WHERE id_individu = ".$id_individu;
369$sqlmodif =spip_query($action_sql) or die ("Requête update_parent invalide");
370}
371//***************Lieu***********************
372  //Modif Lieu  - create (25-03-2008)
373function genespip_up_lieu($id_lieu) {
374$action_sql = "UPDATE spip_genespip_lieux SET ville ='".addslashes($_POST['ville'])."', departement = '".addslashes($_POST['departement'])."', code_departement = '".$_POST['code_departement']."', region = '".addslashes($_POST['region'])."', pays= '".addslashes($_POST['pays'])."' where id_lieu = ".$id_lieu;
375$sqlup =spip_query($action_sql) or die ("Requete update_lieu invalide");
376}
377  //Delete Lieu  - create (25-03-2008)
378function genespip_del_lieu($id_lieu) {
379$action_sql = "DELETE FROM spip_genespip_lieux WHERE id_lieu = ".$id_lieu;
380$sqldel =spip_query($action_sql) or die ("Requete delete_lieu invalide");
381}
382  //Add Lieu  - create (25-03-2008)
383function genespip_add_lieu() {
384$action_sql="INSERT INTO spip_genespip_lieux (ville, departement, code_departement , region, pays) VALUES ('".addslashes($_POST['ville'])."', '".addslashes($_POST['departement'])."', '".$_POST['code_departement']."', '".addslashes($_POST['region'])."', '".addslashes($_POST['pays'])."')";
385$sqladd =spip_query($action_sql) or die ("Requete ajout_lieu invalide");
386}
387//***************Corbeille***********************
388//Mise à la corbeille (en attente) d'une fiche
389function genespip_poubelle_fiche($id_individu) {
390$date_update=date("Y-m-d H:i:s");
391$action_sql="UPDATE spip_genespip_individu SET poubelle = '".$_POST['poubelle']."' WHERE id_individu = ".$id_individu;
392$sqlmodif =spip_query($action_sql) or die ("Requête update_poubelle invalide");
393echo "<font color='red'>".$date_update." : La fiche N&ordm;".$id_individu." a &eacute;t&eacute; mise &agrave; la poubelle.</font>";
394genespip_maj_liste();
395// ### Journal ###
396$insert_journal="INSERT INTO spip_genespip_journal (action, descriptif, id_individu, id_auteur, date_update) VALUES ('suppression fiche', '8', '".$id_individu."', ".$GLOBALS['connect_id_auteur'].", '".$date_update."')";
397$sqlJOURNAL =spip_query($insert_journal) or die ("Requete JOURNAL invalide");
398
399}
400function genespip_supp_fiche($action) {
401if ($action=="Supprimer"){
402//****Suppression definitive
403$valeur=$_POST['action_fiche'];
404$nmax=count($valeur);
405for($i=0;$i!=$nmax;$i++)
406   {
407$sqldel=mysql_query("DELETE FROM spip_genespip_individu WHERE id_individu = ".$valeur[$i]) or die ("Requête delete_fiche invalide");
408        echo "<font color='red'>Fiche n&ordm;".$valeur[$i]."</font><br />";
409$sqldel=mysql_query("DELETE FROM spip_genespip_evenements WHERE id_individu = ".$valeur[$i]) or die ("Requête delete_union2 invalide");
410$sqldel=mysql_query("DELETE FROM spip_genespip_evenements WHERE id_epoux = ".$valeur[$i]) or die ("Requête delete_union3 invalide");
411        echo "<font color='red'>Union de fiche n&ordm;".$valeur[$i]."</font><br />";
412   }
413}elseif ($action=="Restaurer"){
414//****Restauration fiche
415$valeur=$_POST['action_fiche'];
416$nmax=count($valeur);
417for($i=0;$i!=$nmax;$i++)
418   {
419$date_update=date("Y-m-d H:i:s");
420$action_sql="UPDATE spip_genespip_individu SET poubelle = 0 WHERE id_individu = ".$valeur[$i];
421$sqlmodif =spip_query($action_sql) or die ("Requête update invalide");
422        echo "<font color='red'>Fiche n&ordm;".$valeur[$i]." restaur&eacute;e</font><br />";
423   }
424genespip_maj_liste();
425}
426}
427
428//************************************************
429function genespip_nom_prenom($id_individu,$choix){
430if ($choix==1 or $choix==3){
431$result = spip_query("SELECT id_individu, nom, prenom FROM spip_genespip_individu where id_individu = ".$id_individu);
432}
433elseif ($choix==2){
434$result = spip_query("SELECT id_individu, nom, prenom FROM spip_genespip_individu where pere = ".$id_individu." or mere =".$id_individu);
435}
436$n=0;
437while ($fiche = spip_fetch_array($result)) {
438if ($n!=0){$detail .="<br />";}
439if ($choix==3){$detail=$fiche['nom']." ".$fiche['prenom'];}
440else {$detail .= "<a href=".generer_url_ecrire('fiche_detail')."&id_individu=".$fiche['id_individu'].">&raquo;&nbsp;".$fiche['nom']." ".$fiche['prenom']."</a>";}
441$n=$n+1;
442}
443return $detail;
444}
445//**************************DOCUMENTS********************
446//Ajout document
447function genespip_ajout_document($id_individu, $id_article) {
448$date_update=date("Y-m-d H:i:s");
449$requete_insert="INSERT INTO spip_genespip_documents (id_individu, id_article) VALUES ('$id_individu', '$id_article')";
450$insert_document = spip_query($requete_insert);
451echo "<br /><font color='red'>".$date_update." : Nouvelle liaison &rdquo;document&ldquo; r&eacute;alis&eacute;e</font>";
452
453$result = spip_query("SELECT * FROM spip_articles where id_article=".$id_article);
454while ($fiche = spip_fetch_array($result)) {
455
456if ($fiche['chapo']<>""){
457if (get_magic_quotes_gpc()==0){
458$chapo=addslashes($fiche['chapo'])."<br />";
459}else{
460$chapo=$fiche['chapo']."<br />";
461}}
462$chapo=$chapo."[Fiche de ".genespip_nom_prenom($id_individu,3)."->spip.php?page=individu&id_individu=".$id_individu."]";
463$requete="UPDATE spip_articles SET chapo = '".$chapo."' where id_article=".$id_article;
464
465$update_article = spip_query($requete) or die ("Requête ajout lien invalide");
466
467}}
468//Suppression lien document
469function genespip_supp_document($id_individu, $id_article) {
470$sqldel=spip_query("DELETE FROM spip_genespip_documents WHERE id_individu = ".$id_individu." and id_article = ".$id_article) or die ("Requête delete_documents invalide");
471}
472//Selection article
473function genespip_choix_article(){
474$result = spip_query("SELECT id_article, titre FROM spip_articles");
475  $art .= "<select size='1' name='id_article' size='3'>";
476  $art .= "<option value='0'>---</option>";
477while ($fiche = spip_fetch_array($result)) {
478  $art .= "<option value='".$fiche['id_article']."'>".$fiche['id_article']."/ ".$fiche['titre']."</option>";
479}
480  $art .= "</select>";
481return $art;
482}
483
484//détail article sélectionner
485function genespip_liste_document($id_individu){
486$url_action_document=generer_url_ecrire('fiche_document');
487$url_detail_document=generer_url_ecrire('articles');
488$result = spip_query("SELECT spip_genespip_documents.id_individu, spip_articles.id_article, spip_articles.titre FROM spip_genespip_documents,spip_articles WHERE spip_genespip_documents.id_individu = ".$id_individu." and spip_genespip_documents.id_article=spip_articles.id_article");
489  $art .= "<table width='100%'>";
490while ($fiche = spip_fetch_array($result)) {
491  $art .= "<tr><td><a href='".$url_detail_document."&id_individu=".$fiche['id_individu']."&id_article=".$fiche['id_article']."'>".$fiche['id_article']."/ ".$fiche['titre']."</a></td>";
492  $art .= "<td><a href='".$url_action_document."&action=delete&id_individu=".$fiche['id_individu']."&id_article=".$fiche['id_article']."'><img border='0' noborder src='"._DIR_PLUGIN_GENESPIP."img_pack/del.gif' alt='Supprimer' /></a></td>";
493}
494  $art .= "</table>";
495return $art;
496}
497//Tester présence lien article avant dans exec/articles et exec/article_edit
498function genespip_tester_document($id_individu,$id_article,$page){
499$url_action_document=generer_url_ecrire('fiche_document');
500$affiche .= "toto";
501if (isset($id_article)==NULL){
502$affiche .= icone_horizontale(_T('&rsaquo;&rsaquo;&nbsp;Retour sur la fiche sans enregistrer&nbsp;&rsaquo;&rsaquo;'), $url_action_document."&id_individu=".$id_individu, 'rien.gif', '');
503}else{
504$result = spip_query("SELECT * FROM spip_genespip_documents WHERE id_individu = ".$id_individu." and id_article = ".$id_article);
505$compte = mysql_num_rows($result);
506if ($compte==0){
507$affiche .= icone_horizontale(_T('&rsaquo;&rsaquo;&nbsp;Cliquer ici pour lier l&acute;article &agrave; la fiche&nbsp;&rsaquo;&rsaquo;'), $url_action_document."&id_individu=".$id_individu."&id_article=".$id_article."&action=Valider", 'rien.gif', 'creer.gif');
508}else{
509if ($page=="articles"){
510$affiche .= icone_horizontale(_T('&rsaquo;&rsaquo;&nbsp;Retour sur la fiche&nbsp;&rsaquo;&rsaquo;'), $url_action_document."&id_individu=".$id_individu, 'rien.gif', '');
511}
512if ($page=="articles_edit"){
513$affiche .= icone_horizontale(_T('&rsaquo;&rsaquo;&nbsp;Retour sur la fiche sans enregistrer&nbsp;&rsaquo;&rsaquo;'), $url_action_document."&id_individu=".$id_individu, 'rien.gif', '');
514}}}
515return $affiche;
516}
517//Verif rubrique documents
518function genespip_creer_rubrique(){
519$date_update=date("Y-m-d H:i:s");
520$result = spip_query("SELECT spip_genespip_parametres.rubrique, spip_rubriques.id_rubrique, spip_rubriques.titre FROM spip_genespip_parametres, spip_rubriques WHERE spip_rubriques.id_rubrique = spip_genespip_parametres.rubrique");
521$compte = mysql_num_rows($result);
522if ($compte==0){
523$insert_rubrique = spip_query("INSERT INTO spip_rubriques (titre, statut, date, idx, statut_tmp, date_tmp) VALUES ('Documents, actes', 'publie', '".$date_update."', 'oui', 'publie', '".$date_update."')");
524$id_rubrique .=spip_insert_id();
525$insert_rubrique = spip_query("UPDATE spip_genespip_parametres SET rubrique = '".$id_rubrique."'");
526}else{
527while ($fiche = spip_fetch_array($result)) {
528$id_rubrique .=$fiche['id_rubrique'];
529}}
530return $id_rubrique;
531}
532//Nouvelle fiche formulaire - modif 23/05/2008 (ajout sexe)
533function genespip_nouvelle_fiche($url_action_accueil){
534        $ret .= "<a name='images'></a>";
535        $ret .= debut_cadre_relief("petition-24.gif", true, "creer.gif", _T('genespip:nouvelle fiche'));
536        $ret .= "<form action='".$url_action_accueil."' method='post'>";
537        $ret .= "<table><tr><td>";
538        $ret .= _T('genespip:nom').":</td><td><input type='text' name='nom' size='12' /></td></tr><tr><td>";
539        $ret .= _T('genespip:prenom').":</td><td><input type='text' name='prenom' size='12' /></td></tr>";
540        $ret .= "<tr><td colspan='2'>M&nbsp;<input type='radio' name='sexe' value='0' id='1' checked />";
541        $ret .= "&nbsp;F&nbsp;<input type='radio' name='sexe' value='1' id='2' /></td></tr>";
542        $ret .= "<tr><td colspan='2'><input type='submit' name='submit' value='Valider' size='8' /></td></tr></table>";
543        $ret .= "<input type='hidden' name='edit' value='nouvellefiche' size='8' />";
544        $ret .= "</form>";
545        $ret .= fin_cadre_relief(true);
546        return $ret;
547}
548
549// menu_lang plat sans URL sur la langue sélectionnée
550function url_lang ($langues) {
551    include_spip('inc/charsets');   
552    $texte = '';
553    $tab_langues = explode(',', $GLOBALS['meta']['langues_multilingue']);
554    while ( list($clef, $valeur) = each($tab_langues) )
555  if ($valeur == $GLOBALS['spip_lang']) {
556    if ($valeur=="en"){$flag="gb";}else{$flag=$valeur;}
557  $drapeau="<img src='"._DIR_PLUGIN_GENESPIP."img_pack/pays/".$flag.".png'>";
558  $texte .= '<span style="border:1px solid #626262;background-color:#EAEAEA;padding:1px">'.$drapeau.'</span>';
559  }
560  else {
561    if ($valeur=="en"){$flag="gb";}else{$flag=$valeur;}
562  $drapeau="<img src='"._DIR_PLUGIN_GENESPIP."img_pack/pays/".$flag.".png'>";
563  $texte .= '<span style="padding:1px">';
564  $texte .= '<a href="'.parametre_url(generer_url_action('cookie'), 'url', parametre_url(self(true), '&'), '&').'&amp;var_lang='.$valeur.'" alt="'.traduire_nom_langue($valeur).'">'.$drapeau.'</a>';
565  $texte .= '</span>';
566  }
567    return $texte;
568}
569//fin
570
571include_spip('inc/genespip_balise');
572?>
573<script language="javascript" type="text/javascript">
574function update_flag1(objet){
575 if (objet.value)
576  document.getElementById("img_flags1").src = '/genespip/plugins/genespip/img_pack/pays/'+objet.value+'.png';
577}
578function update_flag2(objet){
579 if (objet.value)
580  document.getElementById("img_flags2").src = '/genespip/plugins/genespip/img_pack/pays/'+objet.value+'.png';
581}
582</script>
Note: See TracBrowser for help on using the repository browser.