Moving to GitHub.
[platal.git] / classes / xorg.php
index ec7aee9..362bf78 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   *
@@ -23,12 +23,41 @@ class Xorg extends Platal
 {
     public function __construct()
     {
-        parent::__construct('auth', 'carnet', 'email', 'events', 'forums',
-                            'lists', 'marketing', 'payment', 'platal',
-                            'profile', 'register', 'search', 'stats', 'admin',
-                            'newsletter', 'axletter', 'epletter', 'bandeau', 'survey',
-                            'fusionax', 'gadgets', 'googleapps', 'poison',
-                            'openid', 'reminder', 'api', 'urlshortener', 'deltaten', 'geoloc');
+        parent::__construct(
+            'auth',
+
+            'admin',
+            'api',
+            'axletter',
+            'bandeau',
+            'carnet',
+            'comletter',
+            'deltaten',
+            'email',
+            'epletter',
+            'events',
+            'forums',
+            'fusionax',
+            'fxletter',
+            'gadgets',
+            'geoloc',
+            'googleapps',
+            'lists',
+            'marketing',
+            'newsletter',
+            'openid',
+            'payment',
+            'platal',
+            'poison',
+            'profile',
+            'register',
+            'reminder',
+            'search',
+            'sharingapi',
+            'stats',
+            'survey',
+            'urlshortener'
+        );
     }
 
     public function find_hook()
@@ -50,7 +79,32 @@ class Xorg extends Platal
         $page->assign_by_ref('platal', $this);
         $page->run();
     }
+
+    public function setup_raven()
+    {
+        $sentry_dsn = self::globals()->core->sentry_dsn;
+
+        if (strlen($sentry_dsn) == 0) {
+            return null;
+        }
+
+        require_once('raven/lib/Raven/Autoloader.php');
+
+        Raven_Autoloader::register();
+
+        return new Raven_Client($sentry_dsn);
+    }
+
+    protected function report_error($error)
+    {
+        parent::report_error($error);
+
+        $raven = $this->setup_raven();
+        if ($raven != null) {
+            $raven->captureException($error);
+        }
+    }
 }
 
-// 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:
 ?>