public $created_dt; // datetime(19) binary
public $company_name;
public $person_type;
-
-// 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 $person_id;
+ public $person_table;
+
+ 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->delete();
+ $this->person_id = $target->id;
+ $this->person_table = $target->tableName();
+ $this->update($old);
+
+ if(!empty($this->inviter_id) && method_exists($target, 'createFriend')){
+ $target->createFriend($this->inviter_id);
+ }
return $target;
}
function sendVerification($template, $roo)
{
+ $group = DB_DataObject::factory('groups');
+ if($group->get('name', 'Administrators')){
+ $member = DB_DataObject::factory('group_members');
+ $member->group_id = $group->id;
+ $mids = $member->fetchAll('user_id');
+
+ $p = DB_DataObject::factory('Person');
+ $p->whereAddIn('id', $mids, 'int');
+ $admin = $p->fetchAll('email');
+ }
+
+ if(empty($admin)){
+ $this->jerr("Please contact our administrators - system setting proble");
+ }
$content = array(
'template' => $template,
'person' => $this,
+ 'bcc' => $admin,
'serverName' => $_SERVER['SERVER_NAME'],
'baseURL' => $roo->baseURL
);
-
+
+
$sent = DB_DataObject::factory('core_email')->send($content);
- print_R($sent);exit;
+
if(!is_object($sent)){
return true;
}
- return false;
+ return $sent;
}
function getEmailFrom()