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>
|