From: moodler Date: Wed, 30 Jul 2003 15:11:04 +0000 (+0000) Subject: Put here just temporarily for those who might need it. Will be X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=4efea825a1389093fdad1e02a0842a4e7d27ad58;p=moodle.git Put here just temporarily for those who might need it. Will be replaced by the new enrolment code soon anyway. --- diff --git a/admin/students.php b/admin/students.php new file mode 100644 index 0000000000..2d45f949ae --- /dev/null +++ b/admin/students.php @@ -0,0 +1,201 @@ +wwwroot/$CFG->admin/index.php"); + } + + require_login(); + + if (!iscreator()) { + error("You must be an administrator or course creator to use this page."); + } + + $stradministration = get_string("administration"); + $strassignstudents = "Assign students"; + $strexistingstudents = "Existing students"; + $strnoexistingstudents = "No existing students"; + $strpotentialstudents = "Potential students"; + $strnopotentialstudents = "No potential students"; + $straddstudent = "Add student"; + $strremovestudent = "Remove student"; + $strsearch = get_string("search"); + $strsearchresults = get_string("searchresults"); + $strsearchagain = get_string("searchagain"); + $strtoomanytoshow = get_string("toomanytoshow"); + + if ($search) { + $searchstring = $strsearchagain; + } else { + $searchstring = $strsearch; + } + + + if (!$id) { + print_header("$site->shortname: $strassignstudents", "$site->fullname", + "$stradministration -> $strassignstudents"); + + $isadmin = isadmin(); /// cache value + $courses = get_courses(); + + print_heading(get_string("choosecourse")); + print_simple_box_start("center"); + + if (!empty($courses)) { + foreach ($courses as $course) { + if ($isadmin or isteacher($course->id, $USER->id)){ + echo "id\">$course->fullname ($course->shortname)
\n"; + $coursesfound = TRUE; + } + } + } + + print_simple_box_end(); + + if ($coursesfound == FALSE) { + print_heading(get_string("nocoursesyet")); + print_continue("../$CFG->admin/index.php"); + } + + print_footer(); + exit; + } + + if (! $course = get_record("course", "id", $id)) { + error("Course ID was incorrect (can't find it)"); + } + + + print_header("$site->shortname: $course->shortname: $strassignstudents", + "$site->fullname", + "$stradministration -> + $strassignstudents -> $course->shortname", ""); + + print_heading("wwwroot/course/view.php?id=$course->id\">$course->fullname ($course->shortname)"); + + +/// Get all existing students for this course. + $students = get_course_students($course->id); + +/// Add a student if one is specified + + if (!empty($add)) { + if (!isteacher($course->id)){ + error("You must be an administrator or teacher to modify this course."); + } + + if (! $user = get_record("user", "id", $add)) { + error("That student (id = $add) doesn't exist", "students.php?id=$course->id"); + } + + if (!empty($students)) { + foreach ($students as $ss) { + if ($ss->id == $user->id) { + error("That user is already a student for this course.", "students.php?id=$course->id"); + } + } + } + + $student->userid = $user->id; + $student->course = $course->id; + $student->id = insert_record("user_students", $student); + if (empty($student->id)) { + error("Could not add that student to this course!"); + } + $students[] = $user; + } + +/// Remove a student if one is specified. + + if (!empty($remove)) { + + if (!isteacher($course->id)){ + error("You must be an administrator or teacher to modify this course."); + } + if (! $user = get_record("user", "id", $remove)) { + error("That student (id = $remove) doesn't exist", "students.php?id=$course->id"); + } + if (!empty($students)) { + foreach ($students as $key => $ss) { + if ($ss->id == $user->id) { + unenrol_student($user->id, $course->id); + unset($students[$key]); + } + } + } + } + + +/// Print the lists of existing and potential students + + echo ""; + echo ""; + echo "
$strexistingstudents$strpotentialstudents
"; + +/// First, show existing students for this course + + if (empty($students)) { + echo "

$strnoexistingstudents"; + $studentlist = ""; + + } else { + $studentarray = array(); + foreach ($students as $student) { + $studentarray[] = $student->id; + echo "

$student->firstname $student->lastname, $student->email    id&remove=$student->id\" title=\"$strremovestudent\">

"; + } + $studentlist = implode(",",$studentarray); + unset($studentarray); + } + + echo "
"; + +/// Print list of potential students + + $usercount = get_users(false, $search, true, $studentlist); + + if ($usercount == 0) { + echo "

$strnopotentialstudents

"; + + } else if ($usercount > MAX_USERS_PER_PAGE) { + echo "

$strtoomanytoshow

"; + + } else { + + if ($search) { + echo "

($strsearchresults : $search)

"; + } + + if (!$users = get_users(true, $search, true, $studentlist)) { + error("Could not get users!"); + } + + foreach ($users as $user) { + echo "

id&add=$user->id\"". + "title=\"$straddstudent\">  $user->firstname $user->lastname, $user->email"; + } + } + + if ($search or $usercount > MAX_USERS_PER_PAGE) { + echo "

"; + echo "id\">"; + echo ""; + echo ""; + echo "
"; + } + + echo "
"; + + print_footer(); + +?>