DataObjects/Core_person_signup.php
[Pman.Core] / DataObjects / Core_person_signup.php
index 79abe45..9e2f81b 100644 (file)
@@ -28,8 +28,7 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject
     public $person_id;
     public $person_table;
     
-    public $invite_id;
-    public $friend_table;
+    public $inviter_id;
  
     function convertTo($target = false)
     {
@@ -41,12 +40,7 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject
         $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;
+            return false;
         }
         
         $target->setFrom($this->toArray());
@@ -56,23 +50,42 @@ class Pman_Core_DataObjects_Core_person_signup extends DB_DataObject
         $this->person_id = $target->id;
         $this->person_table = $target->tableName();
         $this->update($old);
-        // ok - deleting might not be a great idea.... - as we can not track already confirmed codes..
         
-        //$this->delete();
+        if(!empty($this->inviter_id) && method_exists($target, 'createFriend')){
+            $target->createFriend($this->inviter_id);
+        }
         
         return $target;
     }
     
     function sendVerification($template, $roo)
     {
+        $admin = array();
+        
+        $group = DB_DataObject::factory('groups');
+        if($group->get('name', 'core-person-signup-bcc')){
+            $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 problem");
+        }
         
         $content = array(
             'template'      => $template,
             'person'        => $this,
+            'bcc'           =>   $admin,
             'serverName'    => $_SERVER['SERVER_NAME'],
             'baseURL'       => $roo->baseURL
         );
-
+       
+        
         $sent = DB_DataObject::factory('core_email')->send($content);
         
         if(!is_object($sent)){