+// {{{ class UFC_WatchGroup
+/** Filters users belonging to a group watched by selected user
+ * @param $user Selected user (the one watching group)
+ */
+class UFC_WatchGroup extends UFC_UserRelated
+{
+ public function buildCondition(PlFilter $uf)
+ {
+ $groups = $this->user->watchGroups();
+ if (count($groups) == 0) {
+ return PlFilterCondition::COND_FALSE;
+ }
+ $conditions = array();
+ foreach ($groups as $group) {
+ $sub = $uf->addGroupFilter($group);
+ $conditions[] = 'gpm' . $sub . '.perms IS NOT NULL';
+ }
+ return implode(' OR ', $conditions);
+ }
+}
+// }}}