- // if key matches verify_key
- // copy into person or other entity...
- // and delete....
- $this->whereAdd("verify_key = '".$key."'");
- if($this->count() > 0 ){
- $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();
- }
+ if(!$target){
+ return false;
+ }
+
+ $roo = HTML_FlexyFramework::get()->page;
+ $old = clone($this);
+ // this shold not really happen...
+ if($target->get('email', $this->email)){
+
+ return false;
+ }
+
+ $target->setFrom($this->toArray());
+
+ $target->insert();
+
+ $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);