* @link https://github.com/pradosoft/prado * @copyright Copyright © 2006-2015 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT */ /** * NewUser class * * @author Qiang Xue * @link https://github.com/pradosoft/prado * @copyright Copyright © 2006-2015 The PRADO Group * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT */ class NewUser extends BlogPage { public function onInit($param) { if(!$this->User->IsAdmin && !TPropertyValue::ensureBoolean($this->Application->Parameters['MultipleUser'])) throw new BlogException(500,'newuser_registration_disallowed'); } public function checkUsername($sender,$param) { $username=strtolower($this->Username->Text); $param->IsValid=$this->DataAccess->queryUserByName($username)===null; } public function createUser($sender,$param) { if($this->IsValid) { $userRecord=new UserRecord; $userRecord->Name=strtolower($this->Username->Text); $userRecord->FullName=$this->FullName->Text; $userRecord->Role=0; $userRecord->Password=md5($this->Password->Text); $userRecord->Email=$this->Email->Text; $userRecord->CreateTime=time(); $userRecord->Website=$this->Website->Text; if(TPropertyValue::ensureBoolean($this->Application->Parameters['AccountApproval'])) $userRecord->Status=UserRecord::STATUS_PENDING; else $userRecord->Status=UserRecord::STATUS_NORMAL; $this->DataAccess->insertUser($userRecord); $authManager=$this->Application->getModule('auth'); $authManager->login($this->Username->Text,$this->Password->Text); $this->gotoDefaultPage(); } } }