Subversion Repositories eFlore/Applications.bibliobota

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 jp_milcent 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This file is part of BB-Synthèse.                                                                    |
9
// |                                                                                                      |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
11
// | it under the terms of the GNU General Public License as published by                                 |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
13
// | (at your option) any later version.                                                                  |
14
// |                                                                                                      |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
18
// | GNU General Public License for more details.                                                         |
19
// |                                                                                                      |
20
// | You should have received a copy of the GNU General Public License                                    |
21
// | along with Foobar; if not, write to the Free Software                                                |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// +------------------------------------------------------------------------------------------------------+
24
// CVS : $Id: bb_synthese.php,v 1.1 2005-11-23 10:22:25 jp_milcent Exp $
25
/**
26
* Application affichant la liste des synthèses de Tela Botanica.
27
*
28
* Fournit la liste des synthèses de Tela Botanica.
29
*
30
*@package BiblioBota-Synthese
31
//Auteur original :
32
*@author        Jean-Charles GRANGER <tela@vecteur.org>
33
//Autres auteurs :
34
*@author        Jean-Pascal MILCENT <jpm@clapas.org>
35
*@copyright     Tela-Botanica 2000-2004
36
*@version       $Revision: 1.1 $ $Date: 2005-11-23 10:22:25 $
37
// +------------------------------------------------------------------------------------------------------+
38
*/
39
 
40
// +------------------------------------------------------------------------------------------------------+
41
// |                                            ENTETE du PROGRAMME                                       |
42
// +------------------------------------------------------------------------------------------------------+
43
/** Inclusion du fichier de configuration de l'application Synthèse. */
44
require_once BB_CHEMIN_APPLI.'bb_synthese/configuration/bbsy_config.inc.php';
45
 
46
// Appel du fichier de traduction des textes de l'application Synthèse de Biblio Bota
47
if (file_exists(BBSY_CHEMIN_LANGUES.'bbsy_langue_'.BB_URL_I18N.'.inc.php')) {
48
    /** Inclusion du fichier de traduction de l'application Synthèse. */
49
    include_once BBSY_CHEMIN_LANGUES.'bbsy_langue_'.BB_URL_I18N.'.inc.php';
50
} else {
51
    /** Inclusion du fichier de traduction fr par défaut. */
52
    include_once BBSY_CHEMIN_LANGUES.'bbsy_langue_fr.inc.php';
53
}
54
 
55
// +------------------------------------------------------------------------------------------------------+
56
// Initialisation des variables
57
global $TransTab, $tbl;
58
$ret = '';
59
$ret .= '<!-- BiblioBota - Synthèse : DEBUT -->'."\n";
60
 
61
// +------------------------------------------------------------------------------------------------------+
62
// |                                            CORPS du PROGRAMME                                        |
63
// +------------------------------------------------------------------------------------------------------+
64
 
65
if ((isset($TransTab)) && ($TransTab != '')) {
66
    $tableau = FRAG_decoupageChaine($TransTab);
67
}
68
 
69
if (empty($tableau['pstart'])) {
70
    $tableau['pstart'] = 0;
71
}
72
 
73
// Début de l'applicatif
74
$ret .= '<h1>'.BBSY_LG_PAGE_TITRE.'</h1>'."\n";
75
$ret .= '<h2>'.BBSY_LG_PRESENTATION_TITRE.'</h2>'."\n";
76
$ret .= '<p>'.BBSY_LG_PARA_01.'</p>'."\n";
77
$ret .= '<p>'.BBSY_LG_PARA_02.'</p>'."\n";
78
$ret .= '<h2>'.BBSY_LG_PARA_03.'</h2>'."\n";
79
$ret .= '<h3>'.'<img src="'.BBSY_IMG_SYNTHESE.'" alt="'.BBSY_LG_SYNTH_IMG_ALT.'" /> '.BBSY_LG_SYNTH_NIV_01_TITRE.'</h3>'."\n";
80
$ret .= '<p>'.BBSY_LG_SYNTH_NIV_01_INFO.'</p>'."\n";
81
$ret .= '<h3>'.str_repeat('<img src="'.BBSY_IMG_SYNTHESE.'" alt="'.BBSY_LG_SYNTH_IMG_ALT.'" /> ', 2).BBSY_LG_SYNTH_NIV_02_TITRE.'</h3>'."\n";
82
$ret .= '<p>'.BBSY_LG_SYNTH_NIV_02_INFO.'</p>'."\n";
83
$ret .= '<h3>'.str_repeat('<img src="'.BBSY_IMG_SYNTHESE.'" alt="'.BBSY_LG_SYNTH_IMG_ALT.'" /> ', 3).BBSY_LG_SYNTH_NIV_03_TITRE.'</h3>'."\n";
84
$ret .= '<p>'.BBSY_LG_SYNTH_NIV_03_INFO.'</p>'."\n";
85
 
