Subversion Repositories Applications.projet

Rev

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

Rev 405 Rev 423
Line 65... Line 65...
65
	// Internal variables
65
	// Internal variables
66
	var $action = '';
66
	var $action = '';
67
	var $actionargs;
67
	var $actionargs;
Line 68... Line 68...
68
 
68
 
69
	function ezmlm_php() {
69
	function ezmlm_php() {
70
		
70
 
71
		// USER-CONFIG section
71
		// USER-CONFIG section
72
		// these variables act the same way ezmlm-php-config.php did in the first release
72
		// these variables act the same way ezmlm-php-config.php did in the first release
73
		// simply edit these variables to match your setup
73
		// simply edit these variables to match your setup
74
                                
74
 
75
		$this->listdir		= "";
75
		$this->listdir		= "";
76
		$this->listname		= "";
76
		$this->listname		= "";
77
		$this->listdomain	= "";
77
		$this->listdomain	= "";
78
	
78
 
Line 79... Line 79...
79
		$this->tempdir		= "";
79
		$this->tempdir		= "";
80
 
80
 
81
		$this->sendheaders	= TRUE;
81
		$this->sendheaders	= TRUE;
Line 91... Line 91...
91
						"to",
91
						"to",
92
						"from",
92
						"from",
93
						"subject",
93
						"subject",
94
						"date"
94
						"date"
95
					);
95
					);
96
        $this->header_en_francais = array ('to' => 'A', 
96
        $this->header_en_francais = array ('to' => 'A',
97
                                            'from' => 'De',
97
                                            'from' => 'De',
98
                                            'subject' => 'Sujet',
98
                                            'subject' => 'Sujet',
99
                                            'date' => 'Date') ;
99
                                            'date' => 'Date') ;
Line 100... Line 100...
100
 
100
 
Line 118... Line 118...
118
			/*$this->error(EZMLM_INVALID_DIR,TRUE);*/
118
			/*$this->error(EZMLM_INVALID_DIR,TRUE);*/
119
		}
119
		}
120
	}
120
	}
121
	/*
121
	/*
122
	 * Renvoi le nombre de message dans une archive
122
	 * Renvoi le nombre de message dans une archive
123
	 * Le nombre contenu dans liste/num 
123
	 * Le nombre contenu dans liste/num
124
	 */
124
	 */
