[Aimmath-commit] moodle/mod/math_assignment lib.php,1.4,1.5 mod.html,1.2,1.3
Brought to you by:
gustav_delius,
npstrick
From: <ma...@us...> - 2003-09-14 14:11:24
|
Update of /cvsroot/aimmath/moodle/mod/math_assignment In directory sc8-pr-cvs1:/tmp/cvs-serv28853/mod/math_assignment Modified Files: lib.php mod.html Log Message: Modified mod.html to allow urls and file uploads. Index: lib.php =================================================================== RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/lib.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** lib.php 13 Sep 2003 13:01:16 -0000 1.4 --- lib.php 14 Sep 2003 14:11:14 -0000 1.5 *************** *** 11,17 **** /// of the new instance. $math_assignment->problems = trim($math_assignment->problems); $math_assignment->solutions = trim($math_assignment->solutions); ! $math_assignment->timedue = make_timestamp($math_assignment->dueyear, $math_assignment->duemonth,$math_assignment->dueday, $math_assignment->duehour, $math_assignment->dueminute); $math_assignment->timemodified = time(); if (!math_assignment_setup_aim_quiz($math_assignment)) --- 11,39 ---- /// of the new instance. + // due time + $math_assignment->timedue = make_timestamp($math_assignment->dueyear, $math_assignment->duemonth,$math_assignment->dueday, $math_assignment->duehour, $math_assignment->dueminute); + + // problems + if ($math_assignment->problems == "|url|") + $math_assignment->problems = $math_assignment->problemsurl; + else if ($math_assignment->problems == "|upload|") { + if (empty($_FILES['problemsfile'])) + $math_assignment->problems = ""; + else + $math_assignment->problems = math_assignment_save_upload($_FILES['problemsfile']); + } $math_assignment->problems = trim($math_assignment->problems); + + // solutions + if ($math_assignment->solutions == "|url|") + $math_assignment->solutions = $math_assignment->solutionsurl; + else if ($math_assignment->solutions == "|upload|") { + if (empty($_FILES['solutionsfile'])) + $math_assignment->solutions = ""; + else + $math_assignment->solutions = math_assignment_save_upload($_FILES['solutionsfile']); + } $math_assignment->solutions = trim($math_assignment->solutions); ! $math_assignment->timemodified = time(); if (!math_assignment_setup_aim_quiz($math_assignment)) *************** *** 26,32 **** /// will update an existing instance with new data. $math_assignment->problems = trim($math_assignment->problems); $math_assignment->solutions = trim($math_assignment->solutions); ! $math_assignment->timedue = make_timestamp($math_assignment->dueyear, $math_assignment->duemonth,$math_assignment->dueday, $math_assignment->duehour, $math_assignment->dueminute); $math_assignment->timemodified = time(); $math_assignment->id = $math_assignment->instance; --- 48,76 ---- /// will update an existing instance with new data. + // due time + $math_assignment->timedue = make_timestamp($math_assignment->dueyear, $math_assignment->duemonth,$math_assignment->dueday, $math_assignment->duehour, $math_assignment->dueminute); + + // problems + if ($math_assignment->problems == "|url|") + $math_assignment->problems = $math_assignment->problemsurl; + else if ($math_assignment->problems == "|upload|") { + if (empty($_FILES['problemsfile'])) + $math_assignment->problems = ""; + else + $math_assignment->problems = math_assignment_save_upload($_FILES['problemsfile']); + } $math_assignment->problems = trim($math_assignment->problems); + + // solutions + if ($math_assignment->solutions == "|url|") + $math_assignment->solutions = $math_assignment->solutionsurl; + else if ($math_assignment->solutions == "|upload|") { + if (empty($_FILES['solutionsfile'])) + $math_assignment->solutions = ""; + else + $math_assignment->solutions = math_assignment_save_upload($_FILES['solutionsfile']); + } $math_assignment->solutions = trim($math_assignment->solutions); ! $math_assignment->timemodified = time(); $math_assignment->id = $math_assignment->instance; *************** *** 36,40 **** } - function math_assignment_delete_instance($id) { /// Given an ID of an instance of this module, --- 80,83 ---- *************** *** 111,114 **** --- 154,172 ---- /// Any other math_assignment functions go here. Each of them must have a name that /// starts with math_assignment_ + + function math_assignment_save_upload($file) { + /// Function which saves an uploaded file (used when adding / updating an instance) + if (!$basedir = make_upload_directory("$course->id")) + return ""; + if (!is_uploaded_file($file['tmp_name']) || $file['size'] == 0) + return ""; + $file_name = clean_filename($file['name']); + if (!$file_name) + return ""; + if (!move_uploaded_file($file['tmp_name'], "$basedir/$file_name")) + return ""; + chmod("$basedir/$file_name", 0666); + return $file_name; + } function math_assignment_list_servers($selected) { Index: mod.html =================================================================== RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/mod.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** mod.html 13 Sep 2003 13:01:16 -0000 1.2 --- mod.html 14 Sep 2003 14:11:14 -0000 1.3 *************** *** 42,48 **** --- 42,66 ---- $form->aimsubject = $courses[$form->course]->shortname; } + // Process problems and solutions + $form->problemsurl = ""; + if ($form->problems) { + if (strcasecmp(substr($form->problems, 0, 5), "http:") == 0) { + $form->problemsurl = $form->problems; + $form->problems = "|url|"; + } + } + $form->solutionsurl = ""; + if ($form->solutions) { + if (strcasecmp(substr($form->solutions, 0, 5), "http:") == 0) { + $form->solutionsurl = $form->solutions; + $form->solutions = "|url|"; + } + } $strname = get_string("name"); $strtimedue = get_string("timedue", "math_assignment"); + $strnone = get_string("none"); + $strexternalurl = get_string("externalurl", "math_assignment"); + $struploadnew = get_string("uploadnew", "math_assignment"); $strproblems = get_string("problems", "math_assignment"); $strsolutions = get_string("solutions", "math_assignment"); *************** *** 53,57 **** ?> ! <form name="form" method="post" action="<?php echo $ME; ?>"> <center> --- 71,90 ---- ?> ! <script language="JavaScript"><!-- //hide ! function enableeditbox(type) ! { ! list = eval("document.form." + type); ! url = eval("document.form." + type + "url"); ! file = eval("document.form." + type + "file"); ! url.disabled = (list.value != "|url|"); ! file.disabled = (list.value != "|upload|"); ! } ! //end --></script> ! ! <form name="form" method="post" enctype="multipart/form-data" action="<?php echo $ME; ?>"> ! <?php ! $upload_max_filesize = get_max_upload_file_size(); ! echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$upload_max_filesize\" />"; ! ?> <center> *************** *** 73,77 **** echo " - "; print_time_selector("duehour", "dueminute", $form->timedue, 5); ! helpbutton("addupdate_timedue", $strtimedue, "math_assignment"); ?></td> </tr> --- 106,110 ---- echo " - "; print_time_selector("duehour", "dueminute", $form->timedue, 5); ! helpbutton("addupdate_timedue", $strtimedue, "math_assignment"); ?></td> </tr> *************** *** 82,94 **** </td> <td> ! <?php $rootdir = $CFG->dataroot . "/" . $course->id; $coursedirs = get_directory_list($rootdir, $CFG->moddata); $options = array(); foreach ($coursedirs as $dir) { $options["$dir"] = $dir; } ! choose_from_menu ($options, "problems", $form->problems, "choose", "", ""); helpbutton("addupdate_problems", $strproblems, "math_assignment"); ?> </td> --- 115,145 ---- </td> <td> ! <?php $rootdir = $CFG->dataroot . "/" . $course->id; $coursedirs = get_directory_list($rootdir, $CFG->moddata); $options = array(); + $options["|url|"] = $strexternalurl; + $options["|upload|"] = $struploadnew; foreach ($coursedirs as $dir) { $options["$dir"] = $dir; } ! echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" align=\"left\">\n"; ! echo "<tr valign=\"middle\">\n"; ! echo "<td align=\"left\" rowspan=\"2\">\n"; ! choose_from_menu ($options, "problems", $form->problems, $strnone, "enableeditbox('problems');", ""); ! echo "</td>\n<td align=\"left\">"; ! echo "<input type=\"text\" name=\"problemsurl\" size=\"44\" maxlength=\"255\" value=\"$form->problemsurl\""; ! if ($form->problems == "|url|") ! echo " />"; ! else ! echo " disabled=\"true\" />"; ! echo "</td>\n<td align=\"left\" rowspan=\"2\">"; helpbutton("addupdate_problems", $strproblems, "math_assignment"); + echo "</td>\n</tr>\n"; + echo "<tr valign=\"middle\">\n"; + echo "<td align=\"left\">"; + echo "<input type=\"file\" name=\"problemsfile\" size=\"40\" value=\"\" disabled=\"true\" />"; + echo "</td>\n</tr>\n"; + echo "</table>\n"; ?> </td> *************** *** 104,112 **** $coursedirs = get_directory_list($rootdir, $CFG->moddata); $options = array(); foreach ($coursedirs as $dir) { $options["$dir"] = $dir; } ! choose_from_menu ($options, "solutions", $form->solutions, "choose", "", ""); helpbutton("addupdate_solutions", $strsolutions, "math_assignment"); ?> </td> --- 155,181 ---- $coursedirs = get_directory_list($rootdir, $CFG->moddata); $options = array(); + $options["|url|"] = $strexternalurl; + $options["|upload|"] = $struploadnew; foreach ($coursedirs as $dir) { $options["$dir"] = $dir; } ! echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" align=\"left\">\n"; ! echo "<tr valign=\"middle\">\n"; ! echo "<td align=\"left\" rowspan=\"2\">\n"; ! choose_from_menu ($options, "solutions", $form->solutions, $strnone, "enableeditbox('solutions');", ""); ! echo "</td>\n<td align=\"left\">"; ! echo "<input type=\"text\" name=\"solutionsurl\" size=\"44\" maxlength=\"255\" value=\"$form->solutionsurl\""; ! if ($form->solutions == "|url|") ! echo " />"; ! else ! echo " disabled=\"true\" />"; ! echo "</td>\n<td align=\"left\" rowspan=\"2\">"; helpbutton("addupdate_solutions", $strsolutions, "math_assignment"); + echo "</td>\n</tr>\n"; + echo "<tr valign=\"middle\">\n"; + echo "<td align=\"left\">"; + echo "<input type=\"file\" name=\"solutionsfile\" size=\"40\" value=\"\" disabled=\"true\" />"; + echo "</td>\n</tr>\n"; + echo "</table>\n"; ?> </td> |