Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Mode de réception des messages

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Pierre-Olivier TERRISSE <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Mode de réception des messages
  • Date: Tue, 09 Apr 2013 15:04:27 +0200

Le 09/04/2013 11:49, David Verdin a écrit :
adresse@cachée">
Le 09/04/13 11:22, Pierre-Olivier TERRISSE a écrit :
adresse@cachée">
Bonjour,
Le cas d'usage : la demande vient d'un doyen d'UFR qui souhaite pouvoir 
communiquer avec certaines catégories de personnels de son UFR, automatiquement 
abonnés dans des listes diffusion, sans pour autant recevoir les échanges entre 
les membres de ces listes, qui veulent discuter librement entre eux. Le mode 
"nomail" suffirait mais ce doyen voudrait être certain que son message a bien 
été transmis, donc par exemple recevoir ses propres messages.
J'ai développé une modification du code afin d'ajouter un mode de réception 
supplémentaire "only_me". Il est possible de reverser le patch à la communauté 
Sympa si tu penses que cela peut être utile.
Bien sûr ! Ça nous intéresse. tu peux nous envoyer le patch sur cette liste, si tu veux, on verra comment on peut l'intégrer.
Voici donc le patch en attachement. Il est basé sur Sympa 6.1.17.
Il contient une tentative de localisation du nom du nouveau mode de réception ("only me") mais infructueuse. Il reste sans doute à compiler les fichiers .po. Dans la version que j'utilise à l'Université de Nantes le fichier wwslib.pm contient le nom du mode de réception qui est directement traduit en français.
Pierre-Olivier.
diff -rupN sympa-6.1.17-origine/po/en.po sympa-6.1.17-only_me//po/en.po
--- sympa-6.1.17-origine/po/en.po	2013-02-05 15:04:17.000000000 +0100
+++ sympa-6.1.17-only_me//po/en.po	2013-04-09 14:36:04.976426046 +0200
@@ -9868,6 +9868,10 @@ msgstr "no mail (useful for vacations)"
 msgid "you do not receive your own posts"
 msgstr "not receiving your own posts"
 
+#: ../wwsympa/wwslib.pm:37
+msgid "only me"
+msgstr "receiving only your own posts"
+
 # rtb
 #~ msgid "%1: unknown list"
 #~ msgstr "%1: unknown list"
diff -rupN sympa-6.1.17-origine/po/fr.po sympa-6.1.17-only_me//po/fr.po
--- sympa-6.1.17-origine/po/fr.po	2013-02-05 15:05:07.000000000 +0100
+++ sympa-6.1.17-only_me//po/fr.po	2013-04-09 14:35:13.976426466 +0200
@@ -10070,6 +10070,10 @@ msgstr "interrompre la réception des me
 msgid "you do not receive your own posts"
 msgstr "Ne pas recevoir mes propres messages"
 
+#: ../wwsympa/wwslib.pm:38
+msgid "only me"
+msgstr "Ne recevoir que mes propres messages"
+
 #~ msgid "The automatic lists are based on the $1 family"
 #~ msgstr "Les listes automatiques sont fondées sur la famille $1"
 
diff -rupN sympa-6.1.17-origine/po-wwsympa/en.po sympa-6.1.17-only_me//po-wwsympa/en.po
--- sympa-6.1.17-origine/po-wwsympa/en.po	2013-02-05 15:04:17.000000000 +0100
+++ sympa-6.1.17-only_me//po-wwsympa/en.po	2013-04-09 14:16:28.301255740 +0200
@@ -1356,6 +1356,14 @@ msgstr ""
 "<strong>you do not receive your own posts</strong>: this mode allows you not "
 "to receive a copy of your own messages."
 
+#: ../web_tt2/help_user.tt2:114
+msgid ""
+"<strong>only me</strong>: you receive only "
+"your own messages."
+msgstr ""
+"<strong>only me</strong>: you receive only "
+"your own messages."
+
 #: ../web_tt2/help_user.tt2:115
 msgid ""
 "<strong>standard (direct reception)</strong>: this mode is the default "
diff -rupN sympa-6.1.17-origine/po-wwsympa/fr.po sympa-6.1.17-only_me//po-wwsympa/fr.po
--- sympa-6.1.17-origine/po-wwsympa/fr.po	2013-02-05 15:04:17.000000000 +0100
+++ sympa-6.1.17-only_me//po-wwsympa/fr.po	2013-04-09 14:15:11.921256369 +0200
@@ -1413,6 +1413,14 @@ msgstr ""
 "<strong>Pour ne pas recevoir ses propres messages</strong>&#160;: ce mode "
 "permet de ne pas recevoir une copie de ses propres messages."
 
+#: ../web_tt2/help_user.tt2:114
+msgid ""
+"<strong>only me</strong>: you receive only "
+"your own messages."
+msgstr ""
+"<strong>seulement mes messages</strong>&#160;: ce mode "
+"permet de ne recevoir que ses propres messages."
+
 #: ../web_tt2/help_user.tt2:115
 msgid ""
 "<strong>standard (direct reception)</strong>: this mode is the default "
diff -rupN sympa-6.1.17-origine/src/lib/List.pm sympa-6.1.17-only_me//src/lib/List.pm
--- sympa-6.1.17-origine/src/lib/List.pm	2012-10-01 10:18:34.000000000 +0200
+++ sympa-6.1.17-only_me//src/lib/List.pm	2013-04-09 14:12:28.241257717 +0200
@@ -349,10 +349,10 @@ my %alias = ('reply-to' => 'reply_to',
 				    'gettext_id' => "Archive encrypted mails as cleartext",
 				    'group' => 'archives'
 				    },
