#!/usr/bin/php5 -q
<?php
/***************************************************************************
- * Copyright (C) 2003-2008 Polytechnique.org *
+ * Copyright (C) 2003-2010 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-require_once('./connect.db.inc.php');
-require_once('../../classes/plmailer.php');
-require_once("../../include/notifs.inc.php");
+require_once 'connect.db.inc.php';
+require_once 'plmailer.php';
+require_once 'notifs.inc.php';
+ini_set('memory_limit', '128M');
-$all = new AllNotifs();
+$uids = XDB::query('SELECT uid
+ FROM watch
+ WHERE FIND_IN_SET(\'mail\', flags)
+ ORDER BY uid');
+$iterator = User::iterOverUIDs($uids->fetchColumn());
-$mailer = new PlMailer('carnet/notif.mail.tpl');
-foreach ($all->_data as $u) {
- $mailer = new PlMailer('carnet/notif.mail.tpl');
- $mailer->assign('u', $u);
- $mailer->assign('week', date("W - Y"));
- $mailer->assign('cats', $all->_cats);
- $mailer->addTo('"' . $u['prenom'] . ' ' . $u['nom'] . '" <' . $u['bestalias'] . '@polytechnique.org>');
- $mailer->send($u['mail_fmt'] == 'html');
+while($user = $iterator->next()) {
+ $watch = new Watch($user);
+ if ($watch->count() > 0) {
+ $notifs = $watch->events();
+ $mailer = new PlMailer('carnet/notif.mail.tpl');
+ $mailer->assign('sex', $user->isFemale());
+ $mailer->assign('yourself', $user->display_name);
+ $mailer->assign('week', date('W - Y'));
+ $mailer->assign('notifs', $notifs);
+ $mailer->sendTo($user);
+ unset($mailer);
+ unset($notifs);
+ }
+ unset($watch);
+ unset($user);
}
-XDB::execute("DELETE FROM watch_profile
- WHERE ts < DATE_SUB(CURRENT_DATE, INTERVAL 15 DAY)");
+XDB::execute("UPDATE watch_profile
+ SET ts = NOW()
+ WHERE field = 'broken'");
+XDB::execute('DELETE FROM watch_profile
+ WHERE ts < DATE_SUB(CURRENT_DATE, INTERVAL 15 DAY)');
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>