| … | |
… | |
| 48 | |
48 | |
| 49 | # fix format of setName and problem |
49 | # fix format of setName and problem |
| 50 | $setName =~ s/^set//; |
50 | $setName =~ s/^set//; |
| 51 | $problemNumber =~ s/^prob//; |
51 | $problemNumber =~ s/^prob//; |
| 52 | |
52 | |
| 53 | # make sure $problemNumber is numeric (see PG.pm) |
|
|
| 54 | die "Problem must be numeric!\n" unless $problemNumber =~ /^\d+$/; |
|
|
| 55 | |
|
|
| 56 | ##### database setup ##### |
53 | ##### database setup ##### |
| 57 | |
54 | |
| 58 | my $cldb = WeBWorK::DB::Classlist->new($courseEnv); |
55 | my $cldb = WeBWorK::DB::Classlist->new($courseEnv); |
| 59 | my $wwdb = WeBWorK::DB::WW->new($courseEnv); |
56 | my $wwdb = WeBWorK::DB::WW->new($courseEnv); |
| 60 | my $authdb = WeBWorK::DB::Auth->new($courseEnv); |
57 | my $authdb = WeBWorK::DB::Auth->new($courseEnv); |
| 61 | |
58 | |
| 62 | my $user = $cldb->getUser($userName); |
59 | my $user = $cldb->getUser($userName); |
| 63 | my $set = $wwdb->getSet($userName, $setName); |
60 | my $set = $wwdb->getSet($userName, $setName); |
| 64 | my $problem = $wwdb->getProblem($userName, $setName, $problemNumber); |
61 | my $problem = $wwdb->getProblem($userName, $setName, $problemNumber); |
|
|
62 | my $psvn = $wwdb->getPSVN($userName, $setName); |
| 65 | my $permissionLevel = $authdb->getPermissions($userName); |
63 | my $permissionLevel = $authdb->getPermissions($userName); |
| 66 | |
64 | |
| 67 | ##### form processing ##### |
65 | ##### form processing ##### |
| 68 | |
66 | |
| 69 | # set options from form fields (see comment at top of file for names) |
67 | # set options from form fields (see comment at top of file for names) |
| … | |
… | |
| 121 | |
119 | |
| 122 | ##### translation ##### |
120 | ##### translation ##### |
| 123 | |
121 | |
| 124 | my $pg = WeBWorK::PG->new( |
122 | my $pg = WeBWorK::PG->new( |
| 125 | $courseEnv, |
123 | $courseEnv, |
| 126 | $r->param('user'), |
124 | $user, |
| 127 | $r->param('key'), |
125 | $r->param('key'), |
| 128 | $setName, |
126 | $set, |
| 129 | $problemNumber, |
127 | $problem, |
|
|
128 | $psvn, |
|
|
129 | $formFields, |
| 130 | { # translation options |
130 | { # translation options |
| 131 | displayMode => $displayMode, |
131 | displayMode => $displayMode, |
| 132 | showHints => $will{showHints}, |
132 | showHints => $will{showHints}, |
| 133 | showSolutions => $will{showSolutions}, |
133 | showSolutions => $will{showSolutions}, |
| 134 | refreshMath2img => $will{showHints} || $will{showSolutions}, |
134 | refreshMath2img => $will{showHints} || $will{showSolutions}, |
| 135 | # try leaving processAnswers on all the time? |
135 | # try leaving processAnswers on all the time? |
| 136 | processAnswers => 1, #$submitAnswers ? 1 : 0, |
136 | processAnswers => 1, #$submitAnswers ? 1 : 0, |
| 137 | }, |
137 | }, |
| 138 | $formFields |
|
|
| 139 | ); |
138 | ); |
| 140 | |
139 | |
| 141 | ##### store fields ##### |
140 | ##### store fields ##### |
| 142 | |
141 | |
| 143 | $self->{cldb} = $cldb; |
142 | $self->{cldb} = $cldb; |