synchronization does not work with mailman interface customizations
vitalie - July 21, 2009 - 17:19
| Project: | User mailman register |
| Version: | 6.x-2.0 |
| Component: | Code |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | duplicate |
Jump to:
Description
Synchronization with mailman does not work.
Line 1005 of the module file says:
if (preg_match('/INPUT name="'. $str_email .'_unsub" type="CHECKBOX"/i', $httpreq->data)) {
The version of mailmain I use is 2.1.9. There is no _unsub input element on that page. If this line is changed to _nomail for example, then it works.

#1
Uhm, i'm just using mailman 2.1.9 on my production site, that input element is in the page and it referes to the "unsubscribe" checkobox (the first one on the member row).
What's the input element name on your mailman membership list page that refers to the above action?
Did you set the correct mailman version option in the URM list configuration?
Check also that the URM subscription form status is viewed after the "Mailman connection interval" threshold is reached or it'll be not updated.
#2
I double checked, the first checkbox is mod. Here is the row (I have omitted some real data):
<tr>
<td><a href="http://.../cgi-bin/mailman/options/testlist/my--at--email">my@email</a><br><INPUT name="my@email_realname" type="TEXT" value="" size="26" ><INPUT name="user" type="HIDDEN" value="" ></td>
<td><center><INPUT name="my@email_mod" type="CHECKBOX" value="off" ></center></td>
<td><center><INPUT name="my@email_hide" type="CHECKBOX" value="off" ></center></td>
<td><center><INPUT name="my@email_nomail" type="CHECKBOX" value="off" ></center></td>
<td><center><INPUT name="my@email_ack" type="CHECKBOX" value="off" ></center></td>
<td><center><INPUT name="my@email_notmetoo" type="CHECKBOX" value="off" ></center></td>
<td><center><INPUT name="my@email_nodupes" type="CHECKBOX" value="on" CHECKED ></center></td>
<td><center><INPUT name="my@email_digest" type="CHECKBOX" value="off" ></center></td>
<td><center><INPUT name="my@email_plain" type="CHECKBOX" value="on" CHECKED ></center></td>
<td><center>
<Select name="my@email_language">
<option value="en" Selected> English (USA) </option>
<option value="es"> Spanish (Spain) </option>
<option value="fr"> French </option>
<option value="pt"> Portuguese </option>
<option value="pt_BR"> Portuguese (Brazil) </option>
</Select></center></td>
</tr>
Yes, the version is correct. I am not a full admin of the Mailman ... I thought maybe the unsubscribe option is disabled as part of the configuration of the list???
As far as I understand that 'if' is just to see if the row exists altogether. Maybe it is safer to use _realname?
P.S. I have drupal_messaged $httpreq->data to see that there is no _unsub, but certainly there is a row. As a result I get unsubscribed status in mailman_users table, which is not fair :).
#3
I have found out that the _unsub checkbox was taken out on purpose in the installation of Mailman I was referring to. I am sorry I have bothered. I guess it is fair that status of this issue should be set to "won't fix".
#4
No problem.
Your suggestion to check for the "_realname" checkbox instead of the "_unsub" checkbox seems reasonable and also more compatible with a case like yours.
However, before to create a patch, i'd like to know how this option was removed from mailman web interfaces. Manual editing the mailman core files or another "more friendly" way?
#5
Thank you.
It was manual editing I am afraid (in 2004!), so looking up _unsub is as reasonable as any other. This option was taken out to prevent unsubscriptions in Mailman. I think we will put it back as it was so the present code will work very well as it is. It might be quite unlikely that the same case will happen to others. But I let you decide.
#6
#597618: Working with modified Mailman authentication could be a start point for a more flexible UMR which would permit to work with mailman customization.