Subversion Repositories Applications.projet

Compare Revisions

Ignore whitespace Rev 409 → Rev 410

/trunk/classes/ezmlm-php-2.0/services_vpopmail/calendrier_messages.php
1,5 → 1,39
<?php
 
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: calendrier_messages.php,v 1.4 2008-08-25 15:25:47 alexandre_tb Exp $
/**
* Application projet
*
* Action forums
*
*@package projet
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2008
*@version $Revision: 1.4 $
// +------------------------------------------------------------------------------------------------------+
*/
include_once 'ezmlm-php-2.0/ezmlm.php' ;
 
 
11,22 → 45,85
$info->listname = $liste;
$info->listdomain = $domaine ;
 
ob_start() ;
if (!$info->listmessages()) {
if (!$info) return 'Les fichiers de la liste ne sont pas visible sur le serveur' ;
}
$html = ob_get_contents() ;
ob_end_clean() ;
/** Calcul du cache */
/*
require_once('Cache/Lite.php');
 
// Set a id for this cache
$id = 'cache_'.$domaine.'_'.$liste;
 
// Set a few options
 
$options = array(
'cacheDir' => 'tmp/',
'lifeTime' => null
);
*/
 
include_once 'XML/Util.php' ;
 
$xml = XML_Util::getXMLDeclaration('1.0', 'ISO-8859-15', 'no') ;
 
$xml .= XML_Util::createStartElement ('ezmlm_calendrier_messages', array('domaine' => $domaine, 'liste' => $liste, 'langue' => $langue)) ;
if (!file_exists($info->listdir.'/num')) {
$xml .= XML_Util::createStartElement ('ezmlm_calendrier_messages', array('domaine' => $domaine, 'liste' => $liste, 'langue' => $langue)) ;
$xml .= '<![CDATA[il n\'y a pas de messages dans cette liste pour le moment.]]>';
$xml .= XML_Util::createEndElement('ezmlm_calendrier_messages') ;
header ('Content-type: text/xml');
echo $xml;
exit();
}
/*
// Create a Cache_Lite object
$Cache_Lite = new Cache_Lite($options);
$recalcule = false ;
$Cache_Lite->get($id);
 
$xml .= '<![CDATA[ '.$html.']]>';
 
$xml .= XML_Util::createEndElement('ezmlm_calendrier_messages') ;
if (@fileatime($info->listdir.'/num') > (int)$Cache_Lite->lastModified()) {
$recalcule = true;
}
 
// Test if thereis a valide cache for this id
if (!$recalcule) {
$xml = $Cache_Lite->get($id);
} else { // pas de cache, on construit le calendrier
*/
$html = $info->listmessages();
if (!$html) {
$xml .= XML_Util::createStartElement ('ezmlm_erreur', array('domaine' => $domaine, 'liste' => $liste, 'langue' => $langue)) ;
$xml .= '<![CDATA[Les fichiers de la liste ne sont pas visibles sur le serveur]]>';
$xml .= XML_Util::createEndElement('ezmlm_erreur') ;
} else {
$xml .= XML_Util::createStartElement ('ezmlm_calendrier_messages', array('domaine' => $domaine, 'liste' => $liste, 'langue' => $langue)) ;
$xml .= '<![CDATA[ '.$html.']]>';
$xml .= XML_Util::createEndElement('ezmlm_calendrier_messages') ;
/*
$xml .= XML_Util::createStartElement('cache_time') ;
$xml .= (int)$Cache_Lite->lastmodified().'#'.fileatime($info->listdir.'/num');
$xml .= XML_Util::createEndElement('cache_time') ;*/
//$Cache_Lite->save($xml, $id);
}
//}
 
header ('Content-type: text/xml');
echo $xml ;
?>
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: calendrier_messages.php,v $
* Revision 1.4 2008-08-25 15:25:47 alexandre_tb
* optimisation et gestion du cache
*
* Revision 1.3 2008-06-09 10:05:28 alexandre_tb
* Ajout de la gestion du cache
* dependance avec Cache_Lite
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
?>