[system] / trunk / webwork2 / lib / WeBWorK / PG.pm Repository:
ViewVC logotype

Diff of /trunk/webwork2/lib/WeBWorK/PG.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 612 Revision 692
42 "user=".$user->id.",problem=".$courseEnv->{courseName}."/".$set->id."/".$problem->id.",mode=".$translationOptions->{displayMode}, 42 "user=".$user->id.",problem=".$courseEnv->{courseName}."/".$set->id."/".$problem->id.",mode=".$translationOptions->{displayMode},
43 "begin"); 43 "begin");
44 44
45 # install a local warn handler to collect warnings 45 # install a local warn handler to collect warnings
46 my $warnings = ""; 46 my $warnings = "";
47 if ($courseEnv->{pg}->{options}->{catchWarnings}) {
48 warn "PG: about to install a warnings handler...\n"; # ***
49 local $SIG{__WARN__} = sub { $warnings .= shift }; 47 local $SIG{__WARN__} = sub { $warnings .= shift }
50 } 48 if $courseEnv->{pg}->{options}->{catchWarnings};
51 49
52 # create a Translator 50 # create a Translator
53 #warn "PG: creating a Translator\n"; 51 #warn "PG: creating a Translator\n";
54 my $translator = WeBWorK::PG::Translator->new; 52 my $translator = WeBWorK::PG::Translator->new;
55 53
140 138
141 # install a safety filter (&safetyFilter) 139 # install a safety filter (&safetyFilter)
142 #warn "PG: installing a safety filter\n"; 140 #warn "PG: installing a safety filter\n";
143 $translator->rf_safety_filter(\&safetyFilter); 141 $translator->rf_safety_filter(\&safetyFilter);
144 142
143 # write timing log entry -- the translator is now all set up
144 writeTimingLogEntry($courseEnv, "WeBWorK::PG::new",
145 "initialized",
146 "intermediate");
147
145 # translate the PG source into text 148 # translate the PG source into text
146 #warn "PG: translating the PG source into text\n"; 149 #warn "PG: translating the PG source into text\n";
147 $translator->translate(); 150 $translator->translate();
148 151
149 # after we're done translating, we may have to clean up after the translator. 152 # after we're done translating, we may have to clean up after the translator.
251 $envir{probFileName} = $envir{fileName}; 254 $envir{probFileName} = $envir{fileName};
252 $envir{problemSeed} = $problem->problem_seed; 255 $envir{problemSeed} = $problem->problem_seed;
253 $envir{displayMode} = translateDisplayModeNames($options->{displayMode}); 256 $envir{displayMode} = translateDisplayModeNames($options->{displayMode});
254 $envir{languageMode} = $envir{displayMode}; 257 $envir{languageMode} = $envir{displayMode};
255 $envir{outputMode} = $envir{displayMode}; 258 $envir{outputMode} = $envir{displayMode};
256 $envir{displayHintsQ} = $options->{hints}; 259 $envir{displayHintsQ} = $options->{showHints};
257 $envir{displaySolutionsQ} = $options->{solutions}; 260 $envir{displaySolutionsQ} = $options->{showSolutions};
258 $envir{refreshMath2img} = $options->{refreshMath2img}; 261 $envir{refreshMath2img} = $options->{refreshMath2img};
259 $envir{texDisposition} = "pdf"; # in webwork-modperl, we use pdflatex 262 $envir{texDisposition} = "pdf"; # in webwork-modperl, we use pdflatex
260 263
261 # Problem Information 264 # Problem Information
262 # ADDED: courseName 265 # ADDED: courseName
318 $envir{webworkDocsURL} = $courseEnv->{webworkURLs}->{docs}."/"; 321 $envir{webworkDocsURL} = $courseEnv->{webworkURLs}->{docs}."/";
319 $envir{dvipngTempDir} = $options->{displayMode} eq 'images' 322 $envir{dvipngTempDir} = $options->{displayMode} eq 'images'
320 ? tempdir("webwork-dvipng-XXXXXXXX", DIR => $envir{tempDirectory}) 323 ? tempdir("webwork-dvipng-XXXXXXXX", DIR => $envir{tempDirectory})
321 : undef; 324 : undef;
322 325
326 # Information for sending mail
327
328 $envir{mailSmtpServer} = $courseEnv->{mail}->{smtpServer};
329 $envir{mailSmtpSender} = $courseEnv->{mail}->{smtpSender};
330
323 # Default values for evaluating answers 331 # Default values for evaluating answers
324 332
325 my $ansEvalDefaults = $courseEnv->{pg}->{ansEvalDefaults}; 333 my $ansEvalDefaults = $courseEnv->{pg}->{ansEvalDefaults};
326 $envir{$_} = $ansEvalDefaults->{$_} foreach (keys %$ansEvalDefaults); 334 $envir{$_} = $ansEvalDefaults->{$_} foreach (keys %$ansEvalDefaults);
327 335
354 $errorno = 0; ## don't report blank answer as error 362 $errorno = 0; ## don't report blank answer as error
355 return ($answer,$errorno); 363 return ($answer,$errorno);
356 } 364 }
357 # replace ^ with ** (for exponentiation) 365 # replace ^ with ** (for exponentiation)
358 # $answer =~ s/\^/**/g; 366 # $answer =~ s/\^/**/g;
359 # Return if forbidden characters are found 367 # Return if forbidden characters are found
360 unless ($answer =~ /^[a-zA-Z0-9_\-\+ \t\/@%\*\.\n^\(\)]+$/ ) { 368 unless ($answer =~ /^[a-zA-Z0-9_\-\+ \t\/@%\*\.\n^\(\)]+$/ ) {
361 $answer =~ tr/a-zA-Z0-9_\-\+ \t\/@%\*\.\n^\(\)/#/c; 369 $answer =~ tr/a-zA-Z0-9_\-\+ \t\/@%\*\.\n^\(\)/#/c;
362 $errorno = "<BR>There are forbidden characters in your answer: $submittedAnswer<BR>"; 370 $errorno = "<BR>There are forbidden characters in your answer: $submittedAnswer<BR>";
363 return ($answer,$errorno); 371 return ($answer,$errorno);
364 } 372 }

Legend:
Removed from v.612  
changed lines
  Added in v.692

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9