X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=DataObjects%2FCore_person_signup.php;h=cb996cd1528b461358b9456e3fa53fdf5f71a3f2;hp=2b887cdc540280eb8f6b3fb685ab66ee7a019bd8;hb=c3e589eae949b6c98574345bdf85d9dc0a5133bb;hpb=4ab64042945702c5e42843617623c9672b59eedd diff --git a/DataObjects/Core_person_signup.php b/DataObjects/Core_person_signup.php index 2b887cdc..cb996cd1 100644 --- a/DataObjects/Core_person_signup.php +++ b/DataObjects/Core_person_signup.php @@ -1,10 +1,10 @@ page; + $old = clone($this); + // this shold not really happen... + if($target->get('email', $this->email)){ + + $this->person_id = $target->id; + $this->person_table = $target->tableName(); + $this->update($old); + + return $target; + } + + $target->setFrom($this->toArray()); + + $target->insert(); + + $this->person_id = $target->id; + $this->person_table = $target->tableName(); + $this->update($old); + + if(!empty($this->invite_id) && !empty($this->friend_table)){ + $friend = DB_DataObject::factory($this->friend_table); + $friend->setFrom(array( + 'person_id' => $this->invite_id, + 'friend_id' => $target->id + )); + + $friend->insert(); + } + + return $target; + } - function verify($key) + function sendVerification($template, $roo) { - // if key matches verify_key - // copy into person or other entity... - // and delete.... - //$this->whereAdd("verify_key = '".$key."'"); - if($this->get("verify_key",$key)){ - $row = $this->fetch(); - $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; - if($p->insert()){ - $this->delete(); - - //login - @session_start(); - $_SESSION['Hydra']['authUser'] = $p ? serialize($p) : false; + $content = array( + 'template' => $template, + 'person' => $this, + 'serverName' => $_SERVER['SERVER_NAME'], + 'baseURL' => $roo->baseURL + ); - //mail pwd - mail(); - - }else{ - error_log("db insert error"); - return false; - } + $sent = DB_DataObject::factory('core_email')->send($content); + + if(!is_object($sent)){ + return true; } - return false; + return $sent; + } + + function getEmailFrom() + { + if (empty($this->name)) { + return $this->email; + } + return '"' . addslashes($this->name) . '" <' . $this->email . '>'; } } - \ No newline at end of file