Moving to GitHub.
[platal.git] / classes / xorg.php
index 2c7e2d2..362bf78 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2014 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
 
 class Xorg extends Platal
 {
-    public function force_login(PlPage &$page)
+    public function __construct()
+    {
+        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()
+    {
+        if ($this->path{0} >= 'A' && $this->path{0} <= 'Z') {
+            return self::wiki_hook();
+        }
+        return parent::find_hook();
+    }
+
+    public function force_login(PlPage $page)
     {
         header($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden');
         if (S::logged()) {
             $page->changeTpl('core/password_prompt_logged.tpl');
-            $page->addJsLink('do_challenge_response_logged.js');
         } else {
             $page->changeTpl('core/password_prompt.tpl');
-            $page->addJsLink('do_challenge_response.js');
         }
         $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:
 ?>