Subversion Repositories Sites.tela-botanica.org

Rev

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

Rev Author Line No. Line
4 david 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 library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: VA_VoirAussi.class.php,v 1.4 2005/03/03 08:40:35 jpm Exp $
23
/**
24
* API : "voir aussi".
25
*
26
* Cette API contient des fonctions dédiées à la gestion des Voir Aussi.
27
*
28
*@package API
29
*@subpackage VoirAussi
30
//Auteur original :
31
*@author        Jean-Charles GRANGER <tela@vecteur.org>
32
//Autres auteurs :
33
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
34
*@author        Jean-Pascal MILCENT <jpm@clapas.org>
35
*@copyright     Tela-Botanica 2000-2004
36
*@version       $Revision: 1.4 $ $Date: 2005/03/03 08:40:35 $
37
// +------------------------------------------------------------------------------------------------------+
38
*/
39
 
40
// +------------------------------------------------------------------------------------------------------+
41
// |                                            ENTETE du PROGRAMME                                       |
42
// +------------------------------------------------------------------------------------------------------+
43
                                    /*Mettre ici les inclusions de fichiers*/
44
// Stokage de la fonction JavaScrip permettant l'ouverture des pop-up
45
$body = "
46
        function MagicPopup (mURL)
47
            {
48
            var sArgs = 'toolbar=0'+
49
            ',hotkeys=0'+
50
            ',location=0'+
51
            ',directories=0'+
52
            ',menubar=0'+
53
            ',personalbar=0'+
54
            ',status=0'+
55
            ',scrollbars=1'+
56
            ',resizable=1'+
57
            ',width=640 '+
58
            ',height=450';
59
 
60
            var wWindow = open (mURL, 'more', sArgs);
61
            wWindow.window.focus ();
62
            } ";
63
GEN_stockerFonctionScript('MagicPopup', $body);
64
 
65
// +------------------------------------------------------------------------------------------------------+
66
// |                                                 CLASSES                                              |
67
// +------------------------------------------------------------------------------------------------------+
68
                                        /*Mettre ici la liste de fonctions.*/
69
class VoirAussi {
70
    // Propriétés
71
    var $NbVA;
72
    var $table;
73
    var $item;
74
 
75
    // Constructeur
76
    /**Fonction VoirAussi() - constructeur de la classe VoirAussi.
77
    *
78
    * Vérifie les 'Voir Aussi' d'un item et retourne un tableau contenant
79
    * toutes les infos des Voir Aussi.
80
    *
81
    * @param string le nom de l'objet d'origine compris dans la table des "voir aussi".
82
    * @param string le nom de la table d'origine.
83
    *
84
    * @return array les infos des "voir aussi".
85
    */
86
    function VoirAussi($item_ori, $table_ori)
87
    {
88
        global $tbl;
89
 
90
        $this->table = $table_ori;
91
        $this->item = $item_ori;
92
 
93
        $query_va = 'SELECT COUNT(*) AS compte '.
94
                    'FROM '.$tbl['allervoir'].' '.
95
                    'WHERE GEN_AV_ORIGINE = "'.$item_ori.'" '.
96
                    'AND GEN_AV_TABLE = "'.$table_ori.'"';
97
        $do_query_va = mysql_query($query_va) or die('<b>Erreur de comptage des "Voir Aussi" dans le Constructeur :</b> '.$query_va);
98
        $nb_tmpva = mysql_fetch_object($do_query_va);
99
        $this->NbVA = $nb_tmpva->compte;
100
        mysql_free_result($do_query_va);
101
    }
102
 
103
    // Méthodes
104
 
105
    /**Fonction ListerVoirAussi() - Retourne les infos des "voir aussi".
106
    *
107
    * Vérifie les 'Voir Aussi' d'un item et retourne un tableau contenant
108
    * toutes les infos des Voir Aussi.
109
    *
110
    * @return array les infos des "voir aussi".
111
    */
112
    function ListerVoirAussi()
113
    {
114
        global $tbl;
115
 
116
        if ($this->NbVA > 0) {
117
            $query_v = 'SELECT GEN_VA_LIEN, GEN_VA_TEXTELIEN, GEN_VA_DESCRIPTION, GEN_VA_LKTYPE, GEN_VA_TARGET, TF_NAME, TF_ICONTYPE '.
118
                        'FROM '.$tbl['allervoir'].', '.$tbl['voiraussi'].', '.$tbl['typefile'].' '.
119
                        'WHERE GEN_AV_ORIGINE = "'.$this->item.'" AND GEN_AV_TABLE = "'.$this->table.'" '.
120
                        'AND '.$tbl['allervoir'].'.GEN_AV_IDVA = '.$tbl['voiraussi'].'.GEN_VA_IDVA '.
121
                        'AND '.$tbl['voiraussi'].'.GEN_VA_LKTYPE = '.$tbl['typefile'].'.TF_IDTYPE ';
122
 
123
            $do_query_v = mysql_query($query_v) or die('<b>Erreur de récupération des Voir Aussi in f():</b> '.$query_v);
124
 
125
            while ($row = mysql_fetch_object($do_query_v)) {
126
                $lien = $row->GEN_VA_LIEN;
127
                $texte = $row->GEN_VA_TEXTELIEN;
128
                $desc = $row->GEN_VA_DESCRIPTION;
129
                $target = $row->GEN_VA_TARGET;
130
                $type_name = $row->TF_NAME;
131
                $type_id = $row->GEN_VA_LKTYPE;
132
                $icon = $row->TF_ICONTYPE;
133
 
134
                if ($texte != '') {
135
                    $what_aff = $texte;
136
                } else {
137
                    $what_aff = $type_name;
138
                }
139
 
140
                switch ($target) {
141
                    case 'popup';
142
                        $target = 'href="Javascript:MagicPopup(\''.$lien.'\')"';
143
                    break;
144
                    case 'blank';
145
                        $target = 'href="'.$lien.'" target="_blank"';
146
                    break;
147
                    default :
148
                        $target = 'href="'.$lien.'"';
149
                    break;
150
                }
151
 
152
                for ($i = 0; $i == (($this->NbVA) - 1); $i++) {
153
                    $liste_va[$i]['texte'] = $texte;
154
                    $liste_va[$i]['desc'] = $desc;
155
                    $liste_va[$i]['target'] = $target;
156
                    $liste_va[$i]['icon_src'] = $icon;
157
                    $liste_va[$i]['icon_alt'] = $type_name;
158
                }
159
 
160
                return $liste_va;
161
            }
162
        }
163
    }
164
}
165
 
166
/* +--Fin du code ---------------------------------------------------------------------------------------+
167
*
168
* $Log: VA_VoirAussi.class.php,v $
169
* Revision 1.4  2005/03/03 08:40:35  jpm
170
* Le tableau retourné a été modifié :
171
* 'icon_src' contient le chemin pour l'attribut src
172
* 'icon_alt' contient la valeur pour l'attribut alt
173
*
174
* Revision 1.3  2004/09/16 12:05:48  jpm
175
* Extration hors de la classe de l'ajout du Javascript.
176
*
177
* Revision 1.2  2004/09/11 19:13:13  jpm
178
* Début mise en forme.
179
*
180
*
181
* +--Fin du code ----------------------------------------------------------------------------------------+
182
*/
183
?>