Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

169 lines (124 sloc) 5.112 kb
<?PHP // $Id$
require("../config.php");
require("lib.php");
optional_variable($id, 0); // course id
if ($id) {
if (! $course = get_record("course", "id", $id)) {
error("Course ID was incorrect");
}
require_login($course->id);
if (!isteacher($course->id)) {
error("Only teachers can edit the course!");
}
} else { // Admin is creating a new course
require_login();
if (!isadmin()) {
error("Only administrators can use this page");
}
}
/// If data submitted, then process and store.
if (match_referer() && isset($HTTP_POST_VARS)) {
$form = (object)$HTTP_POST_VARS;
$form->startdate = mktime(0,0,0,(int)$form->startmonth,(int)$form->startday,(int)$form->startyear);
$form->enddate = mktime(0,0,0,(int)$form->endmonth,(int)$form->endday,(int)$form->endyear);
validate_form($course, $form, $err);
if (count($err) == 0) {
$form->timemodified = time();
if ($course) {
if (update_record("course", $form)) {
add_to_log("Updated course settings", $course->id);
redirect("view.php?id=$course->id", "Changes saved");
} else {
error("Serious Error! Could not update the course record! (id = $form->id)");
}
} else {
if ($newid = insert_record("course", $form)) { // Set up new course
$week->course = $newid; // Create a default week.
$week->week = 0;
$week->timemodified = time();
$week->id = insert_record("course_weeks", $week);
add_to_log("Inserted a new course # $newid", $newid);
redirect("$CFG->wwwroot/admin/teacher.php?id=$newid", "Changes saved");
} else {
error("Serious Error! Could not create the new course!");
}
}
die;
} else {
foreach ($err as $key => $value) {
$focus = "form.$key";
}
}
}
/// Otherwise fill and print the form.
if (!$form) {
if ($course) {
$form = $course;
$ts = getdate($course->startdate);
$te = getdate($course->enddate);
} else {
$ts = getdate(time() + 3600 * 24);
$te = getdate(time() + 3600 * 24 * 7 * 16);
}
$form->startday = $ts[mday];
$form->startmonth = $ts[mon];
$form->startyear = $ts[year];
$form->endday = $te[mday];
$form->endmonth = $te[mon];
$form->endyear = $te[year];
if (!$course) {
$form->teacher = "Facilitator";
$form->fullname = "Course Fullname 101";
$form->shortname = "CF101";
$form->summary = "Write a concise and interesting paragraph here that explains what this course is about.";
$form->format = 0;
$form->category = 1;
}
}
for ($i=1;$i<=31;$i++) {
$form->days[$i] = "$i";
}
for ($i=1;$i<=12;$i++) {
$form->months[$i] = date("F", mktime(0,0,0,$i,1,2000));
}
for ($i=2000;$i<=2005;$i++) {
$form->years[$i] = $i;
}
$form->categories = get_records_sql_menu("SELECT id,name FROM course_categories");
//$form->owners = get_records_sql_menu("SELECT u.id, CONCAT(u.firstname, " ", u.lastname) FROM users u, teachers t WHERE t.user = u.id");
if (isadmin()) {
print_header("Admin: Creating a new course", "$CFG->sitename: Administration",
"<A HREF=\"$CFG->wwwroot/admin/\">Admin</A>
-> Create a new course", $focus);
} else {
print_header("Edit course settings", "$course->fullname",
"<A HREF=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</A>
-> Edit course settings", $focus);
}
print_simple_box_start("center", "", "$THEME->cellheading");
print_heading("Editing course settings");
include("edit.html");
print_simple_box_end();
print_footer($course);
exit;
/// Functions /////////////////////////////////////////////////////////////////
function validate_form($course, &$form, &$err) {
if (empty($form->fullname))
$err["fullname"] = "Missing full name";
if (empty($form->shortname))
$err["shortname"] = "Missing short name";
if (empty($form->summary))
$err["summary"] = "Missing summary";
if (empty($form->teacher))
$err["teacher"] = "Missing Teacher/Tutor/Instructor/Facilitator";
if ($form->startdate > $form->enddate)
$err["startdate"] = "Starts after it ends!";
if (($form->startdate < time()) && ($course->format <> $form->format)) {
$err["format"] = "Can't change the format now";
$form->format = $course->format;
}
if (! $form->category)
$err["category"] = "You need to choose a category";
return;
}
?>
Jump to Line
Something went wrong with that request. Please try again.