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             if($p->insert()){
53                 
54                 $temp_pwd = $p->generatePassword();
55
56                 $this->delete();
57
58                 //login
59                 @session_start();
60         
61                 $_SESSION['Hydra']['authUser'] = $p ? serialize($p) : false;
62
63                 //mail pwd
64                 $c = DB_DataObject::factory('core_email');
65                 if (!$c->get('name', 'CORE_PERSON_SIGNUP_CONGRATULATION')) {
66                     $this->jerr("can not find template");
67                 }
68                 $ret = $c->send(array(
69                    'rcpts' => $this->email,
70                    'honor' => $this->honor.". ".$this->lastname,
71                    'password' => $temp_pwd
72                 ), true);
73          
74                 if (is_object($ret)) {
75                     $this->addEvent('SYSERR',false, $ret->getMessage());
76                     $this->jerr($ret->getMessage());
77                 }
78                 $this->jok("SENT");
79                 return true;
80             }else{
81                 error_log("db insert error");
82                 return false;
83             }   
84         }
85         return false;
86         
87     }
88 }
89
90