From f652418863182182bb17e0f378194a8648392410 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 29 Aug 2008 13:40:12 -0400 Subject: [PATCH] harmonize csrf and queues darcs-hash:20080829174012-84dde-4859ce0a34a50080f8376fa3278c3aa3e3a3046d.gz --- lib/util.php | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/lib/util.php b/lib/util.php index a98697af61..496c6f3d2c 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1480,3 +1480,34 @@ function common_canonical_sms($sms) { preg_replace('/\D/', '', $sms); return $sms; } + +function common_error_handler($errno, $errstr, $errfile, $errline, $errcontext) { + switch ($errno) { + case E_USER_ERROR: + echo "ERROR: [$errno] $errstr ($errfile:$errline)\n"; + echo " Fatal error on line $errline in file $errfile"; + echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")\n"; + echo "Aborting...\n"; + exit(1); + break; + + case E_USER_WARNING: + echo "WARNING [$errno] $errstr ($errfile:$errline)\n"; + break; + + case E_USER_NOTICE: + echo "NOTICE [$errno] $errstr ($errfile:$errline)\n"; + break; + } + + /* Don't execute PHP internal error handler */ + return true; +} + +function common_session_token() { + common_ensure_session(); + if (!array_key_exists('token', $_SESSION)) { + $_SESSION['token'] = common_good_rand(64); + } + return $_SESSION['token']; +}