summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-08-29 13:40:12 -0400
committerEvan Prodromou <evan@prodromou.name>2008-08-29 13:40:12 -0400
commitf652418863182182bb17e0f378194a8648392410 (patch)
tree15060e4127b9cfe2b1820b08717a4f8080c678d5
parent00c4fb215756031e7506c38940b1f83aea718e8e (diff)
harmonize csrf and queues
darcs-hash:20080829174012-84dde-4859ce0a34a50080f8376fa3278c3aa3e3a3046d.gz
-rw-r--r--lib/util.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/util.php b/lib/util.php
index a98697af6..496c6f3d2 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'];
+}