15,7 → 15,7 |
} |
function display() { |
|
if (!is_dir($this->listdir.'/archive/0')) { // On teste si il y a au moins un message, cad le r�pertoire 0 |
if (!is_dir($this->listdir.'/archive/0')) { // On teste si il y a au moins un message, cad le répertoire 0 |
echo $this->listdir.'/archive/0' ; |
|
return false ; |
46,7 → 46,7 |
} |
|
|
function show_recentmsgs($title = "Messages r�cents") { |
function show_recentmsgs($title = "Messages récents") { |
|
if (!is_dir($this->listdir.'/archive/0')) return false; |
|
130,7 → 130,7 |
$class = array ('ligne_paire', 'ligne_impaire') ; |
|
if(count($numeros_mails_mois) > 0) { |
$repertoire_premier_mail = (int) ($numeros_mails_mois[0] / 100) ; |
$repertoire_premier_mail = (int) (reset($numeros_mails_mois) / 100) ; |
} |
|
foreach ($numeros_mails_mois as $num_message) { |
175,8 → 175,9 |
$html .= "</tr>\n"; |
$ctc++; |
if ($ctc == 2) { $ctc = 0; } |
} |
} |
} |
|
$html .= '</table>'."\n"; |
|
return $html; |
184,67 → 185,51 |
|
private function calculerNumMessagesDansMois($mois) { |
|
/* Pour le calcul du nombre de message par mois |
* 1 => ouvrir fichier /archive/threads/yyyymm qui contient les sujets abordés dans le mois |
* 2 => pour chaque ligne: |
* a => extraire l'id du du premier message (1er nombre de la ligne) |
* b => extraire l'id du sujet et ouvrir le fichier concerné dans /archive/subjects/ |
* b1 => pour chaque ligne du fichier des sujets extraire les id des messages concernés |
* s'ils sont dans le mois demandé |
*/ |
|
// étape 1 |
$fd = file_get_contents($this->listdir . '/archive/threads/'.$mois, 'r'); |
$fd = file_get_contents($this->listdir . '/archive/threads/'.$mois, 'r'); |
$fichier = explode ("\n", $fd) ; |
|
$premiere_ligne = $fichier[0] ; |
|
$nb_lignes_fichier = count($fichier); |
$nb_lignes_fichier = count($fichier); |
|
$lignes_messages = array(); |
$lignes_messages = array(); |
|
preg_match ('/[0-9]+/', $premiere_ligne, $match) ; |
$numero_premier_mail = $match[0] ; |
|
$lignes_messages[$numero_premier_mail] = $numero_premier_mail; |
$lignes_messages[$numero_premier_mail] = $numero_premier_mail; |
|
// étape 2 |
foreach($fichier as $ligne) { |
|
if(trim($ligne == '')) { continue ;} |
// Une ligne du fichier mois se présente comme ceci |
//numero_premier_message_sujet:md5_sujet [nb_messages_sujet] titre_sujet |
|
// étape 2 a |
$ligne_tableau = explode(' ', $ligne); |
$num_mail_sujet = explode(':',$ligne_tableau[0]); |
$num_sujet = $num_mail_sujet[1]; |
|
// étape 2 b |
$fd_sujet = file_get_contents($this->listdir.'/archive/subjects/'.substr($num_sujet,0,2).'/'.substr($num_sujet,2,strlen($num_sujet) - 1), 'r'); |
$premiere_ligne = true; |
|
$fichier_sujet = explode ("\n", $fd_sujet) ; |
// La première ligne d'un fichier de sujet se présente ainsi |
// md5_sujet titre_sujet |
// Les lignes suivante sont de la forme : |
// id_message:yyyymm:id_message_fichier_index nom_expediteur |
foreach($fichier_sujet as $ligne_sujet) { |
if($premiere_ligne || trim($ligne_sujet) == '') {$premiere_ligne = false; continue; } |
|
// étape 2 b b1 |
$ligne_tableau_sujet = explode(':', $ligne_sujet); |
$num_mail = $ligne_tableau_sujet[0]; |
$mois_ligne = $ligne_tableau_sujet[1]; |
if($mois_ligne == $mois) { |
$lignes_messages[$num_mail] = $num_mail; |
} |
} |
} |
foreach($fichier as $ligne) { |
|
// Tri sur les id de message pour les avoir par ordre d'arrivée |
asort($lignes_messages); |
return $lignes_messages; |
if(trim($ligne == '')) { continue ;} |
|
$ligne_tableau = explode(' ', $ligne); |
$num_mail_sujet = explode(':',$ligne_tableau[0]); |
$num_sujet = $num_mail_sujet[1]; |
|
$fd_sujet = file_get_contents($this->listdir.'/archive/subjects/'.substr($num_sujet,0,2).'/'.substr($num_sujet,2,strlen($num_sujet) - 1), 'r'); |
$premiere_ligne = true; |
|
$fichier_sujet = explode ("\n", $fd_sujet) ; |
foreach($fichier_sujet as $ligne_sujet) { |
|
if($premiere_ligne || trim($ligne_sujet) == '') {$premiere_ligne = false; continue; } |
$ligne_tableau_sujet = explode(':', $ligne_sujet); |
$num_mail = $ligne_tableau_sujet[0]; |
$mois_ligne = $ligne_tableau_sujet[1]; |
if($mois_ligne == $mois) { |
if(is_numeric($num_mail)) { |
$lignes_messages[$num_mail] = $num_mail; |
} else { |
$num_mail = preg_replace('/[^0-9]+/','', $num_mail) ; |
$lignes_messages[$num_mail] = $num_mail; |
} |
} |
} |
} |
|
asort($lignes_messages); |
return $lignes_messages; |
} |
} |
?> |