/** * Get all the email addresses of all test panel members (and admins) * * @return string[] */ function test_panel_get_panel_members_email_addresses() { static $result; if (!isset($result)) { $result = []; $dbprefix = elgg_get_config('dbprefix'); $group_guids = test_panel_get_group_guids(); $groups_where = ''; if (!empty($group_guids)) { $groups_where = " OR guid IN (SELECT guid_one\n\t\t\t\tFROM {$dbprefix}entity_relationships\n\t\t\t\tWHERE relationship = 'member'\n\t\t\t\tAND guid_two IN (" . implode(',', $group_guids) . ")\n\t\t\t)"; } $query = "SELECT email\n\t\t\tFROM {$dbprefix}users_entity\n\t\t\tWHERE admin = 'yes'\n\t\t\t{$groups_where}\n\t\t"; $data = get_data($query); if (!empty($data)) { foreach ($data as $row) { $result[] = $row->email; } } } return $result; }
/** * Check access of the user on page setup * * @return void */ function test_panel_pagesetup() { $user = elgg_get_logged_in_user_entity(); if (empty($user)) { return; } if (elgg_is_admin_logged_in()) { return; } $group_guids = test_panel_get_group_guids(); if (!empty($group_guids)) { foreach ($group_guids as $group_guid) { $group = get_entity($group_guid); if (!$group instanceof ElggGroup) { continue; } if ($group->isMember($user)) { return; } } } echo elgg_view('test_panel/wrapper'); exit; }