86
 
87
// (1) récupération des chaines id des synthèses
88
$seeker = '';
89
foreach ($var_biblio['seek_string'] as $key => $values) {
90
    if ($key != 0) {
91
        $seeker .= ' OR ';
92
    }
93
    $seeker .= ' B_A_CRAICOLL = "'.$values.'" ';
94
}
95
 
96
// (2) comptage du nombre de synthèses
97
$requete =  'SELECT COUNT(*) AS comptage '.
98
            'FROM '.$tbl['article'].', '.$tbl['item'].' '.
99
            'WHERE '.$seeker.' '.
100
            'AND B_I_CACHER = 0 '.
101
            'AND B_I_IDITEM = B_A_IDART';
102
$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));
103
$tmp_nb = mysql_fetch_object($resultat);
104
$nb = $tmp_nb->comptage;
105
mysql_free_result($resultat);
106
 
107
// Affichage du nombre de synthèses requis
108
if ($nb == 0) {
109
    $ret .= '<p>'.'Pas de synthèses référencées.'.'</p>'."\n";
110
}
111
 
112
$requete =     'SELECT '.$tbl['article'].'.*, '.$tbl['item'].'.*, '.$tbl['item_typlog'].'.B_IL_LABEL, '.$tbl['item_typphy'].'.B_IP_LABEL '.
113
                'FROM '.$tbl['article'].', '.$tbl['item'].', '.$tbl['item_typlog'].', '.$tbl['item_typphy'].' '.
114
                'WHERE '.$seeker.' '.
115
                'AND B_I_CACHER = 0 '.
116
                'AND B_I_TYPLOG = B_IL_ID '.
117
                'AND B_I_TYPPHY = B_IP_ID '.
118
                'AND B_I_IDITEM = B_A_IDART '.
119
                'ORDER BY B_I_REM DESC '.
120
                'LIMIT '.$tableau['pstart'].', '.$var_biblio['how_bloc'];
121
$resultat = mysql_query($requete) or die(BOG_afficherErreurSql(__FILE__, __LINE__, mysql_error(), $requete));
122
$nb_s = mysql_num_rows($resultat);
123
 
124
if (empty($tableau['pend'])) {
125
    $tableau['pend'] = $nb;
126
}
127
if (empty($tableau['pstep'])) {
128
    $tableau['step'] = $var_biblio['how_bloc'];
129
}
130
 
131
// Informations sur le nombre de synthèse.
132
$ret .= '<p id="frag_nbre_resultat">'.FRAG_afficherTxtNbreResultat('synth', $tableau, $nb_s, $nb).'</p>'."\n";
133
 
134
// Ici on fragmente en pages, pour une navigation plus facile
135
$frag = new fragmenteur();
136
$frag_txt = $frag->fragmente($tableau, $nb);
137
if (($frag->nb_pages) > 1) {
138
    $ret .= '<p class="frag_navigation">'.$frag_txt.'</p>'."\n";
139
}
140
// Fin fragmentation
141
 
