+ if (!empty($q['query']['name_contains'])) {
+ $v = $this->escape($q['query']['name_contains']);
+ $this->whereAdd("{$this->tableName()}.name like '%{$v}%'");
+ }
+
+ if(!empty($q['_count_member_by_name'])){
+
+ $core_group = DB_DataObject::factory('core_group');
+
+ if($core_group->get('name', $q['_count_member_by_name'])){
+ $roo->jok($core_group->memberCount());
+ }
+ }
+
+ if(!empty($q['_is_in_group'])){
+ $this->selectAdd("
+ COALESCE((
+ SELECT
+ COUNT(id)
+ FROM
+ core_group_member
+ WHERE
+ user_id = {$q['_is_in_group']}
+ AND
+ group_id = {$this->tableName()}.id
+ ), 0) AS is_in_group
+ ");
+ }
+
+
+ $cp = DB_DataObject::Factory('core_person')->tableName();
+ $cgm = DB_DataObject::Factory('core_group_member')->tableName();
+
+ $this->selectAdd("
+ (
+ SELECT COUNT({$cgm}.user_id)
+ FROM
+ {$cgm}
+ LEFT JOIN
+ {$cp}
+ ON
+ {$cp}.id = {$cgm}.user_id
+ WHERE
+ {$cgm}.group_id = {$this->tableName()}.id
+ AND
+ {$cp}.active = 1
+ ) AS group_member_count
+ ");
+