Subversion Repositories Applications.papyrus

Rev

Rev 448 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 448 Rev 474
Line 17... Line 17...
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: inscription_liste.class.php,v 1.1 2005-09-22 14:02:47 ddelon Exp $
22
// CVS : $Id: inscription_liste.class.php,v 1.2 2005-09-27 16:36:01 alexandre_tb Exp $
23
/**
23
/**
24
* Application projet
24
* Application projet
25
*
25
*
26
* La classe inscription_liste
26
* La classe inscription_liste
27
*
27
*
Line 29... Line 29...
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.1 $
34
*@version       $Revision: 1.2 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
Line 37... Line 37...
37
 
37
 
Line 162... Line 162...
162
     * @return void
162
     * @return void
163
     * @access public
163
     * @access public
164
     */
164
     */
165
    function modifierTypeInscription( $liste,  $utilisateur,  $type_inscription )
165
    function modifierTypeInscription( $liste,  $utilisateur,  $type_inscription )
166
    {
166
    {
-
 
167
        /*
167
        $requete = 'update projet_inscription_liste set '.
168
        $requete = 'update projet_inscription_liste set '.
168
                    'pil_id_liste='.$liste->getId().', pil_id_statut='.$type_inscription.' where pil_id_utilisateur='.$utilisateur->getInfo('identifiant') ; 
169
                    'pil_id_liste='.$liste->getId().', pil_id_statut='.$type_inscription.' where pil_id_utilisateur='.$utilisateur->getInfo('identifiant') ; 
169
        $resultat = $this->_db->query ($requete) ;
170
        $resultat = $this->_db->query ($requete) ;
170
        if (DB::isError ($resultat)) {
171
        if (DB::isError ($resultat)) {
171
            echo ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
172
            echo ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
Line 176... Line 177...
176
            $resultat = $this->_db->query ($requete) ;
177
            $resultat = $this->_db->query ($requete) ;
177
            if (DB::isError ($resultat)) {
178
            if (DB::isError ($resultat)) {
178
                echo ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
179
                echo ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
179
            }
180
            }
180
        }
181
        }
-
 
182
        */
181
        // envoie d'une demande d'inscription par email à la liste
183
        // envoie d'une demande d'inscription par email à la liste
182
        include_once 'Mail.php' ;
184
        //include_once 'Mail.php' ;
Line 183... Line 185...
183
        
185
        
184
        switch ($type_inscription) {
186
        switch ($type_inscription) {
-
 
187
            case 0 :
185
            case 0 :
188
            /*
186
                $commande_serveur = new commande_serveur(PROJET_CHEMIN_APPLI.'script_cron/ezmlm.sh') ;
189
                $commande_serveur = new commande_serveur(PROJET_CHEMIN_APPLI.'script_cron/ezmlm.sh') ;
187
                if (PEAR::isError($commande_serveur)) {
190
                if (PEAR::isError($commande_serveur)) {
188
                    echo $commande_serveur->getMessage() ;
191
                    echo $commande_serveur->getMessage() ;
189
                }
192
                }
190
                // On désinscrit l'utilisateur de la liste
193
                // On désinscrit l'utilisateur de la liste
191
                $commande_supressoin_utilisateur = 'sudo -u vpopmail /usr/local/bin/ezmlm/ezmlm-unsub '.
194
                $commande_supressoin_utilisateur = 'sudo -u vpopmail /usr/local/bin/ezmlm/ezmlm-unsub '.
192
                                            '/home/vpopmail/domains/'.$liste->getDomaine().'/'.$liste->getNom().' '.
195
                                            '/home/vpopmail/domains/'.$liste->getDomaine().'/'.$liste->getNom().' '.
193
                                            $utilisateur->getInfo('mail');
196
                                            $utilisateur->getInfo('mail');
-
 
197
                $commande_serveur->ajouterCommande ($commande_supressoin_utilisateur) ;
-
 
198
            */
-
 
199
            // Ajout du modérateur en tant qu'utilisateur
-
 
200
            $resultat_suppression_utilisateur = file_get_contents ('http://vpopmail.'.$liste->getDomaine().'/suppression_abonne.php?domaine='.
-
 
201
                                    $liste->getDomaine().'&liste='.$liste->getNom().'&mail='.$utilisateur->getInfo('mail')) ;
194
                $commande_serveur->ajouterCommande ($commande_supressoin_utilisateur) ;
202
 
195
            break ;
203
            break ;
-
 
204
            case 1 :
196
            case 1 :
205
                /*
197
                $commande_serveur = new commande_serveur(PROJET_CHEMIN_APPLI.'script_cron/ezmlm.sh') ;
206
                $commande_serveur = new commande_serveur(PROJET_CHEMIN_APPLI.'script_cron/ezmlm.sh') ;
198
                if (PEAR::isError($commande_serveur)) {
207
                if (PEAR::isError($commande_serveur)) {
199
                    echo $commande->getMessage() ;
208
                    echo $commande->getMessage() ;
200
                }
209
                }
Line 213... Line 222...
213
                $entetes['To'] = $liste->getAdresseResume() ;
222
                $entetes['To'] = $liste->getAdresseResume() ;
214
                $entetes['Subject'] = '' ;
223
                $entetes['Subject'] = '' ;
Line 215... Line 224...
215
                
224
                
216
                $objet_mail =& Mail::factory('smtp');
225
                $objet_mail =& Mail::factory('smtp');
-
 
226
                $objet_mail->send($entetes['To'], $entetes, '');
217
                $objet_mail->send($entetes['To'], $entetes, '');
227
            */
218
            break ;
228
            break ;
-
 
229
            case 2 : 
219
            case 2 : 
230
            /*
220
                $commande_serveur = new commande_serveur(PROJET_CHEMIN_APPLI.'script_cron/ezmlm.sh') ;
231
                $commande_serveur = new commande_serveur(PROJET_CHEMIN_APPLI.'script_cron/ezmlm.sh') ;
221
                if (PEAR::isError($commande_serveur)) {
232
                if (PEAR::isError($commande_serveur)) {
222
                    echo $commande_serveur->getMessage() ;
233
                    echo $commande_serveur->getMessage() ;
223
                }
234
                }
224
                // On désinscrit l'utilisateur de la liste
235
                // On désinscrit l'utilisateur de la liste
225
                $commande_ajout_utilisateur = 'sudo -u vpopmail /usr/local/bin/ezmlm/ezmlm-sub '.
236
                $commande_ajout_utilisateur = 'sudo -u vpopmail /usr/local/bin/ezmlm/ezmlm-sub '.
226
                                            '/home/vpopmail/domains/'.$liste->getDomaine().'/'.$liste->getNom().' '.
237
                                            '/home/vpopmail/domains/'.$liste->getDomaine().'/'.$liste->getNom().' '.
227
                                            $utilisateur->getInfo('mail');
238
                                            $utilisateur->getInfo('mail');
-
 
239
                $commande_serveur->ajouterCommande ($commande_ajout_utilisateur) ;
-
 
240
            */
-
 
241
                // Ajout d'un utilisateur
-
 
242
                $resultat_ajout_utilisateur = file_get_contents ('http://vpopmail.'.$liste->getDomaine().'/ajout_abonne.php?domaine='.
228
                $commande_serveur->ajouterCommande ($commande_ajout_utilisateur) ;
243
                                    $liste->getDomaine().'&liste='.$liste->getNom().'&mail='.$utilisateur->getInfo('mail')) ;
229
            break ;
244
            break ;
230
        }
245
        }
Line 231... Line 246...
231
    } // end of member function modifierTypeInscription
246
    } // end of member function modifierTypeInscription
