From 0da331cb45cf202bf7fbd519c8d65f5956c85b2b Mon Sep 17 00:00:00 2001 From: jrags <> Date: Wed, 21 Feb 2007 16:31:50 +0000 Subject: Converted BlogDataModule Record classes to use active record, also changed the data module to load the database into the active record handler --- .../protected/App_Modules/BlogUserManager.php | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 demos/activeblog/protected/App_Modules/BlogUserManager.php (limited to 'demos/activeblog/protected/App_Modules/BlogUserManager.php') diff --git a/demos/activeblog/protected/App_Modules/BlogUserManager.php b/demos/activeblog/protected/App_Modules/BlogUserManager.php new file mode 100644 index 00000000..370966ef --- /dev/null +++ b/demos/activeblog/protected/App_Modules/BlogUserManager.php @@ -0,0 +1,73 @@ + + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2006 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Id: BlogUserManager.php 1398 2006-09-08 19:31:03Z xue $ + */ + +Prado::using('System.Security.IUserManager'); +Prado::using('Application.Common.BlogUser'); + +/** + * BlogUserManager class + * + * @author Qiang Xue + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2006 PradoSoft + * @license http://www.pradosoft.com/license/ + */ +class BlogUserManager extends TModule implements IUserManager +{ + public function getGuestName() + { + return 'Guest'; + } + + /** + * Returns a user instance given the user name. + * @param string user name, null if it is a guest. + * @return TUser the user instance, null if the specified username is not in the user database. + */ + public function getUser($username=null) + { + if($username===null) + return new BlogUser($this); + else + { + $username=strtolower($username); + $db=$this->Application->getModule('data'); + if(($userRecord=$db->queryUserByName($username))!==null) + { + $user=new BlogUser($this); + $user->setID($userRecord->ID); + $user->setName($username); + $user->setIsGuest(false); + $user->setRoles($userRecord->Role===UserRecord::ROLE_USER?'user':'admin'); + return $user; + } + else + return null; + } + } + + /** + * Validates if the username and password are correct. + * @param string user name + * @param string password + * @return boolean true if validation is successful, false otherwise. + */ + public function validateUser($username,$password) + { + $db=$this->Application->getModule('data'); + if(($userRecord=$db->queryUserByName($username))!==null) + return $userRecord->Password===md5($password) && $userRecord->Status===UserRecord::STATUS_NORMAL; + else + return false; + } +} + +?> \ No newline at end of file -- cgit v1.2.3