Subversion Repositories Applications.projet

Rev

Rev 11 | Rev 301 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 11 Rev 208
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU General Public                                                  |
9
// | modify it under the terms of the GNU General Public                                                  |
10
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | General Public License for more details.                                                             |
16
// | General Public License for more details.                                                             |
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU General Public                                            |
18
// | You should have received a copy of the GNU General Public                                            |
19
// | License along with this library; if not, write to the Free Software                                  |
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                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: liste_discussion.class.php,v 1.2 2005-09-27 16:42:00 alexandre_tb Exp $
22
// CVS : $Id: liste_discussion.class.php,v 1.3 2007-04-19 15:34:35 neiluj Exp $
23
/**
23
/**
24
* Application projet
24
* Application projet
25
*
25
*
26
* La classe liste_discussion
26
* La classe liste_discussion
27
*
27
*
28
*@package projet
28
*@package projet
29
//Auteur original :
29
//Auteur original :
30
*@author        Alexandre Granier <alexandre@tela-botanica.org>
30
*@author        Alexandre Granier <alexandre@tela-botanica.org>
31
//Autres auteurs :
31
//Autres auteurs :
32
*@author        Aucun
32
*@author        Aucun
33
*@copyright     Tela-Botanica 2000-2004
33
*@copyright     Tela-Botanica 2000-2004
34
*@version       $Revision: 1.2 $
34
*@version       $Revision: 1.3 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
37
 
37
 
38
 
38
 
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
// |                                            ENTETE du PROGRAMME                                       |
40
// |                                            ENTETE du PROGRAMME                                       |
41
// +------------------------------------------------------------------------------------------------------+
41
// +------------------------------------------------------------------------------------------------------+
-
 
42
 
-
 
43
require_once GEN_CHEMIN_API.'sql/SQL_manipulation.fonct.php' ;
42
/**
44
/**
43
 * class liste_discussion
45
 * class liste_discussion
44
 * 
46
 * 
45
 */
47
 */
