version 1.364, 2016/08/31 19:08:18
|
version 1.369, 2017/12/22 02:00:39
|
Line 190 sub proctor_checked_in {
|
Line 190 sub proctor_checked_in {
|
if ($type eq 'Task') { |
if ($type eq 'Task') { |
my $version=$Apache::lonhomework::history{'resource.0.version'}; |
my $version=$Apache::lonhomework::history{'resource.0.version'}; |
$key ="resource.$version.0.checkedin"; |
$key ="resource.$version.0.checkedin"; |
} elsif ($type eq 'problem') { |
} elsif (($type eq 'problem') || ($type eq 'tool')) { |
$key ='resource.0.checkedin'; |
$key ='resource.0.checkedin'; |
} |
} |
# backward compatability, used to be username@domain, |
# backward compatability, used to be username@domain, |
Line 205 sub proctor_checked_in {
|
Line 205 sub proctor_checked_in {
|
return 1; |
return 1; |
} |
} |
} |
} |
|
|
return 0; |
return 0; |
} |
} |
|
|
Line 350 sub check_slot_access {
|
Line 349 sub check_slot_access {
|
$is_correct = |
$is_correct = |
($Apache::lonhomework::history{"resource.$version.0.status"} eq 'pass' |
($Apache::lonhomework::history{"resource.$version.0.status"} eq 'pass' |
|| $Apache::lonhomework::history{"resource.0.solved"} =~ /^correct_/ ); |
|| $Apache::lonhomework::history{"resource.0.solved"} =~ /^correct_/ ); |
} elsif ($type eq 'problem') { |
} elsif (($type eq 'problem') || ($type eq 'tool')) { |
if ((ref($partlist) eq 'ARRAY') && (@{$partlist} > 0)) { |
if ((ref($partlist) eq 'ARRAY') && (@{$partlist} > 0)) { |
my ($numcorrect,$numgraded) = (0,0); |
my ($numcorrect,$numgraded) = (0,0); |
foreach my $part (@{$partlist}) { |
foreach my $part (@{$partlist}) { |
Line 410 sub check_slot_access {
|
Line 409 sub check_slot_access {
|
# used to gain access to it to work on it, until the due date is reached, and the |
# used to gain access to it to work on it, until the due date is reached, and the |
# problem then becomes CLOSED. Therefore return the slotstatus - |
# problem then becomes CLOSED. Therefore return the slotstatus - |
# (which will be one of: NOT_IN_A_SLOT, RESERVABLE, RESERVABLE_LATER, or NOTRESERVABLE). |
# (which will be one of: NOT_IN_A_SLOT, RESERVABLE, RESERVABLE_LATER, or NOTRESERVABLE). |
if (!defined($slot_name) && $type eq 'problem') { |
if (!defined($slot_name) && (($type eq 'problem') || ($type eq 'tool'))) { |
if ($slotstatus eq 'NOT_IN_A_SLOT') { |
if ($slotstatus eq 'NOT_IN_A_SLOT') { |
if (!$num_usable_slots) { |
if (!$num_usable_slots) { |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
Line 501 sub check_slot_access {
|
Line 500 sub check_slot_access {
|
} |
} |
|
|
if (($is_correct) && ($blockip ne 'answer')) { |
if (($is_correct) && ($blockip ne 'answer')) { |
if ($type eq 'problem') { |
if (($type eq 'problem') || ($type eq 'tool')) { |
return ($status); |
return ($status); |
} |
} |
return ('SHOW_ANSWER'); |
return ('SHOW_ANSWER'); |
Line 1431 sub get_template_html {
|
Line 1430 sub get_template_html {
|
sub newproblem { |
sub newproblem { |
my ($request) = @_; |
my ($request) = @_; |
|
|
if ($env{'form.mode'} eq 'blank'){ |
if ($env{'form.mode'} eq 'blank'){ |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
&File::Copy::copy('/home/httpd/html/res/adm/includes/templates/blank.problem',$dest); |
my $templatefilename = |
|
$request->dir_config('lonIncludes').'/templates/blank.problem'; |
|
&File::Copy::copy($templatefilename,$dest); |
&renderpage($request,$dest); |
&renderpage($request,$dest); |
return; |
return; |
} |
} |
|
my $errormsg; |
if ($env{'form.template'}) { |
if ($env{'form.template'}) { |
my $file = $env{'form.template'}; |
my $file; |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
my ($extension) = ($env{'form.template'} =~ /\.(\w+)$/); |
&File::Copy::copy($file,$dest); |
if ($extension) { |
&renderpage($request,$dest); |
my @files = &get_template_list($extension); |
return; |
foreach my $poss (@files) { |
|
if (ref($poss) eq 'ARRAY') { |
|
if ($env{'form.template'} eq $poss->[0]) { |
|
$file = $env{'form.template'}; |
|
last; |
|
} |
|
} |
|
} |
|
if ($file) { |
|
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
|
&File::Copy::copy($file,$dest); |
|
&renderpage($request,$dest); |
|
return; |
|
} else { |
|
$errormsg = '<p class="LC_error">'.&mt('Invalid template file.').'</p>'; |
|
} |
|
} else { |
|
$errormsg = '<p class="LC_error">'.&mt('Invalid template file; template needs to be a .problem, .library, or .task file.').'</p>'; |
|
} |
} |
} |
|
|
my ($extension) = ($request->uri =~ m/\.(\w+)$/); |
my ($extension) = ($request->uri =~ m/\.(\w+)$/); |
Line 1459 sub newproblem {
|
Line 1479 sub newproblem {
|
} else { |
} else { |
my $url=&HTML::Entities::encode($request->uri,'<>&"'); |
my $url=&HTML::Entities::encode($request->uri,'<>&"'); |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
my $dest = &Apache::lonnet::filelocation("",$request->uri); |
my $errormsg; |
|
my $instructions; |
my $instructions; |
my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), |
my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), |
'text' => 'Authoring Space'}, |
'text' => 'Authoring Space'}, |
Line 1787 sub default_xml_tag {
|
Line 1806 sub default_xml_tag {
|
|
|
sub helpmenu_datastructure { |
sub helpmenu_datastructure { |
|
|
my $width = 500; |
# filename, title, width, height |
my $height = 600; |
|
|
|
my $helpers = [ |
my $helpers = [ |
['Problem_LON-CAPA_Functions', &mt('Script Functions')], |
['Problem_LON-CAPA_Functions.hlp', &mt('Script Functions'), 800, 600], |
['Greek_Symbols', &mt('Greek Symbols')], |
['Greek_Symbols.hlp', &mt('Greek Symbols'), 500, 600], |
['Other_Symbols', &mt('Other Symbols')], |
['Other_Symbols.hlp', &mt('Other Symbols'), 500, 600], |
['Authoring_Output_Tags', &mt('Output Tags')], |
['Authoring_Output_Tags.hlp', &mt('Output Tags'), 800, 600], |
['Authoring_Multilingual_Problems', |
['Authoring_Multilingual_Problems.hlp', |
&mt('How to create problems in different languages')] |
&mt('How to create problems in different languages'), 800, 600], |
|
['loncapa.html', &mt('Language reference'), 800, 600], |
]; |
]; |
|
|
my $help_structure = []; |
my $help_structure = []; |
Line 1804 sub helpmenu_datastructure {
|
Line 1822 sub helpmenu_datastructure {
|
foreach my $count (0..(scalar(@{$helpers})-1)) { |
foreach my $count (0..(scalar(@{$helpers})-1)) { |
my $filename = $helpers->[$count]->[0]; |
my $filename = $helpers->[$count]->[0]; |
my $title = $helpers->[$count]->[1]; |
my $title = $helpers->[$count]->[1]; |
my $href = &HTML::Entities::encode("javascript:openMyModal('/adm/help/$filename.hlp',$width,$height,'yes');"); |
my $width = $helpers->[$count]->[2]; |
|
my $height = $helpers->[$count]->[3]; |
|
if ($width eq '') { |
|
$width = 500; |
|
} |
|
if ($height eq '') { |
|
$height = 600; |
|
} |
|
my $href = &HTML::Entities::encode("javascript:openMyModal('/adm/help/$filename',$width,$height,'yes');"); |
push @{$help_structure}, [$href, $title, undef]; |
push @{$help_structure}, [$href, $title, undef]; |
} |
} |
|
|