Uses MailNotFound exception unknown axletters.
authorStéphane Jacob <jacou@melix.net>
Wed, 21 Jan 2009 12:41:05 +0000 (13:41 +0100)
committerStéphane Jacob <jacou@melix.net>
Wed, 21 Jan 2009 12:41:05 +0000 (13:41 +0100)
modules/axletter.php
modules/axletter/axletter.inc.php

index 96a5e38..805f238 100644 (file)
@@ -268,16 +268,20 @@ class AXLetterModule extends PLModule
         $this->load('axletter.inc.php');
         $page->changeTpl('axletter/show.tpl');
 
-        $nl  = new AXLetter($nid);
-        if (Get::has('text')) {
-            $nl->toText($page, S::v('prenom'), S::v('nom'), S::v('femme'));
-        } else {
-            $nl->toHtml($page, S::v('prenom'), S::v('nom'), S::v('femme'));
-        }
-        if (Post::has('send')) {
-            $nl->sendTo(S::user()->login(), S::user()->bestEmail(),
-                        S::v('prenom'), S::v('nom'),
-                        S::v('femme'), S::v('mail_fmt') != 'texte');
+        try {
+            $nl = new AXLetter($nid);
+            if (Get::has('text')) {
+                $nl->toText($page, S::v('prenom'), S::v('nom'), S::v('femme'));
+            } else {
+                $nl->toHtml($page, S::v('prenom'), S::v('nom'), S::v('femme'));
+            }
+            if (Post::has('send')) {
+                $nl->sendTo(S::user()->login(), S::user()->bestEmail(),
+                            S::v('prenom'), S::v('nom'),
+                            S::v('femme'), S::v('mail_fmt') != 'texte');
+            }
+        } catch (MailNotFound $e) {
+            return PL_NOT_FOUND;
         }
     }
 
index f8d843f..385365e 100644 (file)
@@ -48,8 +48,7 @@ class AXLetter extends MassMailer
                                     WHERE  id = {?} OR short_name = {?}", $id, $id);
             }
             if (!$res->numRows()) {
-                $this->_id = null;
-                return;
+                throw new MailNotFound();
             }
             $id = $res->fetchOneRow();
         }