X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_person_signup.php;h=9b3ab6fa881712b8a36ca1c4810c2800746279a1;hb=91628f4fab0d4ac9a1a675b76a14f17e9241dbf2;hp=22fc4a9a4708ab5a28192cd8b19d2791c3e606bd;hpb=6a7a4e5e16ad174fc6e5bacb72766f0c2f353bf4;p=Pman.Core diff --git a/DataObjects/Core_person_signup.php b/DataObjects/Core_person_signup.php index 22fc4a9a..9b3ab6fa 100644 --- a/DataObjects/Core_person_signup.php +++ b/DataObjects/Core_person_signup.php @@ -22,88 +22,52 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject public $verify_key; // int(11) public $verified; public $created_dt; // datetime(19) binary - -// function verify($key) -// { -// // if key matches verify_key -// // copy into person or other entity... -// // and delete.... -// if ($this->get("verify_key", $key)) { -// $p = DB_DataObject::factory('person'); -// $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; -// } -// } - - function verified() + public $company_name; + public $person_type; + + public $person_id; + public $person_table; + + public $invite_id; + public $invite_table; + + function convertTo($target = false) { - $hydra_person = DB_DataObject::factory('hydra_person'); + if(!$target){ + return false; + } - if($hydra_person->get('email', $this->email)){ - return $hydra_person; + $roo = HTML_FlexyFramework::get()->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; } - $hydra_person->setFrom(array( + $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->invite_table)){ + $friend = DB_DataObject::factory($this->invite_table); + $friend->setFrom(array( + 'person_id' => $this->invite_id, + 'friend_id' => $target->id + )); - )); + $friend->insert(); + } + + return $target; } function sendVerification($template, $roo) @@ -122,7 +86,7 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject return true; } - return false; + return $sent; } function getEmailFrom()