/**
* Table Definition for Person
*/
-require_once 'DB/DataObject.php';
+class_exists('DB_DataObject') ? '' : require_once 'DB/DataObject.php';
class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject
{
public $person_id;
public $person_table;
-
-// 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;
-// }
-// }
-
+
+ public $inviter_id;
+
function convertTo($target = false)
{
if(!$target){
}
$roo = HTML_FlexyFramework::get()->page;
-
+ $old = clone($this);
+ // this shold not really happen...
if($target->get('email', $this->email)){
- return $target;
+ return false;
}
$target->setFrom($this->toArray());
$target->insert();
$this->person_id = $target->id;
- // ok - deleting might not be a great idea.... - as we can not track already confirmed codes..
+ $this->person_table = $target->tableName();
+ $this->update($old);
- //$this->delete();
+ if(!empty($this->inviter_id) && method_exists($target, 'createFriend')){
+ $target->createFriend($this->inviter_id);
+ }
return $target;
}
function sendVerification($template, $roo)
{
-
$content = array(
'template' => $template,
'person' => $this,
'serverName' => $_SERVER['SERVER_NAME'],
'baseURL' => $roo->baseURL
);
-
+
$sent = DB_DataObject::factory('core_email')->send($content);
if(!is_object($sent)){