<?php
/***************************************************************************
- * Copyright (C) 2003-2013 Polytechnique.org *
+ * Copyright (C) 2003-2014 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
$users = array_keys(Env::v('add_users'));
$former_users = XDB::fetchColumn('SELECT uid
FROM group_former_members
- WHERE remember = TRUE AND uid IN {?}',
- $users);
+ WHERE remember = TRUE AND asso_id = {?} AND uid IN {?}',
+ $globals->asso('id'), $users);
$new_users = array_diff($users, $former_users);
foreach ($former_users as $uid) {
$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')) {
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);
}
}
$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() . '>');
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);
break;
}
}
- http_redirect($_SERVER['HTTP_REFERER']);
+ if (!empty($_SERVER['HTTP_REFERER'])) {
+ http_redirect($_SERVER['HTTP_REFERER']);
+ } else {
+ pl_redirect('');
+ }
}
function handler_admin_annuaire($page)
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'));
$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;
}
}
-// 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:
?>