mirror of
https://github.com/moodle/moodle.git
synced 2025-01-18 05:58:34 +01:00
2b25f2a09b
to look/work as slick as the rest of the site. :-)
137 lines
4.5 KiB
PHP
137 lines
4.5 KiB
PHP
<?PHP // $Id$
|
|
|
|
require("../config.php");
|
|
|
|
optional_variable($id); // course id
|
|
optional_variable($delete); // delete confirmation
|
|
|
|
require_login();
|
|
|
|
if (!isadmin()) {
|
|
error("You must be an administrator to use this page.");
|
|
}
|
|
|
|
if (!$site = get_site()) {
|
|
error("Site not found!");
|
|
}
|
|
|
|
$strdeletecourse = get_string("deletecourse");
|
|
$stradministration = get_string("administration");
|
|
|
|
if (!$id) {
|
|
print_header("$site->fullname : $strdeletecourse", $site->fullname,
|
|
"<A HREF=\"$CFG->wwwroot/admin\">$stradministration</A> -> $strdeletecourse");
|
|
|
|
if ($courses = get_records_sql("SELECT * from course WHERE category > 0 ORDER BY fullname")) {
|
|
print_heading(get_string("choosecourse"));
|
|
print_simple_box_start("CENTER");
|
|
foreach ($courses as $course) {
|
|
echo "<A HREF=\"delete.php?id=$course->id\">$course->fullname</A><BR>";
|
|
}
|
|
print_simple_box_end();
|
|
} else {
|
|
print_heading(get_string("nocoursesyet"));
|
|
print_continue("$CFG->wwwroot/admin/");
|
|
}
|
|
print_footer();
|
|
exit;
|
|
}
|
|
|
|
if (! $course = get_record("course", "id", $id)) {
|
|
error("Course ID was incorrect (can't find it)");
|
|
}
|
|
|
|
if (! $delete) {
|
|
$strdeletecheck = get_string("deletecheck", "", $course->shortname);
|
|
$strdeletecheckfull = get_string("deletecheckfull");
|
|
print_header("$site->fullname : $strdeletecheck", $site->fullname,
|
|
"<A HREF=\"$CFG->wwwroot/admin\">$stradministration</A> ->
|
|
<A HREF=\"delete.php\">$strdeletecourse</A> -> $strdeletecheck");
|
|
|
|
notice_yesno("$strdeletecheckfull<BR><BR>$course->fullname",
|
|
"delete.php?id=$course->id&delete=".md5($course->timemodified),
|
|
"delete.php");
|
|
exit;
|
|
}
|
|
|
|
if ($delete != md5($course->timemodified)) {
|
|
error("The check variable was wrong - try again");
|
|
}
|
|
|
|
// OK checks done, delete the course now.
|
|
$strdeletingcourse = get_string("deletingcourse", "", $course->shortname);
|
|
|
|
print_header("$site->fullname : $strdeletingcourse", $site->fullname,
|
|
"<A HREF=\"$CFG->wwwroot/admin\">$stradministration</A> ->
|
|
<A HREF=\"delete.php\">$strdeletecourse</A> -> $strdeletingcourse");
|
|
|
|
print_heading($strdeletingcourse);
|
|
|
|
$strdeleted = get_string("deleted");
|
|
// First delete every instance of every module
|
|
|
|
if ($allmods = get_records_sql("SELECT * FROM modules") ) {
|
|
foreach ($allmods as $mod) {
|
|
$modname = $mod->name;
|
|
$modfile = "../mod/$modname/lib.php";
|
|
$moddelete = $modname."_delete_instance";
|
|
$count=0;
|
|
if (file_exists($modfile)) {
|
|
include_once($modfile);
|
|
if (function_exists($moddelete)) {
|
|
if ($instances = get_records($modname, "course", $course->id)) {
|
|
foreach ($instances as $instance) {
|
|
if ($moddelete($instance->id)) {
|
|
$count++;
|
|
} else {
|
|
notify("Could not delete $modname instance $instance->id ($instance->name)");
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
notify("Function $moddelete() doesn't exist!");
|
|
}
|
|
|
|
}
|
|
notify("$strdeleted $count instances of $modname");
|
|
}
|
|
} else {
|
|
error("No modules are installed!");
|
|
}
|
|
|
|
// Delete any user stuff
|
|
|
|
if (delete_records("user_students", "course", $course->id)) {
|
|
notify("$strdeleted student enrolments");
|
|
}
|
|
|
|
if (delete_records("user_teachers", "course", $course->id)) {
|
|
notify("$strdeleted teachers");
|
|
}
|
|
|
|
// Delete logs
|
|
|
|
if (delete_records("log", "course", $course->id)) {
|
|
notify("$strdeleted logs");
|
|
}
|
|
|
|
// Delete any course stuff
|
|
|
|
if (delete_records("course_sections", "course", $course->id)) {
|
|
notify("$strdeleted course sections");
|
|
}
|
|
if (delete_records("course_modules", "course", $course->id)) {
|
|
notify("$strdeleted course modules");
|
|
}
|
|
if (delete_records("course", "id", $course->id)) {
|
|
notify("$strdeleted the main course record");
|
|
}
|
|
|
|
print_heading( get_string("deletedcourse", "", $course->shortname) );
|
|
|
|
print_continue("delete.php");
|
|
|
|
print_footer();
|
|
|
|
?>
|