DataObjects/Core_group.php
[Pman.Core] / DataObjects / Core_person.php
index 1d46175..a8505fe 100644 (file)
@@ -1102,18 +1102,28 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
         $e->whereAdd('person_id = ' . $this->id);
         
         $g = DB_DataObject::Factory('core_group');
-        $g->get('name', 'Administrators');
+        $g->get('name', 'Administrators');  // select * from core_group where name = 'Administrators'
+        
         $p = DB_DataObject::Factory('core_group_member');
+        $p->setFrom(array(
+            'user_id' => $this->id,
+            'group_id' => $g->id
+        ));
 
-        $p->get('user_id', $this->id); 
+        if ($p->count()) {
+           $roo->jerr();
+        }
  
          
-        if ($p->group_id != $g->id) {
-            $e->delete(true);
-        }
-        else{
-            $roo->jerr("Can not delete admin user");
-        }
+        $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);
+        
+        foreach($mem as $p) { 
+            $p->delete();
+        }