d814854bab0ef6dc93de827c749d864a92fd5037
[platal.git] / bin / cron / cron_xnet_accounts.php
1 #!/usr/bin/php5 -q
2 <?php
3 /***************************************************************************
4 * Copyright (C) 2003-2014 Polytechnique.org *
5 * http://opensource.polytechnique.org/ *
6 * *
7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with this program; if not, write to the Free Software *
19 * Foundation, Inc., *
20 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
21 ***************************************************************************/
22
23 require_once 'connect.db.inc.php';
24 require_once 'plmailer.php';
25 $limit = 60;
26
27 $users = XDB::fetchAllAssoc('SELECT a.uid, a.hruid, r.hash, r.group_name, r.sender_name, r.email
28 FROM register_pending_xnet AS r
29 INNER JOIN accounts AS a ON (r.uid = a.uid)
30 WHERE a.state = \'disabled\'
31 ORDER BY r.date, a.uid');
32
33 $mailer = new PlMailer('xnet/account.mail.tpl');
34 $mailer->addCc('validation+xnet_account@polytechnique.org');
35
36 $i = 0;
37 foreach ($users as $user) {
38 $mailer->setTo($user['email']);
39 $mailer->assign('hash', $user['hash']);
40 $mailer->assign('email', $user['email']);
41 $mailer->assign('group', $user['group_name']);
42 $mailer->assign('sender_name', $user['sender_name']);
43 $mailer->assign('again', false);
44 $mailer->assign('baseurl', Platal::globals()->baseurl);
45 $mailer->send();
46
47 XDB::execute('UPDATE accounts
48 SET state = \'pending\'
49 WHERE uid = {?}',
50 $user['uid']);
51
52 if ($i == $limit) {
53 $i = 0;
54 sleep(60);
55 } else {
56 ++$i;
57 }
58 }
59
60
61 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
62 ?>