Many improvements in Watch object: try to reuse as much as possible
[platal.git] / bin / cron / notifs.send.php
CommitLineData
ee68ddc1 1#!/usr/bin/php5 -q
0337d704 2<?php
3/***************************************************************************
9f5bd98e 4 * Copyright (C) 2003-2010 Polytechnique.org *
0337d704 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
5ecaa68e
SJ
23require_once 'connect.db.inc.php';
24require_once 'plmailer.php';
25require_once 'notifs.inc.php';
0337d704 26
0afc098b
SJ
27$uids = XDB::query('SELECT uid
28 FROM watch
29 WHERE FIND_IN_SET(\'mail\', flags)
30 ORDER BY uid');
31$iterator = User::iterOverUIDs($uids->fetchColumn());
0337d704 32
b71f7275 33$mailer = new PlMailer('carnet/notif.mail.tpl');
0afc098b
SJ
34while($user = $iterator->next()) {
35 if (Watch::getCount($user) > 0) {
36 $notifs = Watch::getEvents($user, time() - (7 * 86400));
37 $mailer->assign('sex', $user->profile()->isFemale());
38 $mailer->assign('yourself', $user->profile()->yourself);
39 $mailer->assign('week', date('W - Y'));
40 $mailer->assign('notifs', $notifs);
41 $mailer->addTo('"' . $user->full_name . '" <' . $user->bestalias . '>');
42 $mailer->send($user->email_format == 'html');
43 unset($notifs);
44 }
45 unset($user);
0337d704 46}
47
ae6cd633
SJ
48XDB::execute("UPDATE watch_profile
49 SET ts = NOW()
50 WHERE field = 'broken'");
51XDB::execute('DELETE FROM watch_profile
52 WHERE ts < DATE_SUB(CURRENT_DATE, INTERVAL 15 DAY)');
87691841 53
a7de4ef7 54// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
0337d704 55?>