summaryrefslogtreecommitdiffstats
path: root/includes/HybridAuth/Error.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/HybridAuth/Error.php')
-rw-r--r--includes/HybridAuth/Error.php84
1 files changed, 84 insertions, 0 deletions
diff --git a/includes/HybridAuth/Error.php b/includes/HybridAuth/Error.php
new file mode 100644
index 0000000..d8349b0
--- /dev/null
+++ b/includes/HybridAuth/Error.php
@@ -0,0 +1,84 @@
+<?php
+/*!
+* HybridAuth
+* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
+* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
+*/
+
+/**
+ * Errors manager
+ *
+ * HybridAuth errors are stored in Hybrid::storage() and not displayed directly to the end user
+ */
+class Hybrid_Error
+{
+ /**
+ * store error in session
+ */
+ public static function setError( $message, $code = NULL, $trace = NULL, $previous = NULL )
+ {
+ Hybrid_Logger::info( "Enter Hybrid_Error::setError( $message )" );
+
+ Hybrid_Auth::storage()->set( "hauth_session.error.status" , 1 );
+ Hybrid_Auth::storage()->set( "hauth_session.error.message" , $message );
+ Hybrid_Auth::storage()->set( "hauth_session.error.code" , $code );
+ Hybrid_Auth::storage()->set( "hauth_session.error.trace" , $trace );
+ Hybrid_Auth::storage()->set( "hauth_session.error.previous", $previous );
+ }
+
+ /**
+ * clear the last error
+ */
+ public static function clearError()
+ {
+ Hybrid_Logger::info( "Enter Hybrid_Error::clearError()" );
+
+ Hybrid_Auth::storage()->delete( "hauth_session.error.status" );
+ Hybrid_Auth::storage()->delete( "hauth_session.error.message" );
+ Hybrid_Auth::storage()->delete( "hauth_session.error.code" );
+ Hybrid_Auth::storage()->delete( "hauth_session.error.trace" );
+ Hybrid_Auth::storage()->delete( "hauth_session.error.previous" );
+ }
+
+ /**
+ * Checks to see if there is a an error.
+ *
+ * @return boolean True if there is an error.
+ */
+ public static function hasError()
+ {
+ return (bool) Hybrid_Auth::storage()->get( "hauth_session.error.status" );
+ }
+
+ /**
+ * return error message
+ */
+ public static function getErrorMessage()
+ {
+ return Hybrid_Auth::storage()->get( "hauth_session.error.message" );
+ }
+
+ /**
+ * return error code
+ */
+ public static function getErrorCode()
+ {
+ return Hybrid_Auth::storage()->get( "hauth_session.error.code" );
+ }
+
+ /**
+ * return string detailled error backtrace as string.
+ */
+ public static function getErrorTrace()
+ {
+ return Hybrid_Auth::storage()->get( "hauth_session.error.trace" );
+ }
+
+ /**
+ * @return string detailled error backtrace as string.
+ */
+ public static function getErrorPrevious()
+ {
+ return Hybrid_Auth::storage()->get( "hauth_session.error.previous" );
+ }
+}