$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:
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-function __autoload($cls)
+function xorg_autoload($cls)
{
if (!pl_autoload($cls)) {
$cls = strtolower($cls);
if (substr($cls, 0, 4) == 'ufc_' || substr($cls, 0, 4) == 'ufo_' || $cls == 'profilefilter' || $cls == 'userfiltercondition' || $cls == 'userfilterorder') {
- __autoload('userfilter');
+ xorg_autoload('userfilter');
return;
} else if (substr($cls, 0, 4) == 'pfc_'
|| substr($cls, 0, 4) == 'pfo_'
|| substr($cls, 0, 8) == 'plfilter') {
- __autoload('plfilter');
+ xorg_autoload('plfilter');
return;
} else if (substr($cls, 0, 3) == 'de_') {
- __autoload('direnum');
+ xorg_autoload('direnum');
return;
} else if ($cls == 'validate' || substr($cls, -3, 3) == 'req'
|| substr($cls, -8, 8) == 'validate' || substr($cls, 0, 8) == 'validate') {
require_once 'banana/hooks.inc.php';
Banana::load(substr($cls, 6));
return;
+ } else if (substr($cls, 0, 5) == 'raven') {
+ // Handled by Raven autoloader.
+ return;
}
include "$cls.inc.php";
}
}
+function __autoload($cls)
+{
+ return xorg_autoload($cls);
+}
+
+spl_autoload_register('xorg_autoload');
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>
'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),
);
}
}
$wiz->apply($page, 'review', $action, $mode);
}
+
+ function handler_test_error($page)
+ {
+ throw new Exception("Blih");
+ }
}
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: