version 1.397, 2005/10/31 21:48:07
|
version 1.403, 2005/12/06 16:23:26
|
Line 433 sub character_chart {
|
Line 433 sub character_chart {
|
$result =~ s/&(\#252|uuml);/\\\"{u}/g; |
$result =~ s/&(\#252|uuml);/\\\"{u}/g; |
$result =~ s/&(\#253|yacute);/\\\'{y}/g; |
$result =~ s/&(\#253|yacute);/\\\'{y}/g; |
$result =~ s/&(\#255|yuml);/\\\"{y}/g; |
$result =~ s/&(\#255|yuml);/\\\"{y}/g; |
|
$result =~ s/&\#295;/\\ensuremath\{\\hbar\}/g; |
$result =~ s/&\#952;/\\ensuremath\{\\theta\}/g; |
$result =~ s/&\#952;/\\ensuremath\{\\theta\}/g; |
#Greek Alphabet |
#Greek Alphabet |
$result =~ s/&(alpha|\#945);/\\ensuremath\{\\alpha\}/g; |
$result =~ s/&(alpha|\#945);/\\ensuremath\{\\alpha\}/g; |
Line 907 sub unsupported {
|
Line 908 sub unsupported {
|
# |
# |
# List of recently generated print files |
# List of recently generated print files |
# |
# |
|
|
sub recently_generated { |
sub recently_generated { |
my $r=shift; |
my $r=shift; |
my $prtspool=$r->dir_config('lonPrtDir'); |
my $prtspool=$r->dir_config('lonPrtDir'); |
my $result; |
my $zip_result; |
|
my $pdf_result; |
opendir(DIR,$prtspool); |
opendir(DIR,$prtspool); |
while (my $filename=readdir(DIR)) { |
|
if ($filename=~/^$env{'user.name'}\_$env{'user.domain'}\_printout\_(\d+)\_.*.pdf$/) { |
my @files = |
my ($cdev,$cino,$cmode,$cnlink, |
grep(/^$env{'user.name'}_$env{'user.domain'}_printout_(\d+)_.*\.(pdf|zip)$/,readdir(DIR)); |
$cuid,$cgid,$crdev,$csize, |
|
$catime,$cmtime,$cctime, |
|
$cblksize,$cblocks)=stat($prtspool.'/'.$filename); |
|
$result.="<a href='/prtspool/$filename'>". |
|
&mt('Generated [_1] ([_2] bytes)', |
|
&Apache::lonlocal::locallocaltime($cctime),$csize). |
|
'</a><br />'; |
|
} |
|
} |
|
closedir(DIR); |
closedir(DIR); |
if ($result) { |
|
$r->print('<h4>'.&mt('Recently generated printouts').'</h4>'."\n". |
@files = sort { |
$result); |
my ($actime) = (stat($prtspool.'/'.$a))[10]; |
|
my ($bctime) = (stat($prtspool.'/'.$b))[10]; |
|
return $bctime <=> $actime; |
|
} (@files); |
|
|
|
foreach my $filename (@files) { |
|
my ($ext) = ($filename =~ m/(pdf|zip)$/); |
|
my ($cdev,$cino,$cmode,$cnlink, |
|
$cuid,$cgid,$crdev,$csize, |
|
$catime,$cmtime,$cctime, |
|
$cblksize,$cblocks)=stat($prtspool.'/'.$filename); |
|
my $result="<a href='/prtspool/$filename'>". |
|
&mt('Generated [_1] ([_2] bytes)', |
|
&Apache::lonlocal::locallocaltime($cctime),$csize). |
|
'</a><br />'; |
|
if ($ext eq 'pdf') { $pdf_result .= $result; } |
|
if ($ext eq 'zip') { $zip_result .= $result; } |
|
} |
|
if ($zip_result) { |
|
$r->print('<h4>'.&mt('Recently generated printout zip files')."</h4>\n" |
|
.$zip_result); |
|
} |
|
if ($pdf_result) { |
|
$r->print('<h4>'.&mt('Recently generated printouts')."</h4>\n" |
|
.$pdf_result); |
} |
} |
} |
} |
|
|
Line 989 $html
|
Line 1005 $html
|
<title>LON-CAPA output for printing</title> |
<title>LON-CAPA output for printing</title> |
</head> |
</head> |
$bodytag |
$bodytag |
|
<p> |
Please stand by while processing your print request, this may take some time ... |
Please stand by while processing your print request, this may take some time ... |
|
</p> |
ENDPART |
ENDPART |
|
|
|
|
Line 1082 ENDPART
|
Line 1100 ENDPART
|
&Apache::lonnet::appenv(%moreenv); |
&Apache::lonnet::appenv(%moreenv); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonxml::init_counter(); |
&Apache::lonxml::init_counter(); |
|
&Apache::lonxml::store_counter(); |
$resources_printed .= $currentURL.':'; |
$resources_printed .= $currentURL.':'; |
$texversion.=&Apache::lonnet::ssi($currentURL,%form); |
$texversion.=&Apache::lonnet::ssi($currentURL,%form); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
Line 1093 ENDPART
|
Line 1112 ENDPART
|
$form{'grade_target'}='answer'; |
$form{'grade_target'}='answer'; |
$form{'answer_output_mode'}='tex'; |
$form{'answer_output_mode'}='tex'; |
$form{'rndseed'}=$rndseed; |
$form{'rndseed'}=$rndseed; |
|
if ($helper->{'VARS'}->{'probstatus'} eq 'exam') { |
|
$form{'problemtype'}='exam'; |
|
} |
$resources_printed .= $currentURL.':'; |
$resources_printed .= $currentURL.':'; |
my $answer=&Apache::lonnet::ssi($currentURL,%form); |
my $answer=&Apache::lonnet::ssi($currentURL,%form); |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
Line 1221 ENDPART
|
Line 1243 ENDPART
|
my $prevassignment=''; |
my $prevassignment=''; |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonxml::init_counter(); |
&Apache::lonxml::init_counter(); |
|
&Apache::lonxml::store_counter(); |
for (my $i=0;$i<=$#master_seq;$i++) { |
for (my $i=0;$i<=$#master_seq;$i++) { |
|
|
# Note due to document structure, not allowed to put \newpage |
# Note due to document structure, not allowed to put \newpage |
Line 1241 ENDPART
|
Line 1264 ENDPART
|
my $texversion=''; |
my $texversion=''; |
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
$resources_printed .= $urlp.':'; |
$resources_printed .= $urlp.':'; |
|
my $pre_counter=$env{'form.counter'}; |
$texversion.=&Apache::lonnet::ssi($urlp,%form); |
$texversion.=&Apache::lonnet::ssi($urlp,%form); |
if ($urlp=~/\.page$/) { |
if ($urlp=~/\.page$/) { |
($texversion,my $number_of_columns_page) = &page_cleanup($texversion); |
($texversion,my $number_of_columns_page) = &page_cleanup($texversion); |
Line 1248 ENDPART
|
Line 1272 ENDPART
|
$texversion =~ s/\\end{document}\d*/\\end{document}/; |
$texversion =~ s/\\end{document}\d*/\\end{document}/; |
$flag_page_in_sequence = 'YES'; |
$flag_page_in_sequence = 'YES'; |
} |
} |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
my ($envfile) = ($env{'user.environment'} =~m|/([^/]+)\.id$| ); |
my $envfile=$env{'user.environment'}; |
&Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'), |
$envfile=~/\/([^\/]+)\.id$/; |
$envfile); |
$envfile=$1; |
|
&Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile); |
|
my $current_counter=$env{'form.counter'}; |
my $current_counter=$env{'form.counter'}; |
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || |
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || |
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { |
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { |
Line 1261 ENDPART
|
Line 1283 ENDPART
|
$answerform{'grade_target'}='answer'; |
$answerform{'grade_target'}='answer'; |
$answerform{'answer_output_mode'}='tex'; |
$answerform{'answer_output_mode'}='tex'; |
$resources_printed .= $urlp.':'; |
$resources_printed .= $urlp.':'; |
|
&Apache::lonnet::appenv(('form.counter' => $pre_counter)); |
my $answer=&Apache::lonnet::ssi($urlp,%answerform); |
my $answer=&Apache::lonnet::ssi($urlp,%answerform); |
&Apache::lonnet::appenv(('form.counter' => $current_counter)); |
&Apache::lonnet::appenv(('form.counter' => $current_counter)); |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
Line 1690 sub print_resources {
|
Line 1713 sub print_resources {
|
#current student, and produces output |
#current student, and produces output |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonxml::init_counter(); |
&Apache::lonxml::init_counter(); |
|
&Apache::lonxml::store_counter(); |
my %page_breaks = &get_page_breaks($helper); |
my %page_breaks = &get_page_breaks($helper); |
|
|
foreach my $curresline (@{$master_seq}) { |
foreach my $curresline (@{$master_seq}) { |
Line 1706 sub print_resources {
|
Line 1729 sub print_resources {
|
if (&Apache::lonnet::allowed('bre',$res_url)) { |
if (&Apache::lonnet::allowed('bre',$res_url)) { |
if ($res_url=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
if ($res_url=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
$printed .= $curresline.':'; |
$printed .= $curresline.':'; |
|
my $pre_counter=$env{'form.counter'}; |
my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
my ($envfile) = |
my $envfile=$env{'user.environment'}; |
( $env{'user.environment'} =~ m|/([^/]+)\.id$| ); |
$envfile=~/\/([^\/]+)\.id$/; |
&Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'), |
$envfile=$1; |
$envfile); |
&Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile); |
|
my $current_counter=$env{'form.counter'}; |
my $current_counter=$env{'form.counter'}; |
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || |
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || |
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { |
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { |
Line 1719 sub print_resources {
|
Line 1742 sub print_resources {
|
my %answerenv = %{$moreenv}; |
my %answerenv = %{$moreenv}; |
$answerenv{'answer_output_mode'}='tex'; |
$answerenv{'answer_output_mode'}='tex'; |
$answerenv{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
$answerenv{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
|
&Apache::lonnet::appenv(('form.counter' => $pre_counter)); |
my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$env{'request.course.id'},%answerenv); |
my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$env{'request.course.id'},%answerenv); |
&Apache::lonnet::appenv(('form.counter' => $current_counter)); |
&Apache::lonnet::appenv(('form.counter' => $current_counter)); |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
Line 1739 sub print_resources {
|
Line 1763 sub print_resources {
|
} elsif ($res_url=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { |
} elsif ($res_url=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { |
$printed .= $curresline.':'; |
$printed .= $curresline.':'; |
my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
my ($envfile) = |
my $envfile=$env{'user.environment'}; |
( $env{'user.environment'} = ~m|/([^/]+)\.id$| ); |
$envfile=~/\/([^\/]+)\.id$/; |
&Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'), |
$envfile=$1; |
$envfile); |
&Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile); |
|
my $current_counter=$env{'form.counter'}; |
my $current_counter=$env{'form.counter'}; |
if ($remove_latex_header eq 'YES') { |
if ($remove_latex_header eq 'YES') { |
$rendered = &latex_header_footer_remove($rendered); |
$rendered = &latex_header_footer_remove($rendered); |
Line 2631 STATEHTML
|
Line 2654 STATEHTML
|
$result .= "<select name='${var}.paper'>\n"; |
$result .= "<select name='${var}.paper'>\n"; |
|
|
my %parmhash=&Apache::lonnet::coursedescription($env{'request.course.id'}); |
my %parmhash=&Apache::lonnet::coursedescription($env{'request.course.id'}); |
my $DefaultPaperSize=$parmhash{'default_paper_size'}; |
my $DefaultPaperSize=lc($parmhash{'default_paper_size'}); |
|
$DefaultPaperSize=~s/\s//g; |
if ($DefaultPaperSize eq '') {$DefaultPaperSize='letter';} |
if ($DefaultPaperSize eq '') {$DefaultPaperSize='letter';} |
$i = 0; |
$i = 0; |
foreach (@paperSize) { |
foreach (@paperSize) { |