125
	function getNumArchive() {
125
	function getNumArchive() {
126
		if ($this->listdir != '') {
126
		if ($this->listdir != '') {
127
			$num = split(':', file_get_contents($this->listdir.'/num'));
127
			$num = split(':', file_get_contents($this->listdir.'/num'));
128
			return $num[0];
128
			return $num[0];
Line 187... Line 187...
187
 
187
 
188
	function sendfooters() {
188
	function sendfooters() {
189
		print "</body>\n";
189
		print "</body>\n";
190
		print "</html>\n";
190
		print "</html>\n";
191
	}
191
	}
Line 192... Line 192...
192
				
192
 
Line 193... Line 193...
193
 
193
 
194
	// begin common functions
194
	// begin common functions
Line 275... Line 275...
275
    /**
275
    /**
276
     *  Parse une chaine et supprime les probleme d'encodage de type ISO-4 ...
276
     *  Parse une chaine et supprime les probleme d'encodage de type ISO-4 ...
277
     *
277
     *
278
     * @return string
278
     * @return string
279
     */
279
     */
280
    
280
 
281
    function decode_iso ($chaine) {
281
    function decode_iso ($chaine) {
282
        
282
 
283
        if (preg_match ('/windows-[0-9][0-9][0-9][0-9]/i', $chaine, $nombre)) {
283
        if (preg_match ('/windows-[0-9][0-9][0-9][0-9]/i', $chaine, $nombre)) {
284
            $reg_exp = $nombre[0] ;
284
            $reg_exp = $nombre[0] ;
285
            $chaine = str_replace(' ', '', $chaine);
285
            $chaine = str_replace(' ', '', $chaine);
286
        } else {
286
        } else {
287
            $reg_exp = 'ISO-8859-15?' ;
287
            $reg_exp = 'ISO-8859-15?' ;
288
        }
288
        }
289
        if (preg_match ('/UTF/i', $chaine)) $reg_exp = 'UTF-8' ;
289
        if (preg_match ('/UTF/i', $chaine)) $reg_exp = 'UTF-8' ;
290
        preg_match_all ("/=\?$reg_exp\?(Q|B)\?(.*?)\?=/i", $chaine, $match, PREG_PATTERN_ORDER)  ;
290
        preg_match_all ("/=\?$reg_exp\?(Q|B)\?(.*?)\?=/i", $chaine, $match, PREG_PATTERN_ORDER)  ;
291
        for ($i = 0; $i < count ($match[0]); $i++ ) {
291
        for ($i = 0; $i < count ($match[0]); $i++ ) {
292
            
292
 
293
                if (strtoupper($match[1][$i]) == 'Q') {
293
                if (strtoupper($match[1][$i]) == 'Q') {
294
                    $decode = quoted_printable_decode ($match[2][$i]) ;
294
                    $decode = quoted_printable_decode ($match[2][$i]) ;
295
                } elseif ($match[1][$i] == 'B') {
295
                } elseif ($match[1][$i] == 'B') {
296
                    $decode = base64_decode ($match[2][$i]) ;
296
                    $decode = base64_decode ($match[2][$i]) ;
297
                }
297
                }
298
                $decode = preg_replace ("/_/", " ", $decode) ;
298
                $decode = preg_replace ("/_/", " ", $decode) ;
299
            if ($reg_exp == 'UTF-8') {
299
            if ($reg_exp == 'UTF-8') {
300
                $decode = utf8_decode ($decode) ;
300
                $decode = utf8_decode ($decode) ;
301
            } 
301
            }
302
            $chaine = str_replace ($match[0][$i], $decode, $chaine) ;
302
            $chaine = str_replace ($match[0][$i], $decode, $chaine) ;
303
        }
303
        }
304
        return $chaine ;
304
        return $chaine ;
305
    }
305
    }
306
    
306
 
307
    /**
307
    /**
308
     *
308
     *
309
     *
309
     *
310
     * @return
310
     * @return
311
     */
311
     */
312
    
312
 
313
    function date_francaise ($date_mail) {
313
    function date_francaise ($date_mail) {
314
        $date_mail = preg_replace ('/CEST/', '', $date_mail) ;
314
        $date_mail = preg_replace ('/CEST/', '', $date_mail) ;
315
        $numero_mois = date('m ', strtotime($date_mail)) - 1 ;
315
        $numero_mois = date('m ', strtotime($date_mail)) - 1 ;
316
        $date = date ('d ', strtotime($date_mail)).$GLOBALS['mois'][$numero_mois] ; // Le jour et le mois
316
        $date = date ('d ', strtotime($date_mail)).$GLOBALS['mois'][$numero_mois] ; // Le jour et le mois
317
        $date .= date(' Y ', strtotime($date_mail)) ; // l'annee
317
        $date .= date(' Y ', strtotime($date_mail)) ; // l'annee
Line 321... Line 321...
321
            $date .= date('g', strtotime($date_mail)) ;
321
            $date .= date('g', strtotime($date_mail)) ;
322
        }
322
        }
323
        $date .= date(':i', strtotime($date_mail)) ;    // Les minutes
323
        $date .= date(':i', strtotime($date_mail)) ;    // Les minutes
324
        return $date ;
324
        return $date ;
325
    }
325
    }
326
    
326
 
327
    /** 
327
    /**
328
     * Cette fonction renvoie le prefixe, cad 0 ou rien
328
     * Cette fonction renvoie le prefixe, cad 0 ou rien
329
     * d un nom de message, ex : pour 09, on renvoie 0
329
     * d un nom de message, ex : pour 09, on renvoie 0
330
     * pour 12 on renvoie rien
330
     * pour 12 on renvoie rien
331
     */
331
     */
332
    function prefixe_nom_message($nom) {
332
    function prefixe_nom_message($nom) {