Update of /cvsroot/aimmath/moodle/mod/math_assignment
In directory sc8-pr-cvs1:/tmp/cvs-serv8087/mod/math_assignment
Modified Files:
config.html email.php lib.php version.php view.php
Log Message:
Added further code for the sending of emails about grades
Index: config.html
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/config.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** config.html 23 Sep 2003 17:54:40 -0000 1.5
--- config.html 25 Sep 2003 22:14:09 -0000 1.6
***************
*** 5,8 ****
--- 5,10 ----
$strlatexoutput = get_string("latexoutput", "math_assignment");
$straimdisplay = get_string("aimdisplay", "math_assignment");
+ $strdefaultemailhost = get_string("defaultemailhost", "math_assignment");
+ $strsecretaryemail = get_string("secretaryemail", "math_assignment");
$strcoursesettings = get_string("coursesettings", "math_assignment");
$straimserver = get_string("aimserver", "math_assignment");
***************
*** 59,62 ****
--- 61,74 ----
?></td>
<td align="left"><?php helpbutton ("config_aimdisplay", $straimdisplay, "math_assignment"); ?></td>
+ </tr>
+ <tr valign="top">
+ <td align="right"><p><b><?php echo $strdefaultemailhost; ?>:</b></p></td>
+ <td align="left"><input type="text" name="math_assignment_default_email_host" size="40" maxlength="255" value="<?php echo $CFG->math_assignment_default_email_host; ?>" /></td>
+ <td align="left"><?php helpbutton ("config_defaultemailhost", $strdefaultemailhost, "math_assignment"); ?></td>
+ </tr>
+ <tr valign="top">
+ <td align="right"><p><b><?php echo $strsecretaryemail; ?>:</b></p></td>
+ <td align="left"><input type="text" name="math_assignment_secretary_email" size="40" maxlength="255" value="<?php echo $CFG->math_assignment_secretary_email; ?>" /></td>
+ <td align="left"><?php helpbutton ("config_secretaryemail", $strsecretaryemail, "math_assignment"); ?></td>
</tr>
<?php
Index: email.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/email.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** email.php 25 Sep 2003 17:15:41 -0000 1.1
--- email.php 25 Sep 2003 22:14:09 -0000 1.2
***************
*** 38,46 ****
$students = math_assignment_get_grades($math_assignment);
if ($students) {
foreach ($students as $student) {
! // send email to the student + add to main email
}
}
// send email to secretaries
redirect("view.php?id=$cm->id", get_string("emailssent", "math_assignment"), 1);
}
--- 38,55 ----
$students = math_assignment_get_grades($math_assignment);
if ($students) {
+ $failed = 0;
foreach ($students as $student) {
! // send email to the student
! if (!math_assignment_email_grades($math_assignment, $student))
! $failed++;
}
}
+ if ($failed == count($students))
+ error(get_string("failed", "math_assignment"), "view.php?id=$cm->id");
// send email to secretaries
+ if (!math_assignment_email_all_grades($math_assignment, $students))
+ error(get_string("failed", "math_assignment"), "view.php?id=$cm->id");
+ // set flag in database
+ //set_field("math_assignment", "papersheetsreturned", "1", "id", $math_assignment->id);
redirect("view.php?id=$cm->id", get_string("emailssent", "math_assignment"), 1);
}
Index: lib.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/lib.php,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** lib.php 25 Sep 2003 19:29:10 -0000 1.22
--- lib.php 25 Sep 2003 22:14:09 -0000 1.23
***************
*** 178,188 ****
if ($math_assignments) {
foreach ($math_assignments as $math_assignment) {
! // build the email
! $students = math_assignment_get_grades($math_assignment);
! if ($students) {
! foreach ($students as $student) {
! }
! // send it to the secretaries
! }
}
}
--- 178,183 ----
if ($math_assignments) {
foreach ($math_assignments as $math_assignment) {
! if ($students = math_assignment_get_grades($math_assignment))
! math_assignment_email_all_grades($math_assignment, $students);
}
}
***************
*** 799,803 ****
else
$sortsql = "u.$sort $sortdir";
! $students = get_records_sql("SELECT s.userid, u.firstname, u.lastname, u.picture, g.papergrade, g.aimgrade, g.aimoverride, g.aimcomment, least(greatest(g.papergrade,0), $math_assignment->papergrade)+least(greatest(g.aimgrade,0), $math_assignment->aimgrade) AS totalgrade FROM {$CFG->prefix}user_students s LEFT JOIN {$CFG->prefix}user u ON s.course = '$math_assignment->course' AND u.id = s.userid LEFT JOIN {$CFG->prefix}math_assignment_grades g ON g.assignment = '$math_assignment->id' AND g.userid = s.userid WHERE u.deleted = '0' ORDER BY $sortsql");
break;
default:
--- 794,798 ----
else
$sortsql = "u.$sort $sortdir";
! $students = get_records_sql("SELECT s.userid, u.firstname, u.lastname, u.email, u.mailformat, u.picture, g.papergrade, g.aimgrade, g.aimoverride, g.aimcomment, least(greatest(g.papergrade,0), $math_assignment->papergrade)+least(greatest(g.aimgrade,0), $math_assignment->aimgrade) AS totalgrade FROM {$CFG->prefix}user_students s LEFT JOIN {$CFG->prefix}user u ON s.course = '$math_assignment->course' AND u.id = s.userid LEFT JOIN {$CFG->prefix}math_assignment_grades g ON g.assignment = '$math_assignment->id' AND g.userid = s.userid WHERE u.deleted = '0' ORDER BY $sortsql");
break;
default:
***************
*** 806,812 ****
if ($students) {
foreach ($students as $key => $student) {
! if ($user = get_record_sql("SELECT firstname, lastname, picture FROM {$CFG->prefix}user WHERE id = '$key' AND deleted = '0'")) {
$students[$key]->firstname = $user->firstname;
$students[$key]->lastname = $user->lastname;
$students[$key]->picture = $user->picture;
$grade = get_record_sql("SELECT papergrade, aimgrade, aimoverride, aimcomment FROM {$CFG->prefix}math_assignment_grades WHERE assignment = '$math_assignment->id' and userid = '$key'");
--- 801,809 ----
if ($students) {
foreach ($students as $key => $student) {
! if ($user = get_record_sql("SELECT firstname, lastname, email, mailformat, picture FROM {$CFG->prefix}user WHERE id = '$key' AND deleted = '0'")) {
$students[$key]->firstname = $user->firstname;
$students[$key]->lastname = $user->lastname;
+ $students[$key]->email = $user->email;
+ $students[$key]->mailformat = $user->mailformat;
$students[$key]->picture = $user->picture;
$grade = get_record_sql("SELECT papergrade, aimgrade, aimoverride, aimcomment FROM {$CFG->prefix}math_assignment_grades WHERE assignment = '$math_assignment->id' and userid = '$key'");
***************
*** 852,855 ****
--- 849,871 ----
}
+ function math_assignment_email_grades($math_assignment, $student) {
+ /// Function which constructs an email telling the student what their grade is
+
+ // build the email
+ // send the email to $student->email
+ return true;
+ }
+
+ function math_assignment_email_all_grades($math_assignment, $students) {
+ /// Function which constructs an email listing all the grades found and emails it to the secretaries
+
+ global $CFG;
+
+ // build the email
+ foreach ($students as $student) {
+ }
+ // send the email to $CFG->math_assignment_secretary_email
+ return true;
+ }
?>
Index: version.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/version.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** version.php 25 Sep 2003 17:15:41 -0000 1.10
--- version.php 25 Sep 2003 22:14:09 -0000 1.11
***************
*** 6,10 ****
/////////////////////////////////////////////////////////////////////////////////
! $module->version = 2003092516; // The (date) version of this module
$module->cron = 1200; // How often should cron check this module (seconds)?
--- 6,10 ----
/////////////////////////////////////////////////////////////////////////////////
! $module->version = 2003092523; // The (date) version of this module
$module->cron = 1200; // How often should cron check this module (seconds)?
Index: view.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/view.php,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** view.php 25 Sep 2003 17:15:41 -0000 1.16
--- view.php 25 Sep 2003 22:14:09 -0000 1.17
***************
*** 61,64 ****
--- 61,65 ----
$strfirstname = get_string("firstname");
$strlastname = get_string("lastname");
+ $stremail = get_string("email");
$strpaper = get_string("paper", "math_assignment");
$strcomputer = get_string("computer", "math_assignment");
***************
*** 312,316 ****
if (isteacher($course->id)) {
! $zonelink = false;
if ($subject = get_record("math_assignment_subject", "course", $course->id)) {
if ($server = get_record("math_assignment_server", "id", $subject->server))
--- 313,317 ----
if (isteacher($course->id)) {
! $zonelink = "";
if ($subject = get_record("math_assignment_subject", "course", $course->id)) {
if ($server = get_record("math_assignment_server", "id", $subject->server))
***************
*** 320,335 ****
print_heading($strgrades);
- // get sort strings
if ($hasboth) {
echo "<p align=\"center\"><b>" . get_string("maximumgrade") . "</b>: $math_assignment->papergrade ($strpaper) + $math_assignment->aimgrade ($strcomputer) = $totalmax</p>";
! $table->head = array ("", get_sortable_header($cm->id, "firstname", $sort, $sortdir), get_sortable_header($cm->id, "lastname", $sort, $sortdir), "$strpaper $strgrade", "$strcomputer $strgrade", get_sortable_header($cm->id, "totalgrade", $sort, $sortdir, "$strtotal $strgrade"));
! $table->width = array(35, "", "", "", "", "");
! $table->align = array("LEFT", "RIGHT", "LEFT", "CENTER", "CENTER", "CENTER");
}
else {
echo "<p align=\"center\"><b>" . get_string("maximumgrade") . "</b>: $totalmax</p>";
! $table->head = array ("", get_sortable_header($cm->id, "firstname", $sort, $sortdir), get_sortable_header($cm->id, "lastname", $sort, $sortdir), "$strgrade");
! $table->width = array(35, "", "", "");
! $table->align = array("LEFT", "RIGHT", "LEFT", "CENTER");
}
--- 321,335 ----
print_heading($strgrades);
if ($hasboth) {
echo "<p align=\"center\"><b>" . get_string("maximumgrade") . "</b>: $math_assignment->papergrade ($strpaper) + $math_assignment->aimgrade ($strcomputer) = $totalmax</p>";
! $table->head = array ("", get_sortable_header($cm->id, "firstname", $sort, $sortdir), get_sortable_header($cm->id, "lastname", $sort, $sortdir), $stremail, "$strpaper $strgrade", "$strcomputer $strgrade", get_sortable_header($cm->id, "totalgrade", $sort, $sortdir, "$strtotal $strgrade"));
! $table->width = array(35, "", "", "", "", "", "");
! $table->align = array("LEFT", "RIGHT", "LEFT", "CENTER", "CENTER", "CENTER", "CENTER");
}
else {
echo "<p align=\"center\"><b>" . get_string("maximumgrade") . "</b>: $totalmax</p>";
! $table->head = array ("", get_sortable_header($cm->id, "firstname", $sort, $sortdir), get_sortable_header($cm->id, "lastname", $sort, $sortdir), $stremail, "$strgrade");
! $table->width = array(35, "", "", "", "");
! $table->align = array("LEFT", "RIGHT", "LEFT", "CENTER", "CENTER");
}
***************
*** 343,374 ****
if ($student->papergrade >= 0)
$papergrade = $student->papergrade;
! else
! $papergrade = "";
! $papergrade = "<input type=\"text\" name=\"$student->userid\" size=\"10\" maxlength=\"10\" value=\"$papergrade\" tabindex=\"$i\" />";
! if ($student->aimgrade >= 0)
! $aimgrade = $student->aimgrade;
! else
! $aimgrade = "";
! if ($student->aimoverride) {
! $edited = "$stredited (";
! $editedclose = ")";
! }
! else if ($student->aimcomment) {
! $edited = "$strcommented (";
! $editedclose = ")";
! }
! else {
! $edited = "";
! $editedclose = "";
! }
!
if ($hasboth)
! $table->data[] = array($picture, $student->firstname, $student->lastname, $papergrade,
"$aimgrade $edited<a href=\"editgrade.php?id=$math_assignment->id&userid=$student->userid\">$stredit</a>$editedclose", $student->totalgrade);
else if ($haspaper)
! $table->data[] = array($picture, $student->firstname, $student->lastname, $papergrade);
else if ($hasaim)
! $table->data[] = array($picture, $student->firstname, $student->lastname,
"$aimgrade $edited<a href=\"editgrade.php?id=$math_assignment->id&userid=$student->userid\">$stredit</a>$editedclose");
--- 343,387 ----
if ($student->papergrade >= 0)
$papergrade = $student->papergrade;
! else
! $papergrade = "";
! $papergrade = "<input type=\"text\" name=\"$student->userid\" size=\"10\" maxlength=\"10\" value=\"$papergrade\" tabindex=\"$i\" />";
! if ($student->aimgrade >= 0)
! $aimgrade = $student->aimgrade;
! else
! $aimgrade = "";
! if ($student->aimoverride) {
! $edited = "$stredited (";
! $editedclose = ")";
! }
! else if ($student->aimcomment) {
! $edited = "$strcommented (";
! $editedclose = ")";
! }
! else {
! $edited = "";
! $editedclose = "";
! }
!
! $email = "<a href=\"mailto:$student->email\">";
! if ($CFG->math_assignment_default_email_host) {
! if (preg_match("/^(.*)@(.*)$/", $student->email, $matches)) {
! if (strcmp($matches[2], $CFG->math_assignment_default_email_host) == 0)
! $email .= "$matches[1]</a>";
! else
! $email .= "$student->email</a>";
! }
! else
! $email .= "$student->email</a>";
! }
! else
! $email .= "$student->email</a>";
if ($hasboth)
! $table->data[] = array($picture, $student->firstname, $student->lastname, $email, $papergrade,
"$aimgrade $edited<a href=\"editgrade.php?id=$math_assignment->id&userid=$student->userid\">$stredit</a>$editedclose", $student->totalgrade);
else if ($haspaper)
! $table->data[] = array($picture, $student->firstname, $student->lastname, $email, $papergrade);
else if ($hasaim)
! $table->data[] = array($picture, $student->firstname, $student->lastname, $email,
"$aimgrade $edited<a href=\"editgrade.php?id=$math_assignment->id&userid=$student->userid\">$stredit</a>$editedclose");
|