#####################################################################
# Module : News.hsm
# Description : Version amputée et modifiée de BMessage.hsm
# Fonctions de traitement des articles sortants
# Auteur BMessage.hsm : Brina <HamsterFR@Free.fr>
# Auteur News.hsm : Olivier Zolli <ozolli@online.fr>
# Version : 27/01/01
#####################################################################
# Chargement des modules nécessaires.
# Ces modules sont livrés avec la version française de Hamster.
# Attention : La ligne qui suit n'est pas un commentaire !
#!load BStrings.hsm
#!load BMsgHeader.hsm
#!load BFichierTexte.hsm
# Procédure d'initialisation du module
# Attention : La ligne qui suit n'est pas un commentaire !
#!initialize
debug(255,"<<< module News.hsm' >>>")
return(0)
#####################################################################
# Subroutine modifiant les entêtes de tous les articles sortants
# [Entrée] : Aucune
# [Sortie] : Aucune
#####################################################################
# Début de la fonction
Sub EnteteNews
# Déclaration des variables
Var($i,$msg,$ContenuMsg,$nb_msg,$subject,$FichierMsg_i,$mid)
# la liste $msg contient le nom des fichiers de courrier contenus
# dans le répertoire Groups\News.out\
$nb_msg=ListeFichiers_DsRep($msg,HamPath+"Groups\News.Out\","msg")-1
# Initialisation de la liste $ContenuMsg
# liste non ordonnée, doublons possibles
$ContenuMsg=ListAlloc
# Boucle non-conditionnelle For ... EndFor
For($i,0,$nb_msg,1)
# Récupération du nom d'un fichier de message "$i.msg"
$FichierMsg_i=ListGet($msg,$i)
print($fichierMsg_i)
# Mise du contenu du fichier "$FichierMsg_i" dans liste $ContenuMsg
# $ContenuMsg est préalablement vidée
ListClear($ContenuMsg)
ListLoad($ContenuMsg,$FichierMsg_i)
# Conversion des caractères 8bits en 7bits dans sujet des articles
# que l'on envoie
$Subject=ChaineConvert8_7bit(MsgGetHeader($ContenuMsg,"Subject:"))
MsgChangeHeader($ContenuMsg,"Subject:",$Subject)
# Modification du Message-ID : Remplacement de la partie qui
# commence par @ avec @Olivier.jp3
$mid=MsgGetHeader($ContenuMsg,"Message-ID:")
$mid=replace($mid,copy($mid,pos("@",$mid)),"@Olivier.jp3>")
MsgChangeHeader($ContenuMsg,"Message-ID:",$mid)
# Retourne contenu de la liste $ContenuMsg dans le fichier "$i.msg"
ListSave($ContenuMsg,$FichierMsg_i)
# Fin de la boucle non-conditionnelle
EndFor
# Libération de la liste en mémoire
ListFree($ContenuMsg)
# Fin de la fonction
endsub
|