+ public $invite_id;
+ public $friend_table;
+
+ function convertTo($target = false)
+ {
+ if(!$target){
+ return false;
+ }
+
+ $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;
+ }
+
+ $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;
+ }