/** * Get a list of the user IDs of every student user. * * @return array a list of all student user IDs * * @since 0.5 */ public static function get_student_user_ids() { $students = array(); // If in multisite mode, populate the list with all users who are the // sole administrator on a non-root blog. If running in single-site // mode, add any users who can edit posts but who are not admins. if (ClassBlogs_Utils::is_multisite()) { foreach (ClassBlogs_Utils::get_non_root_blog_ids() as $blog_id) { $admins = get_users('blog_id=' . $blog_id . '&role=administrator'); if (count($admins) == 1) { $admin = $admins[0]; if (!in_array($admin->ID, $students)) { $students[] = $admin->ID; } } } } else { foreach (get_users() as $user) { if (!ClassBlogs_NXTClass::user_can($user->ID, 'administrator') && ClassBlogs_NXTClass::user_can($user->ID, 'edit_posts')) { $students[] = $user->ID; } } } return $students; }