19,7 → 19,7 |
// | 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: ezmlm-parser.php,v 1.3 2007-04-19 15:34:35 neiluj Exp $ |
// CVS : $Id: ezmlm-parser.php,v 1.4 2008-08-25 15:20:54 alexandre_tb Exp $ |
/** |
* Application projet |
* |
29,7 → 29,7 |
//Auteur original : ?? recupere dans ezmlm-php |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.3 $ |
*@version $Revision: 1.4 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
38,7 → 38,7 |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
|
// $Id: ezmlm-parser.php,v 1.3 2007-04-19 15:34:35 neiluj Exp $ |
// $Id: ezmlm-parser.php,v 1.4 2008-08-25 15:20:54 alexandre_tb Exp $ |
// |
|
require_once("ezmlm.php"); |
87,17 → 87,10 |
$repertoire_archive = opendir($this->listdir . "/archive/"); |
|
$repertoire_message = array() ; |
$dernier_repertoire = 0 ; |
while (false !== ($item = readdir($repertoire_archive))) { |
// $item contient les noms des repertoires |
// on ne garde que ceux qui sont des chiffres |
|
if (preg_match('/[0-9]+/', $item)) { |
// on ouvre le fichier d index de chaque repertoire |
if ((int) $item > $dernier_repertoire) $dernier_repertoire = (int) $item; |
$numArchive = $this->getNumArchive(); |
$dernier_repertoire = floor($numArchive / 100); |
|
} |
} |
$tableau_message = array() ; |
$compteur_message = 0 ; |
$fichier_index = fopen ($this->listdir.'/archive/'.$dernier_repertoire.'/index', 'r') ; |
160,6 → 153,73 |
} |
|
|
/** |
* num_msg_lest_week renvoie le nombre de messages echanges la derniere semaine |
* |
* @return int un entier |
* @access public |
*/ |
function num_msg_last_week() { |
|
$repertoire_archive = opendir($this->listdir . "/archive/"); |
|
$repertoire_message = array() ; |
$dernier_repertoire = 0 ; |
|
|
// Recherche du dernier repertorie |
while (false !== ($item = readdir($repertoire_archive))) { |
// $item contient les noms des repertoires |
// on ne garde que ceux qui sont des chiffres |
|
if (preg_match('/[0-9]+/', $item)) { |
// on ouvre le fichier d index de chaque repertoire |
if ((int) $item > $dernier_repertoire) $dernier_repertoire = (int) $item; |
|
} |
} |
$tableau_date = array() ; |
$tableau_final = array(); |
$compteur_message = '0' ; |
|
while ($dernier_repertoire != -1) { |
if (!file_exists($this->listdir.'/archive/'.$dernier_repertoire.'/index')) return '0'; |
|
// Si le fichier index est vide, c'est probable que la liste soit nouvelle, |
// on retourne 0 |
if (filesize($this->listdir.'/archive/'.$dernier_repertoire.'/index') == 0) return '0'; |
|
$fichier_index = fopen ($this->listdir.'/archive/'.$dernier_repertoire.'/index', 'r') ; |
|
while (!feof($fichier_index)) { |
// Recuperation du numero de message, du hash du sujet et du sujet |
$temp = fgets($fichier_index, 4096); |
preg_match('/([0-9]+): ([a-z]+) (.*)/', $temp, $match) ; |
|
// dans la seconde on recupere la date, hash auteur et auteur |
$temp = fgets($fichier_index, 4096); |
preg_match('/\t([0-9]+) ([a-zA-Z][a-zA-Z][a-zA-Z]) ([0-9][0-9][0-9][0-9]) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9]) ([^;]+);([^ ]*) (.*)/', $temp, $match_deuxieme_ligne) ; |
if ($match[1] != '') { |
$date = $match_deuxieme_ligne[1].' '.$match_deuxieme_ligne[2].' '.$match_deuxieme_ligne[3].' '.$match_deuxieme_ligne[4]; |
|
$tableau_date[] = $date; |
} |
} |
fclose ($fichier_index); |
$tableau_date = array_reverse($tableau_date); |
foreach ($tableau_date as $date) { |
|
if (strtotime ($date) > time() - 7 * 24 * 60 *60) { |
$tableau_final[] = $date; |
$compteur_message++; |
} else { |
return $compteur_message; |
} |
} |
$dernier_repertoire--; |
} |
} |
|
// parse_file - opens a file and feeds the data to parse, file can be relative to the listdir |
function parse_file($file,$simple = FALSE) { |
if (!is_file($file)) { |