X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Faxletter.php;h=7c8c936e7678b4c091c65b2b6117fe8eb14545cc;hb=295d4c48a12e49274135d9f781862a45e5b8c5dc;hp=89f6ab045ef0bf17220bf0a60b9545dbf06e77cc;hpb=a7de4ef724d1a3b0bf978a50ce7cc9d23412c7a0;p=platal.git diff --git a/modules/axletter.php b/modules/axletter.php index 89f6ab0..7c8c936 100644 --- a/modules/axletter.php +++ b/modules/axletter.php @@ -34,7 +34,7 @@ class AXLetterModule extends PLModule ); } - function handler_out(&$page, $hash) + function handler_out(&$page, $hash = null) { if (!$hash) { if (!S::logged()) { @@ -62,6 +62,8 @@ class AXLetterModule extends PLModule $perm = AXLetter::hasPerms(); if ($perm) { + $res = XDB::query("SELECT * FROM axletter_ins"); + $page->assign('count', $res->numRows()); $page->assign('new', AXLetter::awaiting()); } $page->assign('axs', AXLetter::subscriptionState()); @@ -155,6 +157,32 @@ class AXLetterModule extends PLModule SET id = {?}, shortname = {?}, subject = {?}, title = {?}, body = {?}, signature = {?}, promo_min = {?}, promo_max = {?}, echeance = {?}", $id, $shortname, $subject, $title, $body, $signature, $promo_min, $promo_max, $echeance); + if (!$saved) { + $mailer = new PlMailer(); + $mailer->setFrom("support@" . $globals->mail->domain); + $mailer->setSubject("Un nouveau projet de mail de l'AX vient d'être proposé"); + $mailer->setTxtBody("Un nouveau mail vient d'être rédigé en prévision d'un envoi prochain. Vous pouvez " + . "le modifier jusqu'à ce qu'il soit verrouillé pour l'envoi\n\n" + . "Le sujet du mail : $subject\n" + . "L'échéance d'envoi est fixée à $echeance.\n" + . "Le mail pourra néanmoins partir avant cette échéance si un administrateur de " + . "Polytechnique.org le valide.\n\n" + . "Pour modifier, valider ou annuler le mail :\n" + . "https://www.polytechnique.org/ax/edit\n" + . "-- \n" + . "Association Polytechnique.org\n"); + $res = XDB::iterRow("SELECT IF(u.nom_usage != '', u.nom_usage, u.nom) AS nom, + u.prenom, a.alias AS bestalias + FROM axletter_rights AS ar + INNER JOIN auth_user_md5 AS u USING(user_id) + INNER JOIN aliases AS a ON (u.user_id = a.id + AND FIND_IN_SET('bestalias', a.flags))"); + global $globals; + while (list($nom, $prenom, $alias) = $res->next()) { + $mailer->addTo("$nom $prenom <$alias@{$globals->mail->domain}>"); + } + $mailer->send(); + } $saved = true; $echeance_date = null; $echeance_time = null; @@ -179,23 +207,6 @@ class AXLetterModule extends PLModule if (!$saved) { $select = ''; - $time = time() + 3600 * 24 * 2; - for ($i = 0 ; $i < 15 ; $i++) { - $time += 3600 * 24; - $p_stamp = date('Ymd', $time); - $year = date('Y', $time); - $month = date('m', $time); - $day = date('d', $time); - - if ($p_stamp == $echeance_date) { - $sel = ' selected="selected"'; - } else { - $sel = ''; - } - $select .= "\n"; - } - $page->assign('echeance_date', $select); - $select = ''; for ($i = 0 ; $i < 24 ; $i++) { $stamp = sprintf('%02d:00:00', $i); if ($stamp == $echeance_time) { @@ -206,7 +217,7 @@ class AXLetterModule extends PLModule $select .= "\n"; } $page->assign('echeance_time', $select); - } + } } function handler_cancel(&$page, $force = null) @@ -308,11 +319,11 @@ class AXLetterModule extends PLModule INNER JOIN auth_user_md5 AS u USING(user_id) INNER JOIN aliases AS a ON (u.user_id = a.id AND a.type = 'a_vie')"); $page->assign('admins', $res); - + $importer = new CSVImporter('axletter_ins'); $importer->registerFunction('user_id', 'email vers Id X.org', array($this, 'idFromMail')); $importer->forceValue('hash', array($this, 'createHash')); - $importer->apply($page, "admin/axletter", array('user_id', 'email', 'prenom', 'nom', 'promo', 'hash')); + $importer->apply($page, "admin/axletter", array('user_id', 'email', 'prenom', 'nom', 'promo', 'flag', 'hash')); } function idFromMail($line, $key) @@ -333,7 +344,7 @@ class AXLetterModule extends PLModule $user = $email; $domain = $globals->mail->domain2; } else { - list($user, $domain) = explode('@', $email); + list($user, $domain) = explode('@', $email); } if ($domain != $globals->mail->domain && $domain != $globals->mail->domain2 && $domain != $globals->mail->alias_dom && $domain != $globals->mail->alias_dom2) {