X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_person_signup.php;h=3e24f91ed1bb1152afe1d488b51d9e0e6f770078;hb=3e220dee6d6cedc07a86d869f83e2a016309c347;hp=8e0351ffe43b8214f90234777c1027d2907b78b1;hpb=9653350588c1d3a0b2555e8c9737c977412db84b;p=Pman.Core diff --git a/DataObjects/Core_person_signup.php b/DataObjects/Core_person_signup.php index 8e0351ff..3e24f91e 100644 --- a/DataObjects/Core_person_signup.php +++ b/DataObjects/Core_person_signup.php @@ -14,11 +14,11 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject public $id; // int(11) not_null primary_key auto_increment public $email; // string(128) not_null - //public $name; // string(128) not_null + public $name; // string(128) not_null public $firstname; // string(128) not_null public $lastname; // string(128) not_null - //public $firstname_alt; // string(128) not_null - //public $lastname_alt; // string(128) not_null + public $firstname_alt; // string(128) not_null + public $lastname_alt; // string(128) not_null public $honor; // string(128) not_null @@ -37,25 +37,44 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject // if key matches verify_key // copy into person or other entity... // and delete.... - $this->whereAdd("verify_key = '".$key."'"); - if($this->count() > 0 ){ - $row = $this->fetch(); + if($this->get("verify_key",$key)){ $p = DB_DataObject::factory('person'); - $p->honor = $row->honor; - $p->name = $row->name; - $p->email = $row->email; - $p->firstname = $row->firstname; - $p->lastname = $row->lastname; - $p->firstname_alt = $row->firstname_alt; - $p->lastname_alt = $row->lastname_alt; - $temp_pwd = $p->generatePassword(); - //$temp_pwd = mt_rand(100000,999999); - //$p->passwd = $temp_pwd; + $p->setFrom(array( + 'honor'=>$this->honor, + 'name'=>$this->name, + 'email'=>$this->email, + 'firstname'=>$this->firstname, + 'lastname'=>$this->lastname, + 'firstname_alt'=>$this->firstname_alt, + 'lastname_alt'=>$this->lastname_alt)); + if($p->insert()){ + + $temp_pwd = $p->generatePassword(); + $this->delete(); - return $temp_pwd; + + //login + @session_start(); + + $_SESSION['Hydra']['authUser'] = $p ? serialize($p) : false; + + //mail pwd + $c = DB_DataObject::factory('core_email'); + if (!$c->get('name', 'CORE_PERSON_SIGNUP_CONGRATULATION')) { + $this->jerr("can not find template"); + } + $ret = $c->send(array( + 'rcpts' => $this->email, + 'honor' => $this->honor.". ".$this->lastname, + 'password' => $temp_pwd + ), true); + + if (is_object($ret)) { + return false; + } + return true; }else{ - error_log("db insert error"); return false; } }