X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fxnetgrp.php;h=53ebb12429ecbce7c0cd9afcf72f23d5c5b70f02;hb=1aff3b59c0f46dafe3396c1123a252645805e233;hp=872a180fda29bda94694a7a4b112112c5d21114c;hpb=85e4dd49b58eb30cba55efc1b6590dedca6d2d69;p=platal.git diff --git a/modules/xnetgrp.php b/modules/xnetgrp.php index 872a180..53ebb12 100644 --- a/modules/xnetgrp.php +++ b/modules/xnetgrp.php @@ -1,6 +1,6 @@ asso('id'), $users); $new_users = array_diff($users, $former_users); foreach ($former_users as $uid) { @@ -514,10 +514,8 @@ class XnetGrpModule extends PLModule $data = array(); foreach ($new_users as $uid) { - $data[] = XDB::format('({?}, {?})', $globals->asso('id'), $uid); + Group::subscribe($globals->asso('id'), $uid); } - XDB::rawExecute('INSERT INTO group_members (asso_id, uid) - VALUES ' . implode(',', $data)); } if (Env::has('add_nonusers')) { @@ -552,9 +550,7 @@ class XnetGrpModule extends PLModule VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, \'xnet\', \'disabled\')', $hruid, $display_name, $full_name, $directory_name, $sort_name, $firstname, $lastname, $email); $uid = XDB::insertId(); - XDB::execute('INSERT INTO group_members (asso_id, uid) - VALUES ({?}, {?})', - $globals->asso('id'), $uid); + Group::subscribe($globals->asso('id'), $uid); } } @@ -729,7 +725,7 @@ class XnetGrpModule extends PLModule $this->removeSubscriptionRequest($user->id()); Group::subscribe($globals->asso('id'), $user->id()); - if (XDB::affectedRows() == 1) { + if (XDB::affectedRows() == 1 && $user->forlifeEmail()) { $mailer = new PlMailer(); $mailer->addTo($user->forlifeEmail()); $mailer->setFrom('"' . S::user()->fullName() . '" <' . S::user()->forlifeEmail() . '>'); @@ -792,12 +788,14 @@ class XnetGrpModule extends PLModule S::assert_xsrf_token(); $this->removeSubscriptionRequest($user->id()); - $mailer = new PlMailer(); - $mailer->addTo($user->forlifeEmail()); - $mailer->setFrom('"' . S::user()->fullName() . '" <' . S::user()->forlifeEmail() . '>'); - $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription annulée'); - $mailer->setTxtBody(Env::v('motif')); - $mailer->send(); + if ($user->forlifeEmail()) { + $mailer = new PlMailer(); + $mailer->addTo($user->forlifeEmail()); + $mailer->setFrom('"' . S::user()->fullName() . '" <' . S::user()->forlifeEmail() . '>'); + $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription annulée'); + $mailer->setTxtBody(Env::v('motif')); + $mailer->send(); + } $page->killSuccess("La demande de {$user->fullName()} a bien été refusée."); } else { $page->assign('show_form', true); @@ -922,7 +920,11 @@ class XnetGrpModule extends PLModule break; } } - http_redirect($_SERVER['HTTP_REFERER']); + if (!empty($_SERVER['HTTP_REFERER'])) { + http_redirect($_SERVER['HTTP_REFERER']); + } else { + pl_redirect(''); + } } function handler_admin_annuaire($page) @@ -1083,7 +1085,7 @@ class XnetGrpModule extends PLModule Group::subscribe($globals->asso('id'), $user->id()); $this->removeSubscriptionRequest($user->id()); - if ($user->isActive()) { + if ($user->isActive() && $user->bestEmail()) { $mailer = new PlMailer('xnetgrp/forced-subscription.mail.tpl'); $mailer->addTo($user->bestEmail()); $mailer->assign('group', $globals->asso('nom')); @@ -1224,6 +1226,11 @@ class XnetGrpModule extends PLModule $mailer->send(); } + $nl = Newsletter::forGroup($globals->asso('shortname')); + if (!is_null($nl)) { + $nl->unsubscribe(null, S::i('uid')); + } + $domain = $globals->asso('mail_domain'); if (!$domain) { return true; @@ -1781,5 +1788,5 @@ class XnetGrpModule extends PLModule } } -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>