[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 1159 Revision 1196
16use File::Path qw(rmtree); 16use File::Path qw(rmtree);
17use WeBWorK::PG::ImageGenerator; 17use WeBWorK::PG::ImageGenerator;
18use WeBWorK::PG::Translator; 18use WeBWorK::PG::Translator;
19use WeBWorK::Utils qw(readFile formatDateTime writeTimingLogEntry makeTempDirectory); 19use WeBWorK::Utils qw(readFile formatDateTime writeTimingLogEntry makeTempDirectory);
20 20
21sub new($$$$$$$$) { 21sub new {
22 my $invocant = shift; 22 my $invocant = shift;
23 my $class = ref($invocant) || $invocant; 23 my $class = ref($invocant) || $invocant;
24 my ( 24 my (
25 $courseEnv, 25 $courseEnv,
26 $user, 26 $user,
100 #warn "PG: setting the opcode mask (using default values)\n"; 100 #warn "PG: setting the opcode mask (using default values)\n";
101 $translator->set_mask(); 101 $translator->set_mask();
102 102
103 # store the problem source 103 # store the problem source
104 #warn "PG: storing the problem source\n"; 104 #warn "PG: storing the problem source\n";
105 my $sourceFile = ( defined($translationOptions->{override_problem_source}) ) ? 105 my $sourceFile = $problem->source_file;
106 $translationOptions->{override_problem_source} :
107 $problem->source_file;
108 $sourceFile = $courseEnv->{courseDirs}->{templates}."/".$sourceFile 106 $sourceFile = $courseEnv->{courseDirs}->{templates}."/".$sourceFile
109 unless ($sourceFile =~ /^\//); 107 unless ($sourceFile =~ /^\//);
110 eval { $translator->source_string(readFile($sourceFile)) }; 108 eval { $translator->source_string(readFile($sourceFile)) };
111 if ($@) { 109 if ($@) {
112 # well, we couldn't get the problem source, for some reason. 110 # well, we couldn't get the problem source, for some reason.
228 }, $class; 226 }, $class;
229} 227}
230 228
231# ----- 229# -----
232 230
233sub defineProblemEnvir($$$$$$$) { 231sub defineProblemEnvir {
234 my ( 232 my (
235 $courseEnv, 233 $courseEnv,
236 $user, 234 $user,
237 $key, 235 $key,
238 $set, 236 $set,
252 250
253 # Vital state information 251 # Vital state information
254 # ADDED: displayHintsQ, displaySolutionsQ, refreshMath2img, 252 # ADDED: displayHintsQ, displaySolutionsQ, refreshMath2img,
255 # texDisposition 253 # texDisposition
256 254
257 $envir{psvn} = $psvn; 255 $envir{psvn} = $set->psvn;
258 $envir{psvnNumber} = $envir{psvn}; 256 $envir{psvnNumber} = $envir{psvn};
259 $envir{probNum} = $problem->problem_id; 257 $envir{probNum} = $problem->problem_id;
260 $envir{questionNumber} = $envir{probNum}; 258 $envir{questionNumber} = $envir{probNum};
261 $envir{fileName} = $problem->source_file; 259 $envir{fileName} = $problem->source_file;
262 $envir{probFileName} = $envir{fileName}; 260 $envir{probFileName} = $envir{fileName};
263 $envir{problemSeed} = (defined($options->{override_seed}) ) ? $options->{override_seed} :$problem->problem_seed; 261 $envir{problemSeed} = $problem->problem_seed;
264 $envir{displayMode} = translateDisplayModeNames($options->{displayMode}); 262 $envir{displayMode} = translateDisplayModeNames($options->{displayMode});
265 $envir{languageMode} = $envir{displayMode}; 263 $envir{languageMode} = $envir{displayMode};
266 $envir{outputMode} = $envir{displayMode}; 264 $envir{outputMode} = $envir{displayMode};
267 $envir{displayHintsQ} = $options->{showHints}; 265 $envir{displayHintsQ} = $options->{showHints};
268 $envir{displaySolutionsQ} = $options->{showSolutions}; 266 $envir{displaySolutionsQ} = $options->{showSolutions};
345 my $ansEvalDefaults = $courseEnv->{pg}->{ansEvalDefaults}; 343 my $ansEvalDefaults = $courseEnv->{pg}->{ansEvalDefaults};
346 $envir{$_} = $ansEvalDefaults->{$_} foreach (keys %$ansEvalDefaults); 344 $envir{$_} = $ansEvalDefaults->{$_} foreach (keys %$ansEvalDefaults);
347 345
348 # ---------------------------------------------------------------------- 346 # ----------------------------------------------------------------------
349 347
348 my $basename = "equation-$envir{psvn}.$envir{probNum}";
349 $basename .= ".$envir{problemSeed}" if $envir{problemSeed};
350
350 # Object for generating equation images 351 # Object for generating equation images
351 $envir{imagegen} = WeBWorK::PG::ImageGenerator->new( 352 $envir{imagegen} = WeBWorK::PG::ImageGenerator->new(
352 tempDir => $courseEnv->{webworkDirs}->{tmp}, # global temp dir 353 tempDir => $courseEnv->{webworkDirs}->{tmp}, # global temp dir
353 dir => $envir{tempDirectory}, 354 dir => $envir{tempDirectory},
354 url => $envir{tempURL}, 355 url => $envir{tempURL},
355 basename => "equation-$envir{psvn}.$envir{probNum}.$envir{problemSeed}", 356 basename => $basename,
356 latex => $envir{externalLaTeXPath}, 357 latex => $envir{externalLaTeXPath},
357 dvipng => $envir{externalDvipngPath}, 358 dvipng => $envir{externalDvipngPath},
358 ); 359 );
359 360
360 # Other things... 361 # Other things...

Legend:
Removed from v.1159  
changed lines
  Added in v.1196

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9