Line 237... Line 252...
237
     * @return Array
252
     * @return Array
238
     * @access public
253
     * @access public
239
     */
254
     */
240
    function getStatutsInscrit( $id_utilisateur )
255
    function getStatutsInscrit( $id_utilisateur )
241
    {
256
    {
-
 
257
        
242
        $requete = 'select pil_id_liste, pil_id_statut from projet_inscription_liste where pil_id_utilisateur='.$id_utilisateur ;
258
        $requete = 'select pil_id_liste, pil_id_statut from projet_inscription_liste where pil_id_utilisateur='.$id_utilisateur ;
243
        $resultat = $this->_db->query ($requete) ;
259
        $resultat = $this->_db->query ($requete) ;echo $requete;
244
        if (DB::isError ($resultat)) {
260
        if (DB::isError ($resultat)) {
245
            die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
261
            die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
246
        }
262
        }
247
        $tableau_resultat = array() ;
263
        $tableau_resultat = array() ;
248
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
264
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
249
            $tableau_resultat[$ligne->pil_id_liste] = $ligne->pil_id_statut ;
265
            $tableau_resultat[$ligne->pil_id_liste] = $ligne->pil_id_statut ;
250
        }
266
        }
251
        return $tableau_resultat ;
267
        return $tableau_resultat ;
