DataObjects/Core_person_signup.php
[Pman.Core] / DataObjects / Core_person_signup.php
1 <?php
2 /**
3  * Table Definition for Person
4  */
5 require_once 'DB/DataObject.php';
6
7
8 class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject 
9 {
10     ###START_AUTOCODE
11     /* the code below is auto generated do not remove the above tag */
12
13     public $__table = 'core_person_signup';                          // table name
14     public $id;                              // int(11)  not_null primary_key auto_increment
15     public $email;                           // string(128)  not_null
16     
17     public $name;                            // string(128)  not_null
18     public $firstname;                            // string(128)  not_null
19     public $lastname;                            // string(128)  not_null
20     public $firstname_alt;                            // string(128)  not_null
21     public $lastname_alt;                            // string(128)  not_null
22     
23     
24     public $honor;                            // string(128)  not_null
25     public $verify_key;                      // int(11)
26     public $verified;
27     
28
29     public $created_dt;                      // datetime(19)  binary
30
31     
32     
33     
34     
35     function verify($key)
36     {
37         // if key matches verify_key
38         // copy into person or other entity...
39         // and delete....
40         //$this->whereAdd("verify_key = '".$key."'");
41         if($this->get("verify_key",$key)){
42             $p = DB_DataObject::factory('person');
43             $p->setFrom(array(
44                 'honor'=>$this->honor,
45                 'name'=>$this->name,
46                 'email'=>$this->email,
47                 'firstname'=>$this->firstname,
48                 'lastname'=>$this->lastname,
49                 'firstname_alt'=>$this->firstname_alt,
50                 'lastname_alt'=>$this->lastname_alt));
51
52             
53             
54             if($p->insert()){
55                 
56                 $temp_pwd = $p->generatePassword();
57
58                 $this->delete();
59
60                 //login
61                 @session_start();
62         
63                 $_SESSION['Hydra']['authUser'] = $p ? serialize($p) : false;
64
65                 //mail pwd
66                 $c = DB_DataObject::factory('core_email');
67                 if (!$c->get('name', 'CORE_PERSON_SIGNUP_CONGRATULATION')) {
68                     $this->jerr("can not find template");
69                 }
70                 $ret = $c->send(array(
71                    'rcpts' => $this->email,
72                    'honor' => $this->honor.". ".$this->lastname,
73                    'password' => $temp_pwd
74                 ), true);
75          
76                 if (is_object($ret)) {
77                     $this->addEvent('SYSERR',false, $ret->getMessage());
78                     $this->jerr($ret->getMessage());
79                 }
80                 $this->jok("SENT");
81                 return true;
82             }else{
83                 error_log("db insert error");
84                 return false;
85             }   
86         }
87         return false;
88         
89     }
90 }
91
92