DataObjects/Core_company.php
[Pman.Core] / DataObjects / Core_person.php
index c076434..be53672 100644 (file)
@@ -438,7 +438,10 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         }
                 
              
-        if (isset(   $_SESSION[get_class($this)][$sesPrefix .'-empty'] ) && $_SESSION[get_class($this)][$sesPrefix .'-empty']  < 1) {
+        if (
+            isset(   $_SESSION[get_class($this)][$sesPrefix .'-empty'] ) && 
+            $_SESSION[get_class($this)][$sesPrefix .'-empty']  < 1
+        ) {
             
             // fake person - open system..
             //$ce = DB_DataObject::factory('core_enum');
@@ -1131,23 +1134,22 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         $p = DB_DataObject::Factory('core_group_member');
         $p->user_id = $this->id;
         $mem = $p->fetchAll();  // fetch all the rows and set the $mem variable to the rows data, just like mysqli_fetch_assoc
-   
-        $e->logDeletedRecord($p);
-        
+        $e->logDeletedRecord($mem);
+                
         foreach($mem as $p) { 
             $p->delete();
         }  
         
-        $e = DB_DataObject::Factory('events');
+        $e = DB_DataObject::Factory('Events');        
         $e->person_id = $this->id;
         $eve = $e->fetchAll();  // fetch all the rows and set the $mem variable to the rows data, just like mysqli_fetch_assoc
-        
+
+        $e->logDeletedRecord($eve);
         foreach($eve as $e) { 
             $e->delete();
         }  
         
         
-        
         // anything else?  
         
     }
@@ -1238,6 +1240,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         }
         $c->find(true);
         $this->company_id = $c->id;
+        $this->email = trim($this->email);
         
     }
     
@@ -1383,6 +1386,8 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
     
     function beforeUpdate($old, $q, $roo)
     {
+       
+        
         if(!empty($q['_generate_oath_key'])){
             $o = clone($this);
             $this->generateOathKey();
@@ -1402,12 +1407,26 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         
         if(!empty($q['membership_list'])){
             
-            $pid = $q['id'];
+             
+            if ($roo->authUser->id == $old->id) {
+                // you are editing yourself...
+                
+                // if was admin before....
+                   // -if new membership does not icnlude  admin id
+                      // -- then show error
+                
+                
+            }
+            
+            
+            
+            
          
             $x = PDO_DataObject::factory('core_group_member');
             $x->select('group_id');
-            $x->whereAdd("user_id={$pid}");
-            $ar = $x->fetchAll(true);
+            $x->user_id = $q['id'];
+            
+            $ar = $x->fetchAll('group_id');
             
             $group_id_arr = explode(",", $q['membership_list']);
             
@@ -1415,8 +1434,21 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             
             // check if id needs to be deleted
             if(!empty($result_del)){
-                foreach($result_del as $rdid){
-                    $x->get($rdid);
+                /*
+                $x = PDO_DataObject::factory('core_group_member');
+                $x->user_id = $q['id'];
+                $x->whereAddIn('group_id', $result_del, 'int');
+                foreach($x->fetchAll() as $cgm) {
+                    $cgm->delete();
+                }
+                
+                
+                */
+                foreach($result_del as $group_id){
+                    $x = PDO_DataObject::factory('core_group_member');
+                    $x->user_id = $q['id'];
+                    $x->group_id = $group_id;
+                    $x->find(true);
                     $x->delete();
                 }
             }
@@ -1428,10 +1460,14 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             //PDO_DataObject::Factory('coremytable_group_member')->set([ 'group_id' => 'test', 'user_id' => "{$this->tableName()}.id"])->insert();
             if(!empty($result_add)){
                 foreach($result_add as $gid){
-                    PDO_DataObject::Factory('core_group_member')->set([ 'group_id'=> $gid, 'user_id' => $pid])->insert();
+                    PDO_DataObject::Factory('core_group_member')->set(array(
+                        'group_id'=> $gid,
+                        'user_id' => $q['id']
+                    ))->insert();
                 }
             }
         }
+        $this->email = trim($this->email);
     }
     
     function generateOathKey()