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
// 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();
- }
- }
+
+ //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{
+ return false;
+ }
+ }
+ return false;
}
+
+
+ function convertTo($table){
+ $t = DB_DataObject::factory($table);
+ $ret = $t->get('email',$this->email);
+ if($ret != 0){
+ return false;
+ }else{
+ $t->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));
+
+ $t->insert();
+ return true;
+ }
+ }
}
\ No newline at end of file