/** * List all users. */ function users_list_controller() { global $privileges; if (!in_array('admin_user', $privileges)) { redirect(page_link_to('')); } $order_by = 'Nick'; if (isset($_REQUEST['OrderBy']) && in_array($_REQUEST['OrderBy'], User_sortable_columns())) { $order_by = $_REQUEST['OrderBy']; } $users = Users($order_by); if ($users === false) { engelsystem_error('Unable to load users.'); } foreach ($users as &$user) { $user['freeloads'] = count(ShiftEntries_freeloaded_by_user($user)); } return array(_('All users'), Users_view($users, $order_by, User_arrived_count(), User_active_count(), User_force_active_count(), ShiftEntries_freeleaded_count(), User_tshirts_count(), User_got_voucher_count())); }
/** * Returns true if user is freeloader * * @param User $user */ function User_is_freeloader($user) { global $max_freeloadable_shifts, $user; return count(ShiftEntries_freeloaded_by_user($user)) >= $max_freeloadable_shifts; }