142
// Affichage des résultats
143
// 1- listing des synthèses
144
// 2- dedans : listing des voir aussi
145
$n = 1;
146
$ret .= '<ul>'."\n";
147
while ($ligne = mysql_fetch_object($resultat)) {
148
    $id_a = $ligne->B_A_IDART;
149
    $titre = $ligne->B_I_TITRE;
150
    $auteurs = $ligne->B_I_AUTEURS;
151
    $geo = $ligne->B_I_GEO;
152
    $langue = $ligne->B_I_LANGUE;
153
    $resum = $ligne->B_I_RESUMCLE;
154
    $image = $ligne->B_I_IMAGE;
155
    $comment = $ligne->B_I_COMMENT;
156
    $rem = $ligne->B_I_REM;
157
 
158
    $exp_rem = explode('+', $rem);
159
    $ret .= '<li>'."\n";
160
    if ($image != '') {
161
        $ret .= '<img src="'.BB_CHEMIN_IMAGES.$image.'" alt="" />';
162
    }
163
 
164
    // Récupération des données spécifiques stockées dans le champ REM
165
    // $exp_rem[0] : date aaaa.mm.jj
166
    // $exp_rem[1] : niveau de synthèse
167
    // $exp_rem[++] : adresses mails des auteurs
168
    // $exp_rem[2] : 1er auteur
169
    // $exp_rem[3] : 2ème auteur etc. ...
170
    if ($exp_rem[1] == '') {
171
        $exp_rem[1] = 0;
172
    }
173
 
174
    switch ($exp_rem[1]) {
175
        case 0 :
176
            $alt = BBSY_LG_SYNTH_NIV_00_TITRE;
177
            break;
178
        case 1 :
179
            $alt = BBSY_LG_SYNTH_NIV_01_TITRE;
180
            break;
181
        case 2 :
182
            $alt = BBSY_LG_SYNTH_NIV_02_TITRE;
183
            break;
184
        case 3 :
185
            $alt = BBSY_LG_SYNTH_NIV_03_TITRE;
186
            break;
187
    }
188
    $ret .= str_repeat('<img class="'.BBSY_CLASS_IMG_SYNTHESE.'" src="'.BBSY_IMG_SYNTHESE.'" alt="'.BBSY_LG_SYNTH_IMG_ALT.'" /> ', $exp_rem[1]);
189
 
190
    // Désactivation des de ma mise en tag des mails des auteurs.
191
    /*// comptage du nombre d'auteurs
192
    $exp_auteurs = explode (", ",$auteurs);
193
    $tmp_count = count($exp_auteurs);
194
 
195
    // affichage des auteurs et de leur mail s'il est précisé
196
    $ct = 0;  // variable de controle du nom de l'auteur
197
    $tc = 2;  // variable de controle du mail de l'auteur (début du listing des auteurs)
198
    while ($ct <= $tmp_count) {
199
        if ($exp_rem[$tc] != '') {
200
            $ret .= "<zup href=\"mailto:$exp_rem[$tc]?subject=Synthèse $titre\">$exp_auteurs[$ct]</zup>";
201
        } else {
202
            $ret .= "$exp_auteurs[$ct]";
203
        }
204
 
205
        if ($ct < $tmp_count-1) {
206
            $ret .= ", ";
207
        }
208
        $ct++;
209
        $tc++;
210
    }*/
211
 
212
    $ret .= $auteurs;
213
 
214
    $ret .= ' - '.'<b>'.$titre.'</b>';
215
 
216
    if ($exp_rem[0] > 0) {
217
        $ret .= ' - '.FormateDateYYYYMMJJ($exp_rem[0]);
218
    }
219
 
220
    if ($resum != '') {
221
        $ret .= ' - '.'<i>'.$resum.'</i>';
222
    }
223
 
224
    if ($comment != '') {
225
        $ret .= ' - '.'<i>'.$comment.'</i>';
226
    }
227
 
228
    if ($geo != '') {
229
        $ret .= ' - '.'Départ./Région : '.'<i>'.$geo.'</i>';
230
    }
231
 
232
    if ($langue != '') {
233
        $ret .= ' - '.$langue;
234
    }
235
 
236
    // Recherche des liens vers la synthèse
237
    // Là on affiche les Voir Aussi Fascicules ... si y'en a
238
    $UnVoirAussi = new VoirAussi($id_a, $tbl['article']);
239
    if ($UnVoirAussi->NbVA > 0) {
240
        $liste_va = $UnVoirAussi->ListerVoirAussi();
241
 
242
        $ret .= ' - '.'Consulter : ';
243
        for ($i = 0; $i == (($UnVoirAussi->NbVA) - 1); $i++) {
244
            $ret .= '<img class="'.BB_CLASS_IMG_ICONE.'" src="'.$liste_va[$i]['icon_src'].'" alt="'.$liste_va[$i]['icon_alt'].'" /> ';
245
            $ret .= '<a '.$liste_va[$i]['target'].'>'.$liste_va[$i]['texte'].'</a>';
246
            if ($liste_va[$i]['desc'] != '') {
247
                $ret .= ' - '.'<i>'.$liste_va[$i]['desc'].'</i>';
248
            }
249
        }
250
    }
251
 
252
    // fin des Voir Aussi Fascicule
253
    if ($n < $nb_s) {
254
        $ret .= '<br /><br />';
255
    }
256
    $ret .= "\n\n";
257
 
258
    $n++;
259
    $ret .= '</li>'."\n";
260
}
261
$ret .= '</ul>'."\n";
262
mysql_free_result($resultat);
263
 
264
// +------------------------------------------------------------------------------------------------------+
265
// |                                            PIED du PROGRAMME                                         |
266
// +------------------------------------------------------------------------------------------------------+
267
$ret .= '<!-- BiblioBota - Synthèse : FIN -->'."\n";
268
$sortie = $ret;
269
 
270
 
271
/* +--Fin du code ----------------------------------------------------------------------------------------+
272
*
273
* $Log: not supported by cvs2svn $
274
* Revision 1.3  2005/04/25 13:58:15  jpm
275
* Résolution de problèmes liés à la base de données et simplification de l'affichage des images représentant le niveau des synthèses.
276
*
277
* Revision 1.2  2005/03/01 15:18:48  jpm
278
* Ajout de commentaire html de début et fin d'appli.
279
*
280
* Revision 1.1  2005/02/24 18:34:41  jpm
281
* Ajout de l'application synthèse.
282
*
283
*
284
* +-- Fin du code ----------------------------------------------------------------------------------------+
285
*/
286
?>