| … | |
… | |
| 322 | ""; |
322 | ""; |
| 323 | } |
323 | } |
| 324 | # End the"body" routine for the Problem object. |
324 | # End the"body" routine for the Problem object. |
| 325 | |
325 | |
| 326 | |
326 | |
|
|
327 | sub safetyFilter { |
|
|
328 | my $answer = shift; # accepts one answer and checks it |
|
|
329 | my $submittedAnswer = $answer; |
|
|
330 | $answer = '' unless defined $answer; |
|
|
331 | my ($errorno); |
|
|
332 | $answer =~ tr/\000-\037/ /; |
|
|
333 | #### Return if answer field is empty ######## |
|
|
334 | unless ($answer =~ /\S/) { |
|
|
335 | # $errorno = "<BR>No answer was submitted."; |
|
|
336 | $errorno = 0; ## don't report blank answer as error |
|
|
337 | |
|
|
338 | return ($answer,$errorno); |
|
|
339 | } |
|
|
340 | ######### replace ^ with ** (for exponentiation) |
|
|
341 | # $answer =~ s/\^/**/g; |
|
|
342 | ######### Return if forbidden characters are found |
|
|
343 | unless ($answer =~ /^[a-zA-Z0-9_\-\+ \t\/@%\*\.\n^\(\)]+$/ ) { |
|
|
344 | $answer =~ tr/a-zA-Z0-9_\-\+ \t\/@%\*\.\n^\(\)/#/c; |
|
|
345 | $errorno = "<BR>There are forbidden characters in your answer: $submittedAnswer<BR>"; |
|
|
346 | |
|
|
347 | return ($answer,$errorno); |
|
|
348 | } |
|
|
349 | |
|
|
350 | $errorno = 0; |
|
|
351 | return($answer, $errorno); |
|
|
352 | } |
| 327 | |
353 | |
| 328 | |
354 | |
| 329 | |
355 | |
| 330 | |
356 | |
| 331 | ######################################################################################## |
357 | ######################################################################################## |