X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=DataObjects%2FCore_person.php;fp=DataObjects%2FCore_person.php;h=1e30d4ada274ea66576a2be2b4fe1261b957ad8b;hp=171e7e604aac4f88c30f4c8c807cecfd96908071;hb=46145707edd41c81d5987a05196ede4253f3e6b5;hpb=68aec06ee41a67622f6253d97033c94661c41271 diff --git a/DataObjects/Core_person.php b/DataObjects/Core_person.php index 171e7e60..1e30d4ad 100644 --- a/DataObjects/Core_person.php +++ b/DataObjects/Core_person.php @@ -1134,8 +1134,31 @@ 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(" + CONCAT ('[', + COALESCE(( + SELECT + GROUP_CONCAT( + JSON_QUOTE(core_group.name) + ) + 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_json"); } function setFromRoo($ar, $roo)