[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; + } ?> |