X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fmarketing.php;h=894497b259def75e265eb61492483477720617c2;hb=1f53925a716bf5cb97ed624a6787a8319eb2bcff;hp=7ae45ad5024a6272a1f22390e5317f38a6b0c097;hpb=5e2307dcebc38ebb0ffe469967a377eb3baed571;p=platal.git diff --git a/modules/marketing.php b/modules/marketing.php index 7ae45ad..894497b 100644 --- a/modules/marketing.php +++ b/modules/marketing.php @@ -32,6 +32,7 @@ class MarketingModule extends PLModule 'marketing/private' => $this->make_hook('private', AUTH_MDP, 'admin'), 'marketing/public' => $this->make_hook('public', AUTH_COOKIE), + 'marketing/broken' => $this->make_hook('broken', AUTH_COOKIE), ); } @@ -124,7 +125,7 @@ class MarketingModule extends PLModule require_once('marketing.inc.php'); mark_send_mail($uid, $value, Post::v('from'), Post::v('to'), Post::v('title'), Post::v('message')); - $page->trig("Mail envoyé"); + $page->trig("Mail envoyé"); } if ($action == 'insrel') { @@ -152,12 +153,54 @@ class MarketingModule extends PLModule $res = XDB::query("SELECT date, relance FROM register_pending WHERE uid = {?}", $uid); - if (list($pending, $relance) = $res->fetchOneCell()) { + if (list($pending, $relance) = $res->fetchOneRow()) { $page->assign('pending', $pending); $page->assign('relance', $relance); } } + function handler_broken(&$page, $uid = null) + { + require_once('user.func.inc.php'); + $page->changeTpl('marketing/broken.tpl'); + + if (is_null($uid)) { + return PL_NOT_FOUND; + } + $forlife = get_user_forlife($uid); + if (!$forlife) { + return PL_NOT_FOUND; + } elseif ($forlife == S::v('forlife')) { + pl_redirect('emails/redirect'); + } + + $res = Xdb::query("SELECT u.nom, u.prenom, u.promo, a.alias AS forlife + FROM auth_user_md5 AS u + INNER JOIN aliases AS a ON a.id = u.user_id + WHERE a.alias = {?}", $forlife); + if (!$res->numRows()) { + return PL_NOT_FOUND; + } + $user = $res->fetchOneAssoc(); + $page->assign('user', $user); + + $email = trim(Post::v('mail')); + if (Post::has('valide') && strlen($email) > 0) { + $mailer = new PlMailer(); + $mailer->setFrom(S::v('bestalias') . '@polytechnique.org'); + $mailer->addTo('resetpass@polytechnique.org'); + $mailer->setSubject("Proposition d'adresse mail pour " . $user['forlife']); + + $message = S::v('nom') . ' ' . S::v('prenom') . ' (X' . S::v('promo') . ') ' + . 'propose l\'adresse suivante pour un camarade qui n\'a plus de ' + . 'redirections actives :' . "\n\n" + . '* ' . $user['forlife'] . ' => ' . $email . "\n"; + $mailer->setTxtBody(wordwrap($message, 78)); + $mailer->send(); + $page->assign('sent', true); + } + } + function handler_promo(&$page, $promo = null) { $page->changeTpl('marketing/promo.tpl'); @@ -271,7 +314,7 @@ class MarketingModule extends PLModule $sent = Array(); foreach (array_keys($_POST['relance']) as $uid) { if ($tmp = relance($uid, $nbdix)) { - $sent[] = $tmp.' a été relancé'; + $sent[] = $tmp.' a été relancé'; } } $page->assign('sent', $sent);