typo
[Pman.Core] / DataObjects / Core_person_signup.php
index e4d7c39..a59f67d 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * 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 
 {
@@ -24,77 +24,12 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject
     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){
@@ -102,30 +37,36 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject
         }
         
         $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)
     {
-        
         $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)){