forked from Wavyzz/dolibarr
Subscription to ML can also be done according to member type
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/mailmanspip.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||
|
||||
$langs->load("admin");
|
||||
$langs->load("members");
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/mailmanspip.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
|
||||
|
||||
$langs->load("admin");
|
||||
$langs->load("members");
|
||||
|
||||
@@ -1082,6 +1082,7 @@ function form_constantes($tableau,$strictw3c=0)
|
||||
print '<div id="example3" class="hidden">';
|
||||
print 'mymailmanlist<br>';
|
||||
print 'mymailmanlist1,mymailmanlist2<br>';
|
||||
print 'TYPE:Type1:mymailmanlist1,TYPE:Type2:mymailmanlist2<br>';
|
||||
if ($conf->categorie->enabled) print 'CATEG:Categ1:mymailmanlist1,CATEG:Categ2:mymailmanlist2<br>';
|
||||
print '</div>';
|
||||
//print 'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members/remove?adminpw=%MAILMAN_ADMINPW%&unsubscribees=%EMAIL%';
|
||||
|
||||
@@ -395,17 +395,22 @@ class MailmanSpip
|
||||
|
||||
foreach ($lists as $list)
|
||||
{
|
||||
// Filter on type something (ADHERENT_MAILMAN_LISTS = "filtervalue:mailinglist1,filtervalue2:mailinglist2,mailinglist3")
|
||||
$tmp=explode(':',$list);
|
||||
if (! empty($tmp[1]))
|
||||
{
|
||||
$list=$tmp[1];
|
||||
if ($object->element == 'member' && $object->type != $tmp[1]) // Filter on member type label
|
||||
{
|
||||
dol_syslog("We ignore list ".$list." because object member type ".$object->type." does not match ".$tmp[0], LOG_DEBUG);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
// Filter on type something (ADHERENT_MAILMAN_LISTS = "mailinglist0,TYPE:typevalue:mailinglist1,CATEG:categvalue:mailinglist2")
|
||||
$tmp=explode(':',$list);
|
||||
if (! empty($tmp[2]))
|
||||
{
|
||||
$list=$tmp[2];
|
||||
if ($object->element == 'member' && $tmp[0] == 'TYPE' && $object->type != $tmp[1]) // Filter on member type label
|
||||
{
|
||||
dol_syslog("We ignore list ".$list." because object member type ".$object->type." does not match ".$tmp[1], LOG_DEBUG);
|
||||
continue;
|
||||
}
|
||||
if ($object->element == 'member' && $tmp[0] == 'CATEG' && ! in_array($tmp[1], $categstatic->containing($object->id, 'member', 'label'))) // Filter on member category
|
||||
{
|
||||
dol_syslog("We ignore list ".$list." because object member is not into category ".$tmp[1], LOG_DEBUG);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
//We call Mailman to unsubscribe the user
|
||||
$result = $this->callMailman($object, $conf->global->ADHERENT_MAILMAN_UNSUB_URL, $list);
|
||||
|
||||
Reference in New Issue
Block a user