-           'available_user_options' => {'format' => {'reception' => {'format' => ['mail','notice','digest','digestplain','summary','nomail','txt','html','urlize','not_me'],
+           'available_user_options' => {'format' => {'reception' => {'format' => ['mail','notice','digest','digestplain','summary','nomail','txt','html','urlize','not_me','only_me'],
 								     'occurrence' => '1-n',
 								     'split_char' => ',',
-								     'default' => 'mail,notice,digest,digestplain,summary,nomail,txt,html,urlize,not_me',
+								     'default' => 'mail,notice,digest,digestplain,summary,nomail,txt,html,urlize,not_me','only_me',
 								     'gettext_id' => "reception mode"
 								     },
 						     },
@@ -527,7 +527,7 @@ my %alias = ('reply-to' => 'reply_to',
 			      'group' => 'other'
 			      },			      
 
-            'default_user_options' => {'format' => {'reception' => {'format' => ['digest','digestplain','mail','nomail','summary','notice','txt','html','urlize','not_me'],
+            'default_user_options' => {'format' => {'reception' => {'format' => ['digest','digestplain','mail','nomail','summary','notice','txt','html','urlize','not_me','only_me'],
 								    'default' => 'mail',
 								    'gettext_id' => "reception mode",
 								    'order' => 1
@@ -3191,6 +3191,7 @@ sub send_msg {
     foreach my $email (@sender_hdr) {
 	$sender_hash{lc($email->address)} = 1;
     }
+    $sender_hash{lc($message->{'sender'})} = 1;
    
     unless ($total > 0) {
 	&do_log('info', 'No subscriber in list %s', $name);
@@ -3243,6 +3244,17 @@ sub send_msg {
 	    }
 	    if ($user->{'reception'} =~ /^(digest|digestplain|summary|nomail)$/i) {
 		next;
+            } elsif ($user->{'reception'} eq 'only_me') {
+                if ($sender_hash{$user->{'email'}}) {
+                        &do_log('debug', 'only_me for %s in list %s, not skipping', $user->{'email'},$name);
+                        if ($user->{'bounce_address'}) {
+                                push @tabrcpt_verp, $user->{'email'};
+                        }else{
+                                push @tabrcpt, $user->{'email'};
+                        }
+                } else {
+                        &do_log('debug', 'only_me for %s in list %s,skipping', $user->{'email'},$name);
+                }
 	    } elsif ($user->{'reception'} eq 'notice') {
 		if ($user->{'bounce_address'}) {
 		    push @tabrcpt_notice_verp, $user->{'email'}; 
@@ -7870,7 +7882,7 @@ sub _load_users_file {
 	$user{'gecos'} = $1 if (/^\s*gecos\s+(.+)\s*$/om);
 	$user{'date'} = $1 if (/^\s*date\s+(\d+)\s*$/om);
 	$user{'update_date'} = $1 if (/^\s*update_date\s+(\d+)\s*$/om);
-	$user{'reception'} = $1 if (/^\s*reception\s+(digest|nomail|summary|notice|txt|html|urlize|not_me)\s*$/om);
+	$user{'reception'} = $1 if (/^\s*reception\s+(digest|nomail|summary|notice|txt|html|urlize|not_me|only_me)\s*$/om);
 	$user{'visibility'} = $1 if (/^\s*visibility\s+(conceal|noconceal)\s*$/om);
 
 	push @users, \%user;
@@ -11631,7 +11643,7 @@ sub modifying_msg_topic_for_subscribers(
 # select_subscribers_for_topic
 ####################################################
 # Select users subscribed to a topic that is in
-# the topic list incoming when reception mode is 'mail', 'notice', 'not_me', 'txt', 'html' or 'urlize', and the other
+# the topic list incoming when reception mode is 'mail', 'notice', 'not_me', 'only_me', 'txt', 'html' or 'urlize', and the other
 # subscribers (recpetion mode different from 'mail'), 'mail' and no topic subscription
 # 
 # IN : -$self(+) : ref(List)
@@ -11659,7 +11671,7 @@ sub select_subscribers_for_topic {
 	# user topic
 	my $info_user = $self->get_subscriber($user);
 
-	if ($info_user->{'reception'} !~ /^(mail|notice|not_me|txt|html|urlize)$/i) {
+	if ($info_user->{'reception'} !~ /^(mail|notice|not_me|only_me|txt|html|urlize)$/i) {
 	    push @selected_users,$user;
 	    next;
 	}
diff -rupN sympa-6.1.17-origine/wwsympa/wwslib.pm sympa-6.1.17-only_me//wwsympa/wwslib.pm
--- sympa-6.1.17-origine/wwsympa/wwslib.pm	2012-07-05 16:39:53.000000000 +0200
+++ sympa-6.1.17-only_me//wwsympa/wwslib.pm	2013-04-09 14:12:15.901257819 +0200
@@ -34,7 +34,8 @@ use Sympa::Constants;
 		   'html'=> {'gettext_id' => 'html-only mode'},
 		   'urlize' => {'gettext_id' => 'urlize mode'},
 		   'nomail' => {'gettext_id' => 'no mail (useful for vacations)'},
-		   'not_me' => {'gettext_id' => 'you do not receive your own posts'}
+		   'not_me' => {'gettext_id' => 'you do not receive your own posts'},
+		   'only_me' => {'gettext_id' => 'only me'}
 		   );
 
 ## Cookie expiration periods with corresponding entry in NLS
Les fichiers binaires sympa-6.1.17-origine/wwsympa/.wwslib.pm.swp et sympa-6.1.17-only_me//wwsympa/.wwslib.pm.swp sont différents.



Archives gérées par MHonArc 2.6.19+.

Haut de le page