version 1.334, 2011/12/20 22:46:06
|
version 1.343, 2014/01/15 14:46:27
|
Line 163 sub get_target {
|
Line 163 sub get_target {
|
} |
} |
} |
} |
# |
# |
# End of Construction Space |
# End of Authoring Space |
# |
# |
} |
} |
# |
# |
Line 451 sub check_access {
|
Line 451 sub check_access {
|
$datemsg=$date; |
$datemsg=$date; |
} elsif ($type eq 'opendate') { |
} elsif ($type eq 'opendate') { |
$status='CLOSED'; |
$status='CLOSED'; |
$datemsg = &mt("will open on")." $date"; |
$datemsg = &mt('will open on [_1]',$date); |
} elsif ($type eq 'duedate') { |
} elsif ($type eq 'duedate') { |
$status='CAN_ANSWER'; |
$status='CAN_ANSWER'; |
$datemsg = &mt("is due at")." $date"; |
$datemsg = &mt('is due at [_1]',$date); |
} elsif ($type eq 'answerdate') { |
} elsif ($type eq 'answerdate') { |
$status='CLOSED'; |
$status='CLOSED'; |
$datemsg = &mt("was due on")." $lastdate".&mt(", and answers will be available on")." $date"; |
$datemsg = &mt('was due on [_1], and answers will be available on [_2]', |
|
$lastdate,$date); |
} |
} |
} |
} |
if ($status eq 'CAN_ANSWER' || |
if ($status eq 'CAN_ANSWER' || |
Line 508 sub check_access {
|
Line 509 sub check_access {
|
# return ('UNCHECKEDOUT','needs to be checked out'); |
# return ('UNCHECKEDOUT','needs to be checked out'); |
#} |
#} |
|
|
|
|
&Apache::lonxml::debug("sending back :$status:$datemsg:"); |
&Apache::lonxml::debug("sending back :$status:$datemsg:"); |
if (($Apache::lonhomework::browse eq 'F') && ($status eq 'CLOSED')) { |
if (($Apache::lonhomework::browse eq 'F') && ($status eq 'CLOSED')) { |
&Apache::lonxml::debug("should be allowed to browse a resource when closed"); |
&Apache::lonxml::debug("should be allowed to browse a resource when closed"); |
Line 608 sub showhashsubset {
|
Line 608 sub showhashsubset {
|
|
|
sub setuppermissions { |
sub setuppermissions { |
$Apache::lonhomework::browse= &Apache::lonnet::allowed('bre',$env{'request.filename'}); |
$Apache::lonhomework::browse= &Apache::lonnet::allowed('bre',$env{'request.filename'}); |
|
unless ($Apache::lonhomework::browse eq 'F') { |
|
$Apache::lonhomework::browse=&Apache::lonnet::allowed('bro',$env{'request.filename'}); |
|
} |
my $viewgrades = &Apache::lonnet::allowed('vgr',$env{'request.course.id'}); |
my $viewgrades = &Apache::lonnet::allowed('vgr',$env{'request.course.id'}); |
if (! $viewgrades && |
if (! $viewgrades && |
exists($env{'request.course.sec'}) && |
exists($env{'request.course.sec'}) && |
Line 667 sub setupheader {
|
Line 670 sub setupheader {
|
} |
} |
|
|
sub handle_save_or_undo { |
sub handle_save_or_undo { |
my ($request,$problem,$result) = @_; |
my ($request,$problem,$result,$getobjref) = @_; |
|
|
my $file = &Apache::lonnet::filelocation("",$request->uri); |
my $file = &Apache::lonnet::filelocation("",$request->uri); |
my $filebak =$file.".bak"; |
my $filebak =$file.".bak"; |
Line 710 sub handle_save_or_undo {
|
Line 713 sub handle_save_or_undo {
|
my $fh=Apache::File->new(">$file"); |
my $fh=Apache::File->new(">$file"); |
if (defined($fh)) { |
if (defined($fh)) { |
print $fh $$result; |
print $fh $$result; |
|
if (ref($getobjref) eq 'SCALAR') { |
|
if ($file =~ m{([^/]+)\.(html?)$}) { |
|
my $fname = $1; |
|
my $ext = $2; |
|
my $path = $file; |
|
$path =~ s/\Q$fname\E\.\Q$ext\E$//; |
|
my (%allfiles,%codebase); |
|
&Apache::lonnet::extract_embedded_items($file,\%allfiles, |
|
\%codebase,$result); |
|
if (keys(%allfiles) > 0) { |
|
my $url = $request->uri; |
|
my $state = <<STATE; |
|
<input type="hidden" name="action" value="upload_embedded" /> |
|
<input type="hidden" name="url" value="$url" /> |
|
STATE |
|
$$getobjref = "<h3>".&mt("Reference Warning")."</h3>". |
|
"<p>".&mt("Completed upload of the file. This file contained references to other files.")."</p>". |
|
"<p>".&mt("Please select the locations from which the referenced files are to be uploaded.")."</p>". |
|
&Apache::loncommon::ask_for_embedded_content($url,$state,\%allfiles,\%codebase, |
|
{'error_on_invalid_names' => 1, |
|
'ignore_remote_references' => 1,}); |
|
} |
|
} |
|
} |
} else { |
} else { |
&Apache::lonxml::info('<span class="LC_error">'. |
&Apache::lonxml::info('<span class="LC_error">'. |
&mt("Unable to write to [_1]", |
&mt("Unable to write to [_1]", |
Line 728 sub analyze_header {
|
Line 755 sub analyze_header {
|
|
|
# Breadcrumbs |
# Breadcrumbs |
my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), |
my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), |
'text' => 'Construction Space'}, |
'text' => 'Authoring Space'}, |
{'href' => '', |
{'href' => '', |
'text' => 'Problem Testing'}, |
'text' => 'Problem Testing'}, |
{'href' => '', |
{'href' => '', |
Line 779 sub analyze {
|
Line 806 sub analyze {
|
my $rndseed=$env{'form.rndseed'}; |
my $rndseed=$env{'form.rndseed'}; |
&analyze_header($request); |
&analyze_header($request); |
my %prog_state= |
my %prog_state= |
&Apache::lonhtmlcommon::Create_PrgWin($request,&mt('Analyze Progress'), |
&Apache::lonhtmlcommon::Create_PrgWin($request,$env{'form.numtoanalyze'}); |
&mt('Getting Problem Variants'), |
|
$env{'form.numtoanalyze'}, |
|
'inline',undef); |
|
for(my $i=1;$i<$env{'form.numtoanalyze'}+1;$i++) { |
for(my $i=1;$i<$env{'form.numtoanalyze'}+1;$i++) { |
&Apache::lonhtmlcommon::Increment_PrgWin($request,\%prog_state, |
&Apache::lonhtmlcommon::Increment_PrgWin($request,\%prog_state,'last problem'); |
&mt('last problem')); |
|
if (&Apache::loncommon::connection_aborted($request)) { return; } |
if (&Apache::loncommon::connection_aborted($request)) { return; } |
my $thisseed=$i+$rndseed; |
my $thisseed=$i+$rndseed; |
my $subresult=&Apache::lonnet::ssi($request->uri, |
my $subresult=&Apache::lonnet::ssi($request->uri, |
Line 794 sub analyze {
|
Line 817 sub analyze {
|
(my $garbage,$subresult)=split(/_HASH_REF__/,$subresult,2); |
(my $garbage,$subresult)=split(/_HASH_REF__/,$subresult,2); |
my %analyze=&Apache::lonnet::str2hash($subresult); |
my %analyze=&Apache::lonnet::str2hash($subresult); |
my @parts; |
my @parts; |
if (defined(@{ $analyze{'parts'} })) { |
if (ref($analyze{'parts'}) eq 'ARRAY') { |
@parts=@{ $analyze{'parts'} }; |
@parts=@{ $analyze{'parts'} }; |
} |
} |
foreach my $part (@parts) { |
foreach my $part (@parts) { |
Line 827 sub analyze {
|
Line 850 sub analyze {
|
} |
} |
} |
} |
} |
} |
&Apache::lonhtmlcommon::Update_PrgWin($request,\%prog_state, |
&Apache::lonhtmlcommon::Update_PrgWin($request,\%prog_state,&mt('Analyzing Results')); |
&mt('Analyzing Results')); |
|
$request->print('<hr />' |
$request->print('<hr />' |
.'<h3>' |
.'<h3>' |
.&mt('List of possible answers') |
.&mt('List of possible answers') |
.'</h3>' |
.'</h3>' |
); |
); |
foreach my $part (sort(keys(%allparts))) { |
foreach my $part (sort(keys(%allparts))) { |
if (defined(@{ $overall{$part.'.answer'} })) { |
if ((ref($overall{$part.'.answer'}) eq 'ARRAY') && |
|
(@{$overall{$part.'.answer'}} > 0)) { |
for (my $i=0;$i<scalar(@{ $overall{$part.'.answer'} });$i++) { |
for (my $i=0;$i<scalar(@{ $overall{$part.'.answer'} });$i++) { |
my $num_cols=scalar(@{ $overall{$part.'.answer'}[$i][0] }); |
my $num_cols=scalar(@{ $overall{$part.'.answer'}[$i][0] }); |
$request->print(&Apache::loncommon::start_data_table() |
$request->print(&Apache::loncommon::start_data_table() |
Line 966 sub editxmlmode {
|
Line 989 sub editxmlmode {
|
|
|
# Breadcrumbs |
# Breadcrumbs |
my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), |
my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), |
'text' => 'Construction Space'}, |
'text' => 'Authoring Space'}, |
{'href' => '', |
{'href' => '', |
'text' => 'Problem Editing'}]; |
'text' => 'Problem Editing'}]; |
|
|
Line 1043 sub renderpage {
|
Line 1066 sub renderpage {
|
$problem=''; |
$problem=''; |
my $filename=(split('/',$file))[-1]; |
my $filename=(split('/',$file))[-1]; |
my $error = |
my $error = |
'<p class="LC_error">' |
&mt('Unable to find [_1]', |
.&mt('Unable to find [_1]', |
'<span class="LC_filename">'.$filename.'</span>'); |
'<span class="LC_filename">'.$filename.'</span>') |
|
."</p>"; |
|
$result.= |
$result.= |
&Apache::loncommon::simple_error_page($request,'Not available', |
&Apache::loncommon::simple_error_page($request,'Not available', |
$error); |
$error,{'no_auto_mt_msg' => 1}); |
return; |
return; |
} |
} |
|
|
Line 1110 sub get_template_list {
|
Line 1131 sub get_template_list {
|
'/templates/*.'.$glob_extension); |
'/templates/*.'.$glob_extension); |
@files = map {[$_,&mt(&Apache::lonnet::metadata($_, 'title')), |
@files = map {[$_,&mt(&Apache::lonnet::metadata($_, 'title')), |
(&Apache::lonnet::metadata($_, 'category')?&mt(&Apache::lonnet::metadata($_, 'category')):&mt('Miscellaneous')), |
(&Apache::lonnet::metadata($_, 'category')?&mt(&Apache::lonnet::metadata($_, 'category')):&mt('Miscellaneous')), |
&mt(&Apache::lonnet::metadata($_, 'help'))]} (@files); |
&Apache::lonnet::metadata($_, 'help')]} (@files); |
@files = sort {$a->[2].$a->[1] cmp $b->[2].$b->[1]} (@files); |
@files = sort {$a->[2].$a->[1] cmp $b->[2].$b->[1]} (@files); |
my ($midpoint,$seconddiv,$numfiles); |
my ($midpoint,$seconddiv,$numfiles); |
|
my @noexamplelink = ('blank.problem','blank.library','script.library'); |
$numfiles = 0; |
$numfiles = 0; |
foreach my $file (@files) { |
foreach my $file (@files) { |
next if ($file->[1] !~ /\S/); |
next if ($file->[1] !~ /\S/); |
Line 1151 sub get_template_list {
|
Line 1173 sub get_template_list {
|
if ($file->[3]) { |
if ($file->[3]) { |
$result.=&Apache::loncommon::help_open_topic($file->[3]); |
$result.=&Apache::loncommon::help_open_topic($file->[3]); |
} |
} |
|
# Provide example link |
my $filename=$file->[0]; |
my $filename=$file->[0]; |
$filename=~s{^\Q$londocroot\E}{}; |
$filename=~s{^\Q$londocroot\E}{}; |
$result.=' <span class="LC_fontsize_small">' |
if (!(grep $filename =~ $_, @noexamplelink)) { |
.&Apache::loncommon::modal_link($filename.'?inhibitmenu=yes',&mt('Example'),600,420,'sample') |
$result .= ' <span class="LC_fontsize_small">' |
.'</span><br />'."\n"; |
.&Apache::loncommon::modal_link( |
|
$filename.'?inhibitmenu=yes',&mt('Example'),600,420,'sample') |
|
.'</span>'; |
|
}; |
|
$result .= '<br />'."\n"; |
$count ++; |
$count ++; |
} |
} |
if ($numfiles > 0) { |
if ($numfiles > 0) { |
Line 1192 sub newproblem {
|
Line 1219 sub newproblem {
|
my $errormsg; |
my $errormsg; |
my $instructions; |
my $instructions; |
my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), |
my $brcrum = [{'href' => &Apache::loncommon::authorspace($request->uri), |
'text' => 'Construction Space'}, |
'text' => 'Authoring Space'}, |
{'href' => '', |
{'href' => '', |
'text' => "Create New $extension"}]; |
'text' => "Create New $extension"}]; |
my $start_page = |
my $start_page = |