Moving to GitHub.
[platal.git] / modules / platal.php
index baa18b1..1772921 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2011 Polytechnique.org                              *
+ *  Copyright (C) 2003-2014 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -59,6 +59,8 @@ class PlatalModule extends PLModule
             'exit'              => $this->make_hook('exit',         AUTH_PUBLIC),
             'review'            => $this->make_hook('review',       AUTH_PUBLIC),
             'deconnexion.php'   => $this->make_hook('exit',         AUTH_PUBLIC),
+
+            'error'             => $this->make_hook('test_error',   AUTH_COOKIE),
         );
     }
 
@@ -370,9 +372,14 @@ class PlatalModule extends PLModule
         $mymail->setFrom('"Gestion des mots de passe" <support+password@' . $globals->mail->domain . '>');
         if (is_null($to)) {
             $mymail->addTo($user);
-            $mymail->addTo($inactives_to);
+            $log_to = $user->bestEmail();
+            if (!is_null($inactives_to)) {
+                $log_to = $inactives_to . ', ' . $log_to;
+                $mymail->addTo($inactives_to);
+            }
         } else {
             $mymail->addTo($to);
+            $log_to = $to;
         }
         $mymail->setSubject("Ton certificat d'authentification");
         $mymail->setTxtBody("Visite la page suivante qui expire dans six heures :
@@ -388,7 +395,7 @@ Email envoyé à ".Env::v('login') . (is_null($to) ? '' : '
 Adresse de secours : ' . $to));
         $mymail->send();
 
-        S::logger($user->id())->log('recovery', is_null($to) ? $inactives_to . ', ' . $user->bestEmail() : $to);
+        S::logger($user->id())->log('recovery', $log_to);
     }
 
     function handler_recovery_ext($page)
@@ -605,7 +612,16 @@ Adresse de secours : ' . $to));
         }
         $wiz->apply($page, 'review', $action, $mode);
     }
+
+    function handler_test_error($page, $mode = null)
+    {
+        if ($mode == 'js') {
+            $page->changeTpl('platal/error.tpl');
+        } else {
+            throw new Exception("Blih");
+        }
+    }
 }
 
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
 ?>