[system] / branches / rel-2-4-patches / webwork-modperl / lib / WeBWorK / PG.pm Repository:
ViewVC logotype

Diff of /branches/rel-2-4-patches/webwork-modperl/lib/WeBWorK/PG.pm

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

Revision 414 Revision 415
7use WeBWorK::Utils qw(readFile formatDateTime); 7use WeBWorK::Utils qw(readFile formatDateTime);
8use WeBWorK::DB::Classlist; 8use WeBWorK::DB::Classlist;
9use WeBWorK::DB::WW; 9use WeBWorK::DB::WW;
10use WeBWorK::PG::Translator; 10use WeBWorK::PG::Translator;
11 11
12use base qw(Exporter); 12sub new($$$$$$) {
13our @EXPORT = qw(init_translator); 13 my $invocant = shift;
14our @EXPORT_OK = qw(); 14 my $class = ref($invocant) || $invocant;
15 15
16sub init_translator($$$$$) {
17 my $courseEnv = shift; 16 my $courseEnv = shift;
18 my $userName = shift; 17 my $userName = shift;
19 my $setName = shift; 18 my $setName = shift;
20 my $problemNumber = shift; 19 my $problemNumber = shift;
21 my $formData = shift; 20 my $formData = shift;
85 $translator->source_string(readFile($sourceFile)); 84 $translator->source_string(readFile($sourceFile));
86 85
87 # install a safety filter (&safetyFilter) 86 # install a safety filter (&safetyFilter)
88 $translator->rf_safety_filter(\&safetyFilter); 87 $translator->rf_safety_filter(\&safetyFilter);
89 88
90 # return the translator 89 # translate the PG source into text
91 return $translator; 90 $translator->translate();
91
92 # install a grader
93 my $grader = $courseEnv->{pg}->{grader};
94 $translator->rf_problem_grader(\&FIXME); # *** need a coderef!
95
96 # process student answers (if any)
97 $translator->process_answers($formData);
98
99 # a PG object is a REFERENCE to a Translator object
100 return bless \$translator, $class;
92} 101}
93 102
94# ----- 103# -----
95 104
96sub defineProblemEnvir($$$$$$) { 105sub defineProblemEnvir($$$$$$) {
178 187
179 return \%envir; 188 return \%envir;
180} 189}
181 190
182sub safetyFilter { 191sub safetyFilter {
183 my $answer = shift; # accepts one answer and checks it 192 my $answer = shift; # accepts one answer and checks it
184 my $submittedAnswer = $answer; 193 my $submittedAnswer = $answer;
185 $answer = '' unless defined $answer; 194 $answer = '' unless defined $answer;
186 my ($errorno); 195 my ($errorno);
187 $answer =~ tr/\000-\037/ /; 196 $answer =~ tr/\000-\037/ /;
188 # Return if answer field is empty 197 # Return if answer field is empty

Legend:
Removed from v.414  
changed lines
  Added in v.415

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9