summaryrefslogtreecommitdiff
path: root/demos/time-tracker/protected/App_Code/TrackerAuthManager.php
diff options
context:
space:
mode:
Diffstat (limited to 'demos/time-tracker/protected/App_Code/TrackerAuthManager.php')
-rw-r--r--demos/time-tracker/protected/App_Code/TrackerAuthManager.php168
1 files changed, 84 insertions, 84 deletions
diff --git a/demos/time-tracker/protected/App_Code/TrackerAuthManager.php b/demos/time-tracker/protected/App_Code/TrackerAuthManager.php
index 989fcc54..ea6b5aab 100644
--- a/demos/time-tracker/protected/App_Code/TrackerAuthManager.php
+++ b/demos/time-tracker/protected/App_Code/TrackerAuthManager.php
@@ -1,85 +1,85 @@
-<?php
-/**
- * Custom Authentication manager permits authentication using
- * a string token saved in the cookie.
- *
- * @author Wei Zhuo <weizhuo[at]gmail[dot]com>
- * @version $Id$
- * @package Demos
- * @since 3.1
- */
-class TrackerAuthManager extends TAuthManager
-{
- /**
- * @const string signon token cookie name.
- */
- const SignonCookieName = 'time-tracker-signon';
-
- /**
- * Performs the real authentication work. Overrides and calls parent
- * implementation. Trys to authenticate using token saved in cookie.
- * @param mixed parameter to be passed to OnAuthenticate event
- */
- public function onAuthenticate($param)
- {
- parent::onAuthenticate($param);
- $currentUser = $this->Application->User;
- if(!$currentUser || $currentUser->IsGuest)
- $this->authenticateFromCookie($param);
- }
-
- /**
- * If the user is not set or is still a guest, try to authenticate the user
- * using a string token saved in the cookie if any.
- * @param mixed parameter to be passed to OnAuthenticate event
- */
- protected function authenticateFromCookie($param)
- {
- $cookie = $this->Request->Cookies[self::SignonCookieName];
- if(!is_null($cookie))
- {
- $daos = $this->getApplication()->getModule('daos');
- $userDao = $daos->getDao('UserDao');
- $user = $userDao->validateSignon($cookie->Value);
- if($user instanceof TimeTrackerUser)
- $this->updateCredential($user);
- }
- }
-
- /**
- * Changes the user credentials.
- * @param TUser new user details.
- */
- public function updateCredential($user)
- {
- $user->IsGuest = false;
- $this->updateSessionUser($user);
- $this->Application->User = $user;
- }
-
- /**
- * Generate a token to be saved in the cookie for later authentication.
- * @param TimeTrackerUser user details.
- */
- public function rememberSignon($user)
- {
- $daos = $this->getApplication()->getModule('daos');
- $userDao = $daos->getDao('UserDao');
- $token = $userDao->createSignonToken($user);
- $cookie = new THttpCookie(self::SignonCookieName, $token);
- $cookie->Expire = strtotime('+1 month');
- $this->Response->Cookies[] = $cookie;
- }
-
- /**
- * Logs out the user and delete the token from cookie.
- */
- public function logout()
- {
- parent::logout();
- $cookie = new THttpCookie(self::SignonCookieName,'');
- $this->Response->Cookies[] = $cookie;
- }
-}
-
+<?php
+/**
+ * Custom Authentication manager permits authentication using
+ * a string token saved in the cookie.
+ *
+ * @author Wei Zhuo <weizhuo[at]gmail[dot]com>
+ * @version $Id$
+ * @package Demos
+ * @since 3.1
+ */
+class TrackerAuthManager extends TAuthManager
+{
+ /**
+ * @const string signon token cookie name.
+ */
+ const SignonCookieName = 'time-tracker-signon';
+
+ /**
+ * Performs the real authentication work. Overrides and calls parent
+ * implementation. Trys to authenticate using token saved in cookie.
+ * @param mixed parameter to be passed to OnAuthenticate event
+ */
+ public function onAuthenticate($param)
+ {
+ parent::onAuthenticate($param);
+ $currentUser = $this->Application->User;
+ if(!$currentUser || $currentUser->IsGuest)
+ $this->authenticateFromCookie($param);
+ }
+
+ /**
+ * If the user is not set or is still a guest, try to authenticate the user
+ * using a string token saved in the cookie if any.
+ * @param mixed parameter to be passed to OnAuthenticate event
+ */
+ protected function authenticateFromCookie($param)
+ {
+ $cookie = $this->Request->Cookies[self::SignonCookieName];
+ if(!is_null($cookie))
+ {
+ $daos = $this->getApplication()->getModule('daos');
+ $userDao = $daos->getDao('UserDao');
+ $user = $userDao->validateSignon($cookie->Value);
+ if($user instanceof TimeTrackerUser)
+ $this->updateCredential($user);
+ }
+ }
+
+ /**
+ * Changes the user credentials.
+ * @param TUser new user details.
+ */
+ public function updateCredential($user)
+ {
+ $user->IsGuest = false;
+ $this->updateSessionUser($user);
+ $this->Application->User = $user;
+ }
+
+ /**
+ * Generate a token to be saved in the cookie for later authentication.
+ * @param TimeTrackerUser user details.
+ */
+ public function rememberSignon($user)
+ {
+ $daos = $this->getApplication()->getModule('daos');
+ $userDao = $daos->getDao('UserDao');
+ $token = $userDao->createSignonToken($user);
+ $cookie = new THttpCookie(self::SignonCookieName, $token);
+ $cookie->Expire = strtotime('+1 month');
+ $this->Response->Cookies[] = $cookie;
+ }
+
+ /**
+ * Logs out the user and delete the token from cookie.
+ */
+ public function logout()
+ {
+ parent::logout();
+ $cookie = new THttpCookie(self::SignonCookieName,'');
+ $this->Response->Cookies[] = $cookie;
+ }
+}
+
?> \ No newline at end of file