Commit | Line | Data |
---|---|---|
0337d704 | 1 | <?php |
2 | /*************************************************************************** | |
12262f13 | 3 | * Copyright (C) 2003-2011 Polytechnique.org * |
0337d704 | 4 | * http://opensource.polytechnique.org/ * |
5 | * * | |
6 | * This program is free software; you can redistribute it and/or modify * | |
7 | * it under the terms of the GNU General Public License as published by * | |
8 | * the Free Software Foundation; either version 2 of the License, or * | |
9 | * (at your option) any later version. * | |
10 | * * | |
11 | * This program is distributed in the hope that it will be useful, * | |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * | |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | |
14 | * GNU General Public License for more details. * | |
15 | * * | |
16 | * You should have received a copy of the GNU General Public License * | |
17 | * along with this program; if not, write to the Free Software * | |
18 | * Foundation, Inc., * | |
19 | * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * | |
20 | ***************************************************************************/ | |
21 | ||
26ba053e | 22 | function select_if_homonyme(PlUser $user) { |
191711d5 FB |
23 | return XDB::fetchOneCell("SELECT a.alias |
24 | FROM aliases AS a | |
fe13bc1d | 25 | WHERE a.uid = {?} AND a.expire != ''", |
191711d5 | 26 | $user->id()); |
0337d704 | 27 | } |
28 | ||
26ba053e | 29 | function send_warning_homonyme(PlUser $user, $loginbis) { |
361a5c15 | 30 | global $globals; |
1d55fe45 | 31 | $cc = "support+homonyme@" . $globals->mail->domain; |
0337d704 | 32 | $FROM = "\"Support Polytechnique.org\" <$cc>"; |
1e33266a | 33 | $mymail = new PlMailer(); |
0337d704 | 34 | $mymail->setFrom($FROM); |
0337d704 | 35 | $mymail->addCc($cc); |
191711d5 | 36 | $mymail->setSubject("Dans 2 semaines, suppression de $loginbis@" . $globals->mail->domain); |
5e2307dc | 37 | $mymail->setTxtBody(Env::v('mailbody')); |
191711d5 | 38 | $mymail->sendTo($user); |
0337d704 | 39 | } |
40 | ||
26ba053e | 41 | function send_robot_homonyme(PlUser $user, $loginbis) { |
361a5c15 | 42 | global $globals; |
1d55fe45 | 43 | $cc = "support+homonyme@" . $globals->mail->domain; |
0337d704 | 44 | $FROM = "\"Support Polytechnique.org\" <$cc>"; |
1e33266a | 45 | $mymail = new PlMailer(); |
0337d704 | 46 | $mymail->setFrom($FROM); |
1d55fe45 | 47 | $mymail->setSubject("Mise en place du robot $loginbis@" . $globals->mail->domain); |
0337d704 | 48 | $mymail->addCc($cc); |
5e2307dc | 49 | $mymail->setTxtBody(Env::v('mailbody')); |
191711d5 | 50 | $mymail->sendTo($user); |
0337d704 | 51 | } |
52 | ||
26ba053e | 53 | function switch_bestalias(PlUser $user, $loginbis) { |
0337d704 | 54 | // check if loginbis was the bestalias |
191711d5 FB |
55 | $bestailas = XDB::fetchOneCell("SELECT alias |
56 | FROM aliases | |
fe13bc1d | 57 | WHERE uid = {?} AND FIND_IN_SET('bestalias', flags)", |
191711d5 FB |
58 | $user->id()); |
59 | if ($bestalias && $bestalias != $loginbis) { | |
60 | return false; | |
61 | } | |
eaf30d86 | 62 | |
0337d704 | 63 | // select the shortest alias still alive |
191711d5 FB |
64 | $newbest = XDB::fetchOneCell("SELECT alias |
65 | FROM aliases | |
fe13bc1d | 66 | WHERE uid = {?} AND alias != {?} AND expire IS NULL |
191711d5 FB |
67 | ORDER BY LENGTH(alias) |
68 | LIMIT 1", $user->id(), $loginbis); | |
0337d704 | 69 | // change the bestalias flag |
191711d5 FB |
70 | XDB::execute("UPDATE aliases |
71 | SET flags = (flags & (255 - 1)) | IF(alias = {?}, 1, 0) | |
fe13bc1d | 72 | WHERE uid = {?}", $newbest, $user->id()); |
0337d704 | 73 | return $newbest; |
74 | } | |
75 | ||
a7de4ef7 | 76 | // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: |
0337d704 | 77 | ?> |