-
 
268
        
-
 
269
 
252
    } // end of member function getStatutsInscrit
270
    } // end of member function getStatutsInscrit
Line 253... Line 271...
253
 
271
 
254
    /**
272
    /**
255
     * Renvoie le statut d'un inscrit à une liste
273
     * Renvoie le statut d'un inscrit à une liste
256
     *
274
     *
257
     * @param int id_liste 
275
     * @param int id_liste 
258
     * @param int id_utilisateur 
276
     * @param int id_utilisateur 
259
     * @return int
277
     * @return int
260
     * @access public
278
     * @access public
261
     */
279
     */
262
    function getStatutInscrit( $id_liste,  $id_utilisateur )
280
    function getStatutInscrit( $id_liste,  &$auth )
-
 
281
    {
263
    {
282
        /*
264
        $requete = 'select pil_id_liste, pil_id_statut from projet_inscription_liste where pil_id_utilisateur='.$id_utilisateur.
283
        $requete = 'select pil_id_liste, pil_id_statut from projet_inscription_liste where pil_id_utilisateur='.$id_utilisateur.
265
                    ' and pil_id_liste='.$id_liste;
284
                    ' and pil_id_liste='.$id_liste;
266
        $resultat = $this->_db->query ($requete) ;
285
        $resultat = $this->_db->query ($requete) ;
267
        if (DB::isError ($resultat)) {
286
        if (DB::isError ($resultat)) {
268
            die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
287
            die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
Line 269... Line 288...
269
        }
288
        }
Line 270... Line 289...
270
        
289
        
-
 
290
        $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
-
 
291
        
-
 
292
        return $ligne->pil_id_statut;
-
 
293
        */
-
 
294
        // Récupération de la liste des listes !!
-
 
295
        $requete = 'select pl_nom_liste, pl_domaine from projet_liste where pl_id_liste='.$id_liste ;
-
 
296
        $resultat = $this->_db->query ($requete) ;
-
 
297
        if (DB::isError ($resultat)) {
-
 
298
            die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
-
 
299
        }
-
 
300
        $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
-
 
301
        $xml = file_get_contents('http://vpopmail.'.$ligne->pl_domaine.'/liste_abonnes.php?domaine='.
-
 
302
                            $ligne->pl_domaine.'&liste='.$ligne->pl_nom_liste) ;
-
 
303
        $tableau_mail = array() ;
-
 
304
        $tableau_ligne = explode ('<email>', $xml) ;
-
 
305
        foreach ($tableau_ligne as $ligne) array_push ($tableau_mail, strip_tags($ligne)) ;
-
 
306
        array_shift($tableau_mail) ;
-
 
307
        if (in_array($auth->getUsername(), $tableau_mail)) {
271
        $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
308
            return 2;       // Inscrit est le statut  2