Fix #6032 - change the release index page to plain html
[Pman.Core] / DataObjects / Core_person.php
index b72ecbe..30b72af 100644 (file)
@@ -56,7 +56,8 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
  
     function owner()
     {
-        $p = DB_DataObject::Factory($this->tableName());
+        // this might be a Person in some old code? 
+        $p = DB_DataObject::Factory('core_person');
         $p->get($this->owner_id);
         return $p;
     }
@@ -702,9 +703,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
             'person_id' => $this->id
         ));
         
-        foreach ($core_person_settings->fetchAll() as $k => $v) {
-            $aur['core_person_settings'][$v->scope] = $v->toArray();
-        }
+        $aur['core_person_settings'] = $core_person_settings->fetchAll('scope', 'data');
         
         return $aur;
     }
@@ -1135,8 +1134,28 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject
                 LENGTH({$this->tableName()}.oath_key) AS length_oath_key
             ");
         }
+        if (isset($q['_with_group_membership'])) {
+            $this->selectAddGroupMemberships();
+        }
         
-        
+    }
+    
+    function selectAddGroupMemberships()
+    {
+        $this->selectAdd("
+            
+            COALESCE((
+                SELECT
+                    GROUP_CONCAT(  core_group.name separator  '\n')
+                FROM
+                    core_group_member
+                LEFT JOIN
+                    core_group
+                ON
+                    core_group.id = core_group_member.group_id
+                WHERE
+                    core_group_member.user_id = core_person.id
+            ), '')  as member_of");
     }
     
     function setFromRoo($ar, $roo)