opigno_filter_own_groups.inc in Opigno 7
File
views/opigno_filter_own_groups.inc
View source
<?php
class opigno_filter_own_groups extends views_handler_filter {
function query() {
$local_query = $this->query;
if (!empty($local_query->tables['og_membership'])) {
$local_query
->add_field('og_membership', 'gid');
$field = 'og_membership.gid';
}
else {
if (!empty($local_query->tables['node'])) {
$local_query
->add_field('node', 'nid');
$field = 'node.nid';
}
else {
return;
}
}
$groups = og_get_entity_groups('user', null, array(
OG_STATE_ACTIVE,
OG_STATE_BLOCKED,
OG_STATE_PENDING,
));
if (empty($groups['node'])) {
return;
}
$this->query
->add_where($this->options['group'], $field, $groups['node'], 'NOT IN');
}
}