Commit | Line | Data |
---|---|---|
ee68ddc1 | 1 | #!/usr/bin/php5 -q |
0337d704 | 2 | <?php |
3 | /*************************************************************************** | |
8d84c630 | 4 | * Copyright (C) 2003-2009 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 | /* vim: set sw=4 ts=4 sts=4 tw=100: | |
a7de4ef7 | 23 | * vérifie qu'il n'y a pas de validations en cours, et maile si c'est le cas |
eaf30d86 | 24 | */ |
0337d704 | 25 | |
a7de4ef7 | 26 | $M_PERIOD = "INTERVAL 3 HOUR"; // période d'envoi des mails de 3h |
27 | $R_PERIOD = "INTERVAL 6 HOUR"; // période de réponse moyenne de 6h | |
0337d704 | 28 | |
d5500c18 | 29 | require('connect.db.inc.php'); |
7903a47a | 30 | require('plmailer.php'); |
0337d704 | 31 | |
816d3bd0 FB |
32 | $res = XDB::query("SELECT count(r.stamp), UNIX_TIMESTAMP(MIN(r.stamp)), |
33 | sum(r.stamp < NOW() - $M_PERIOD), sum(r.stamp < NOW() - $R_PERIOD) | |
34 | FROM x4dat.requests AS r"); | |
35 | list($nb, $age, $nbold, $nbveryold) = $res->fetchOneRow(); | |
36 | ||
37 | $age = (time() - intval($age)) / 86400; | |
38 | $head = ""; | |
39 | if ($age > 15) { | |
354adb18 | 40 | $head = "[Autodestruction du serveur] "; |
816d3bd0 | 41 | } elseif ($age > 7) { |
354adb18 | 42 | $head = "[Armageddon imminent] "; |
816d3bd0 | 43 | } elseif ($age > 5) { |
354adb18 | 44 | $head = "[Guerre nucléaire] "; |
816d3bd0 FB |
45 | } elseif ($age > 3) { |
46 | $head = "[ET Téléphone maison] "; | |
47 | } elseif ($age > 1) { | |
354adb18 | 48 | $head = "[Réveil !] "; |
816d3bd0 | 49 | } elseif (!empty($nbveryold)) { |
354adb18 | 50 | $head = "[Urgent] "; |
816d3bd0 FB |
51 | } |
52 | ||
0337d704 | 53 | |
54 | if (empty($nb)) { | |
55 | exit; | |
56 | } | |
57 | ||
19f558ad | 58 | $plural = $nb == 1 ? "" : "s"; |
59 | ||
1e33266a | 60 | $mymail = new PlMailer(); |
1d55fe45 | 61 | $mymail->setFrom('validation@' . $globals->mail->domain); |
62 | $mymail->addTo("validation@" . $globals->mail->domain); | |
354adb18 | 63 | $mymail->setSubject($head . "Il y a $nb validation$plural non effectuée$plural"); |
0337d704 | 64 | |
65 | $message = | |
354adb18 | 66 | "Il y a $nb validation$plural à effectuer\n" |
0337d704 | 67 | .(empty($nbold)?"":"dont $nbold depuis le dernier mail !!!\n") |
19f558ad | 68 | .(empty($nbveryold)?"":"et dont *$nbveryold* ".($nbveryold == 1 ? "est" : "sont")." en retard de plus de 6h !!!") |
0337d704 | 69 | ."\n" |
9243a284 | 70 | ."https://www.polytechnique.org/admin/validate\n\n" |
71 | ."Par catégorie :\n"; | |
72 | $res = XDB::iterRow("SELECT type, count(*) | |
73 | FROM x4dat.requests | |
74 | GROUP BY type | |
75 | ORDER BY type"); | |
76 | while (list($type, $nb) = $res->next()) { | |
354adb18 | 77 | $message .= "- $type : $nb\n"; |
9243a284 | 78 | } |
0337d704 | 79 | |
eaf30d86 | 80 | $message = wordwrap($message,78); |
0337d704 | 81 | $mymail->setTxtBody($message); |
82 | $mymail->send(); | |
a7de4ef7 | 83 | // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: |
0337d704 | 84 | ?> |