46
class liste_discussion
48
class liste_discussion
47
{
49
{
48
 
50
 
49
     /*** Attributes: ***/
51
     /*** Attributes: ***/
50
 
52
 
51
 
53
 
52
    /**
54
    /**
53
     * Le nom de la liste, sans le domaine.
55
     * Le nom de la liste, sans le domaine.
54
     * @access private
56
     * @access private
55
     */
57
     */
56
    var $_nom;
58
    var $_nom;
57
    /**
59
    /**
58
     * 
60
     * 
59
     * @access private
61
     * @access private
60
     */
62
     */
61
    var $_adresse;
63
    var $_adresse;
62
    /**
64
    /**
63
     * Le domaine de la liste
65
     * Le domaine de la liste
64
     * @access private
66
     * @access private
65
     */
67
     */
66
    var $_domaine;
68
    var $_domaine;
67
    /**
69
    /**
68
     * 
70
     * 
69
     * @access private
71
     * @access private
70
     */
72
     */
71
    var $_adresse_inscription;
73
    var $_adresse_inscription;
72
    /**
74
    /**
73
     * 
75
     * 
74
     * @access private
76
     * @access private
75
     */
77
     */
76
    var $_adresse_desinscription;
78
    var $_adresse_desinscription;
77
    /**
79
    /**
78
     * 
80
     * 
79
     * @access private
81
     * @access private
80
     */
82
     */
81
    var $_adresse_aide;
83
    var $_adresse_aide;
82
    /**
84
    /**
83
     * Une connexion PEAR::DB
85
     * Une connexion PEAR::DB
84
     * @access private
86
     * @access private
85
     */
87
     */
86
    var $_db;
88
    var $_db;
87
    /**
89
    /**
88
     * L'identifiant de la liste.
90
     * L'identifiant de la liste.
89
     * @access private
91
     * @access private
90
     */
92
     */
91
    var $_id;
93
    var $_id;
92
    /**
94
    /**
93
     * 
95
     * 
94
     * @access private
96
     * @access private
95
     */
97
     */
96
    var $_adresse_inscription_resume;
98
    var $_adresse_inscription_resume;
97
    /**
99
    /**
98
     * Indique la portée, publique ou privé de la liste
100
     * Indique la portée, publique ou privé de la liste
99
     * @access private
101
     * @access private
100
     */
102
     */
101
    var $_portee;
103
    var $_portee;
102
    
104
    
103
    /**
105
    /**
104
     * Le constructeur
106
     * Le constructeur
105
     *
107
     *
106
     * @param int id_liste L'identifiant de la liste souhaité
108
     * @param int id_liste L'identifiant de la liste souhaité
107
     * @param DB objetDB Un objet PEAR:DB
109
     * @param DB objetDB Un objet PEAR:DB
108
     * @return void
110
     * @return void
109
     * @access public
111
     * @access public
110
     */
112
     */
111
    function liste_discussion( $id_liste, & $objetDB )
113
    function liste_discussion( $id_liste, & $objetDB )
112
    {
114
    {
113
        $this->_db = $objetDB ;
115
        $this->_db = $objetDB ;
114
        if ($id_liste != '') {
116
        if ($id_liste != '') {
115
            $this->_id = $id_liste ;
117
            $this->_id = $id_liste ;
116
            
118
            
117
            $requete_liste = 'select * from projet_liste where pl_id_liste='.$this->_id ;
119
            $requete_liste = 'select * from projet_liste where pl_id_liste='.$this->_id ;
118
            $resultat_liste = $this->_db->query ($requete_liste) ;
120
            $resultat_liste = $this->_db->query ($requete_liste) ;
119
            if (DB::isError ($resultat_liste)) {
121
            if (DB::isError ($resultat_liste)) {
120
                die ("Echec de la requete : $requete_liste<br />".$resultat_liste->getMessage()) ;
122
                die ("Echec de la requete : $requete_liste<br />".$resultat_liste->getMessage()) ;
121
            }
123
            }
122
            $ligne_liste = $resultat_liste->fetchRow(DB_FETCHMODE_OBJECT) ;
124
            $ligne_liste = $resultat_liste->fetchRow(DB_FETCHMODE_OBJECT) ;
123
            $this->_adresse = $ligne_liste->pl_adresse_liste ;
125
            $this->_adresse = $ligne_liste->pl_adresse_liste ;
124
            $this->_domaine = $ligne_liste->pl_domaine ;
126
            $this->_domaine = $ligne_liste->pl_domaine ;
125
            $this->_nom = $ligne_liste->pl_nom_liste ;
127
            $this->_nom = $ligne_liste->pl_nom_liste ;
126
            $this->_adresse_inscription = $ligne_liste->pl_adresse_inscription ;
128
            $this->_adresse_inscription = $ligne_liste->pl_adresse_inscription ;
127
            $this->_adresse_inscription_resume = $ligne_liste->pl_nom_liste.'-digest-subscribe@'.$this->_domaine ;
129
            $this->_adresse_inscription_resume = $ligne_liste->pl_nom_liste.'-digest-subscribe@'.$this->_domaine ;
128
            $this->_portee = $ligne_liste->pl_visibilite ;
130
            $this->_portee = $ligne_liste->pl_visibilite ;
129
        }
131
        }
130
    } // end of member function liste_discussion
132
    } // end of member function liste_discussion
131
 
133
 
132
 
134
 
133
    /**
135
    /**
134
     * Renvoie le domaine de la liste
136
     * Renvoie le domaine de la liste
135
     *
137
     *
136
     * @return string
138
     * @return string
137
     * @access public
139
     * @access public
138
     */
140
     */
139
    function getDomaine( )
141
    function getDomaine( )
140
    {
142
    {
141
        return $this->_domaine ;
143
        return $this->_domaine ;
142
    } // end of member function getDomaine
144
    } // end of member function getDomaine
143
 
145
 
144
    /**
146
    /**
145
     * Renvoie le nom de la liste
147
     * Renvoie le nom de la liste
146
     *
148
     *
147
     * @return string
149
     * @return string
148
     * @access public
150
     * @access public
149
     */
151
     */
150
    function getNom( )
152
    function getNom( )
151
    {
153
    {
152
        return $this->_nom ;
154
        return $this->_nom ;
153
    } // end of member function getNom
155
    } // end of member function getNom
154
 
156
 
155
    /**
157
    /**
156
     * Renvoie l'identifiant de la liste
158
     * Renvoie l'identifiant de la liste
157
     *
159
     *
158
     * @return integer
160
     * @return integer
159
     * @access public
161
     * @access public
160
     */
162
     */
161
    function getId( )
163
    function getId( )
162
    {
164
    {
163
        return $this->_id ;
165
        return $this->_id ;
164
    } // end of member function getNom
166
    } // end of member function getNom
165
 
167
 
166
 
168
 
167
 
169
 
168
    /**
170
    /**
169
     * Enregistre une ligne dans la table projet_liste
171
     * Enregistre une ligne dans la table projet_liste
170
     * Le tableau de valeur doit contenir les éléments suivants 'nom_liste','','domaine_liste'
172
     * Le tableau de valeur doit contenir les éléments suivants 'nom_liste','','domaine_liste'
171
     *
173
     *
172
     * @param Array tableau_de_valeur Le tableau de valeur a insérer dans la base avec pour clé les noms des éléments
174
     * @param Array tableau_de_valeur Le tableau de valeur a insérer dans la base avec pour clé les noms des éléments
173
     * @access  public
175
     * @access  public
174
     * @return void
176
     * @return void
175
     */
177
     */
176
 
178
 
177
    function enregistrerSQL ($valeur) {
179
    function enregistrerSQL ($valeur) {
178
        
180
        
179
        $id = SQL_obtenirNouveauId($this->_db, 'projet_liste', 'pl_id_liste') ;
181
        $id = SQL_obtenirNouveauId($this->_db, 'projet_liste', 'pl_id_liste') ;
180
 
182
 
181
        $requete = "insert into projet_liste set pl_id_liste=".$id ;
183
        $requete = "insert into projet_liste set pl_id_liste=".$id ;
182
        $requete .= ", pl_nom_liste=\"".$valeur['nom_liste']."\", pl_domaine=\"".$valeur['domaine_liste']."\"".
184
        $requete .= ", pl_nom_liste=\"".$valeur['nom_liste']."\", pl_domaine=\"".$valeur['domaine_liste']."\"".
183
                    ", pl_adresse_liste=\"".$valeur['nom_liste'].'@'.$valeur['domaine_liste'].'", pl_adresse_inscription="'.
185
                    ", pl_adresse_liste=\"".$valeur['nom_liste'].'@'.$valeur['domaine_liste'].'", pl_adresse_inscription="'.
184
                    $valeur['nom_liste']."-subscribe@".$valeur['domaine_liste'].'",pl_adresse_desinscription="'.
186
                    $valeur['nom_liste']."-subscribe@".$valeur['domaine_liste'].'",pl_adresse_desinscription="'.
185
                    $valeur['nom_liste']."-unsubscribe@".$valeur['domaine_liste'].'", pl_adresse_aide="'.
187
                    $valeur['nom_liste']."-unsubscribe@".$valeur['domaine_liste'].'", pl_adresse_aide="'.
186
                    $valeur['nom_liste']."-help@".$valeur['domaine_liste'].'", pl_visibilite="'.$valeur['liste_visibilite'].'"' ;
188
                    $valeur['nom_liste']."-help@".$valeur['domaine_liste'].'", pl_visibilite="'.$valeur['liste_visibilite'].'"' ;
187
 
189
 
188
        $resultat = $this->_db->query ($requete) ;
190
        $resultat = $this->_db->query ($requete) ;
189
        if (DB::isError($resultat)) {
191
        if (DB::isError($resultat)) {
190
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
192
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
191
        }
193
        }
192
        $this->_id = $id ;
194
        $this->_id = $id ;
193
        $this->_domaine = $valeur['domaine_liste'] ;
195
        $this->_domaine = $valeur['domaine_liste'] ;
194
        $this->_nom = $valeur['nom_liste'] ;
196
        $this->_nom = $valeur['nom_liste'] ;
195
        return $id;
197
        return $id;
196
    }
198
    }
197
 
199
 
198
    /**
200
    /**
199
     * 
201
     * 
200
     *
202
     *
201
     * @param string code_sql 
203
     * @param string code_sql 
202
     * @return bool
204
     * @return bool
203
     * @access public
205
     * @access public
204
     */
206
     */
205
    function suppressionSQL()
207
    function suppressionSQL()
206
    {
208
    {
207
        
209
        
208
        $requete = "delete from projet_liste where pl_id_liste=".$this->_id ;
210
        $requete = "delete from projet_liste where pl_id_liste=".$this->_id ;
209
        $resultat = $this->_db->query ($requete) ;
211
        $resultat = $this->_db->query ($requete) ;
210
 
212
 
211
        return true ;
213
        return true ;
212
    } // end of member function suppressionSQL
214
    } // end of member function suppressionSQL
213
 
215
 
214
    /**
216
    /**
215
     * Vérifie si une liste existe déjà dans la table projet_liste.
217
     * Vérifie si une liste existe déjà dans la table projet_liste.
216
     *
218
     *
217
     * @param string adresse_liste L'adresse de la liste à tester
219
     * @param string adresse_liste L'adresse de la liste à tester
218
     * @param DB objetDB Un objet PEAR::DB
220
     * @param DB objetDB Un objet PEAR::DB
219
     * @return bool
221
     * @return bool
220
     * @static
222
     * @static
221
     * @access public
223
     * @access public
222
     */
224
     */
223
    function verifieDoubleListe( $adresse_liste,  &$objetDB )
225
    function verifieDoubleListe( $adresse_liste,  &$objetDB )
224
    {
226
    {
225
        $requete = 'select pl_id_liste from projet_liste where pl_adresse_liste="'.$adresse_liste.'"' ;
227
        $requete = 'select pl_id_liste from projet_liste where pl_adresse_liste="'.$adresse_liste.'"' ;
226
        $resultat = $objetDB->query ($requete) ;
228
        $resultat = $objetDB->query ($requete) ;
227
        if (DB::isError ($resultat)) {
229
        if (DB::isError ($resultat)) {
228
            die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
230
            die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
229
        }
231
        }
230
        if ($resultat->numRows()) {
232
        if ($resultat->numRows()) {
231
            return false;
233
            return false;
232
        }
234
        }
233
        return true ;
235
        return true ;
234
    } // end of member function verifieDoubleListe
236
    } // end of member function verifieDoubleListe
235
 
237
 
236
 
238
 
237
    /**
239
    /**
238
     * Renvoie l'adresse de la liste
240
     * Renvoie l'adresse de la liste
239
     *
241
     *
240
     * @return string
242
     * @return string
241
     * @access public
243
     * @access public
242
     */
244
     */
243
    function getAdresseEnvoi( )
245
    function getAdresseEnvoi( )
244
    {
246
    {
245
        return $this->_adresse ;
247
        return $this->_adresse ;
246
    } // end of member function getAdresseEnvoi
248
    } // end of member function getAdresseEnvoi
247
 
249
 
248
    /**
250
    /**
249
     * Renvoie l'adresse de la liste
251
     * Renvoie l'adresse de la liste
250
     *
252
     *
251
     * @return string
253
     * @return string
252
     * @access public
254
     * @access public
253
     */
255
     */
254
    function getAdresseInscription( )
256
    function getAdresseInscription( )
255
    {
257
    {
256
        return $this->_adresse_inscription ;
258
        return $this->_adresse_inscription ;
257
    } // end of member function getAdresseEnvoi
259
    } // end of member function getAdresseEnvoi
258
 
260
 
259
    /**
261
    /**
260
     * 
262
     * 
261
     *
263
     *
262
     * @return string
264
     * @return string
263
     * @access public
265
     * @access public
264
     */
266
     */
265
    function getAdresseResume( )
267
    function getAdresseResume( )
266
    {
268
    {
267
        return $this->_adresse_inscription_resume ;
269
        return $this->_adresse_inscription_resume ;
268
    } // end of member function getAdresseResume
270
    } // end of member function getAdresseResume
269
 
271
 
270
 
272
 
271
    /**
273
    /**
272
     * 
274
     * 
273
     *
275
     *
274
     * @return string
276
     * @return string
275
     * @access public
277
     * @access public
276
     */
278
     */
277
    function isPublic( )
279
    function isPublic( )
278
    {
280
    {
279
        return $this->_portee ;
281
        return $this->_portee ;
280
    } // end of member function getAdresseResume
282
    } // end of member function getAdresseResume
281
 
283
 
282
 
284
 
283
 
285
 
284
 
286
 
285
 
287
 
286
 
288
 
287
 
289
 
288
} // end of liste_discussion
290
} // end of liste_discussion
289
?>
291
?>