set_field("course_modules", "visible", "$visibility", "id", $moduleid);
}
}
+ $modinfo = serialize(get_array_of_activities($courseid));
+ if (!set_field("course", "modinfo", $modinfo, "id", $courseid)) {
+ error("Could not cache module information!");
+ }
}
}
require("../config.php");
require("lib.php");
+
if (isset($cancel)) {
if (!empty($SESSION->returnpage)) {
$return = $SESSION->returnpage;
error("Could not cache module information!");
}
- redirect($_SERVER["HTTP_REFERER"]);
+ $site = get_site();
+ if ($site->id == $cm->course) {
+ redirect($CFG->wwwroot);
+ } else {
+ redirect("view.php?id=$cm->course");
+ }
exit;
} else if (isset($hide)) {
error("Could not cache module information!");
}
- redirect($_SERVER["HTTP_REFERER"]);
+ $site = get_site();
+ if ($site->id == $cm->course) {
+ redirect($CFG->wwwroot);
+ } else {
+ redirect("view.php?id=$cm->course");
+ }
exit;
} else if (isset($show)) {
if (! $cm = get_record("course_modules", "id", $show)) {
error("This course module doesn't exist");
}
-
- show_course_module($show);
- $modinfo = serialize(get_array_of_activities($cm->course));
- if (!set_field("course", "modinfo", $modinfo, "id", $cm->course)) {
- error("Could not cache module information!");
+ $site = get_site();
+
+ if ($cm->visible or $site->id == $cm->course) {
+ show_course_module($show);
+ $modinfo = serialize(get_array_of_activities($cm->course));
+ if (!set_field("course", "modinfo", $modinfo, "id", $cm->course)) {
+ error("Could not cache module information!");
+ }
}
- redirect($_SERVER["HTTP_REFERER"]);
+ if ($site->id == $cm->course) {
+ redirect($CFG->wwwroot);
+ } else {
+ redirect("view.php?id=$cm->course");
+ }
exit;
} else if (isset($delete)) { // value = course module