[Aimmath-commit] moodle/mod/math_assignment lib.php,1.29,1.30
Brought to you by:
gustav_delius,
npstrick
|
From: <gus...@us...> - 2003-09-29 02:41:59
|
Update of /cvsroot/aimmath/moodle/mod/math_assignment
In directory sc8-pr-cvs1:/tmp/cvs-serv24136/mod/math_assignment
Modified Files:
lib.php
Log Message:
removed html_entity_decode which requires php 4.3.
Index: lib.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/lib.php,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** lib.php 28 Sep 2003 16:23:29 -0000 1.29
--- lib.php 28 Sep 2003 23:15:32 -0000 1.30
***************
*** 654,661 ****
// find the row which gives the totals
if (preg_match("/<td(?:\s[^<>]*?|)>Total<\/td>(?:.(?!<td\s|<td>))*.?<td(?:\s[^<>]*?|)>((?:.(?!<\/td>))*?.?)<\/td>(?:.(?!<td\s|<td>))*.?<td(?:\s[^<>]*?|)>((?:.(?!<\/td>))*?.?)<\/td>/si", $data, $matches)) {
! if (empty($CFG->math_assignment_grade_multiplier))
! $CFG->math_assignment_grade_multiplier = 1.0;
! $max_grade = (int) (((float) html_entity_decode($matches[1])) * ((float) $CFG->math_assignment_grade_multiplier));
! $grade = (int) (((float) html_entity_decode($matches[2])) * ((float) $CFG->math_assignment_grade_multiplier));
}
}
--- 654,661 ----
// find the row which gives the totals
if (preg_match("/<td(?:\s[^<>]*?|)>Total<\/td>(?:.(?!<td\s|<td>))*.?<td(?:\s[^<>]*?|)>((?:.(?!<\/td>))*?.?)<\/td>(?:.(?!<td\s|<td>))*.?<td(?:\s[^<>]*?|)>((?:.(?!<\/td>))*?.?)<\/td>/si", $data, $matches)) {
! if (empty($CFG->math_assignment_grade_multiplier))
! $CFG->math_assignment_grade_multiplier = 1.0;
! $max_grade = (int) (((float) decodeHTML($matches[1])) * ((float) $CFG->math_assignment_grade_multiplier));
! $grade = (int) (((float) decodeHTML($matches[2])) * ((float) $CFG->math_assignment_grade_multiplier));
}
}
***************
*** 678,683 ****
if (empty($CFG->math_assignment_grade_multiplier))
$CFG->math_assignment_grade_multiplier = 1.0;
! $max_grade = (int) (((float) html_entity_decode($matches[1])) * ((float) $CFG->math_assignment_grade_multiplier));
! $grade = (int) (((float) html_entity_decode($matches[2])) * ((float) $CFG->math_assignment_grade_multiplier));
}
}
--- 678,683 ----
if (empty($CFG->math_assignment_grade_multiplier))
$CFG->math_assignment_grade_multiplier = 1.0;
! $max_grade = (int) (((float) decodeHTML($matches[1])) * ((float) $CFG->math_assignment_grade_multiplier));
! $grade = (int) (((float) decodeHTML($matches[2])) * ((float) $CFG->math_assignment_grade_multiplier));
}
}
***************
*** 868,907 ****
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'");
! if ($grade) {
! $students[$key]->papergrade = $grade->papergrade;
! $students[$key]->aimgrade = $grade->aimgrade;
! $students[$key]->aimoverride = $grade->aimoverride ;
! $students[$key]->aimcomment = $grade->aimcomment;
! $students[$key]->totalgrade = math_assignment_total_grade($math_assignment, $grade);
! }
! else {
! $students[$key]->papergrade = -1;
! $students[$key]->aimgrade = -1;
! $students[$key]->aimoverride = AIMOVR_OFF ;
! $students[$key]->aimcomment = "";
! $students[$key]->totalgrade = 0;
! }
! }
! else {
! // assume it failed because deleted was not zero
! unset($students[$key]);
! }
}
// sort
if (strcasecmp($sortdir, "desc") == 0)
! $mult = -1;
else
! $mult = 1;
if (strcasecmp($sort, "id") == 0)
! uksort($students, create_function('$a, $b', 'return (($a > $b) ? 1 : -1) * ' . $mult . ';'));
else
! uasort($students, create_function('$a, $b', 'return (($a->' . $sort . ' > $b->' . $sort . ') ? 1 : -1) * ' . $mult . ';'));
}
break;
--- 868,907 ----
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'");
! if ($grade) {
! $students[$key]->papergrade = $grade->papergrade;
! $students[$key]->aimgrade = $grade->aimgrade;
! $students[$key]->aimoverride = $grade->aimoverride ;
! $students[$key]->aimcomment = $grade->aimcomment;
! $students[$key]->totalgrade = math_assignment_total_grade($math_assignment, $grade);
! }
! else {
! $students[$key]->papergrade = -1;
! $students[$key]->aimgrade = -1;
! $students[$key]->aimoverride = AIMOVR_OFF ;
! $students[$key]->aimcomment = "";
! $students[$key]->totalgrade = 0;
! }
! }
! else {
! // assume it failed because deleted was not zero
! unset($students[$key]);
! }
}
// sort
if (strcasecmp($sortdir, "desc") == 0)
! $mult = -1;
else
! $mult = 1;
if (strcasecmp($sort, "id") == 0)
! uksort($students, create_function('$a, $b', 'return (($a > $b) ? 1 : -1) * ' . $mult . ';'));
else
! uasort($students, create_function('$a, $b', 'return (($a->' . $sort . ' > $b->' . $sort . ') ? 1 : -1) * ' . $mult . ';'));
}
break;
***************
*** 1023,1026 ****
--- 1023,1043 ----
return true;
}
+
+ function str_replace_once($needle, $replace, $haystack) {
+ // Looks for the first occurence of $needle in $haystack
+ // and replaces it with $replace.
+ $pos = strpos($haystack, $needle);
+ if ($pos === false) {
+ // Nothing found
+ return $haystack;
+ }
+ return substr_replace($haystack, $replace, $pos, strlen($needle));
+ }
+
+ function decodeHTML($string) {
+ $string = strtr($string, array_flip(get_html_translation_table(HTML_ENTITIES)));
+ $string = preg_replace("/&#([0-9]+);/me", "chr('\\1')", $string);
+ return $string;
+ }
?>
|