version 1.569, 2010/01/12 10:40:01
|
version 1.580, 2010/05/24 21:56:00
|
Line 196 sub generate_code_selector {
|
Line 196 sub generate_code_selector {
|
<message><br /><hr /> <br /></message> |
<message><br /><hr /> <br /></message> |
<message><h3>Generate new CODEd Assignments</h3></message> |
<message><h3>Generate new CODEd Assignments</h3></message> |
<message><table><tr><td><b>Number of CODEd assignments to print:</b></td><td></message> |
<message><table><tr><td><b>Number of CODEd assignments to print:</b></td><td></message> |
<string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5"> |
<string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5" noproceed="1"> |
<validator> |
<validator> |
if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && |
if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && |
!\$helper->{'VARS'}{'REUSE_OLD_CODES'} && |
!\$helper->{'VARS'}{'REUSE_OLD_CODES'} && |
!\$helper->{'VARS'}{'SINGLE_CODE'} && |
!\$helper->{'VARS'}{'SINGLE_CODE'} && |
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'} ) { |
|
|
return "You need to specify the number of assignments to print"; |
return "You need to specify the number of assignments to print"; |
} |
} |
|
if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) >= 1) && |
|
(\$helper->{'VARS'}{'SINGLE_CODE'} ne '') ) { |
|
return 'Specifying number of codes to print and a specific code is not compatible'; |
|
} |
return undef; |
return undef; |
</validator> |
</validator> |
</string> |
</string> |
Line 228 sub generate_code_selector {
|
Line 233 sub generate_code_selector {
|
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
return &Apache::lonprintout::is_code_valid(\$helper->{'VARS'}{'SINGLE_CODE'}, |
return &Apache::lonprintout::is_code_valid(\$helper->{'VARS'}{'SINGLE_CODE'}, |
\$helper->{'VARS'}{'CODE_OPTION'}); |
\$helper->{'VARS'}{'CODE_OPTION'}); |
|
} elsif (\$helper->{'VARS'}{'SINGLE_CODE'} ne ''){ |
|
return 'Specifying a code name is incompatible with specifying number of codes.'; |
} else { |
} else { |
return undef; # Other forces control us. |
return undef; # Other forces control us. |
} |
} |
Line 306 sub set_font_size {
|
Line 313 sub set_font_size {
|
|
|
my ($text) = @_; |
my ($text) = @_; |
|
|
$text =~ s/\\begin{document}/\\begin{document}{\\$font_size/; |
# There appear to be cases where the font directive is empty.. in which |
|
# case the first substituion would insert a spurious \ oh happy day. |
|
# as this has been the cause of much mystery and hair pulling _sigh_ |
|
|
|
if ($font_size ne '') { |
|
|
|
$text =~ s/\\begin{document}/\\begin{document}{\\$font_size/; |
|
} |
$text =~ s/\\end{document}/}\\end{document}/; |
$text =~ s/\\end{document}/}\\end{document}/; |
return $text; |
return $text; |
|
|
Line 1309 sub page_format_transformation {
|
Line 1323 sub page_format_transformation {
|
$text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight = $textheight\\oddsidemargin = $evenoffset\n\\evensidemargin = $evenoffset $topmargintoinsert\\textwidth= $textwidth\\newlength{\\minipagewidth}\n\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\pagestyle{fancy}\\rhead{}\\chead{}\\usepackage{booktabs}\\begin{document}\\voffset=-0\.8cm\n\\setcounter{page}{1} \\vskip 5 mm\n /; |
$text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight = $textheight\\oddsidemargin = $evenoffset\n\\evensidemargin = $evenoffset $topmargintoinsert\\textwidth= $textwidth\\newlength{\\minipagewidth}\n\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\pagestyle{fancy}\\rhead{}\\chead{}\\usepackage{booktabs}\\begin{document}\\voffset=-0\.8cm\n\\setcounter{page}{1} \\vskip 5 mm\n /; |
} |
} |
if ($papersize eq 'a4') { |
if ($papersize eq 'a4') { |
$text =~ s/(\\begin{document})/$1\\special{papersize=210mm,297mm}/; |
my $papersize_text; |
|
if ($perm{'pav'}) { |
|
$papersize_text = '\\special{papersize=210mm,297mm}'; |
|
} else { |
|
$papersize_text = '\special{papersize=210mm,297mm}'; |
|
} |
|
$text =~ s/(\\begin{document})/$1$papersize_text/; |
} |
} |
} |
} |
if ($tableofcontents eq 'yes') {$text=~s/(\\setcounter\{page\}\{1\})/$1 \\tableofcontents\\newpage /;} |
if ($tableofcontents eq 'yes') {$text=~s/(\\setcounter\{page\}\{1\})/$1 \\tableofcontents\\newpage /;} |
Line 1570 sub print_page_in_course {
|
Line 1590 sub print_page_in_course {
|
} |
} |
# these resources go through the XML transformer: |
# these resources go through the XML transformer: |
|
|
elsif ($resource_src =~ /\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm\xhtml|xhtm)$/) { |
elsif ($resource_src =~ /\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
my $urlp = &Apache::lonnet::clutter($resource_src); |
my $urlp = &Apache::lonnet::clutter($resource_src); |
my %form; |
my %form; |
my %moreenv; |
my %moreenv; |
Line 1581 sub print_page_in_course {
|
Line 1601 sub print_page_in_course {
|
|
|
$form{'grade_target'} = 'tex'; |
$form{'grade_target'} = 'tex'; |
$form{'textwidth'} = &get_textwidth($helper, $LaTeXwidth); |
$form{'textwidth'} = &get_textwidth($helper, $LaTeXwidth); |
$form{'pdfFormFiels'} = $pdfFormFields; # |
$form{'pdfFormFields'} = $pdfFormFields; # |
$form{'showallfoils'} = $helper->{'VARS'}->{'showallfoils'}; |
$form{'showallfoils'} = $helper->{'VARS'}->{'showallfoils'}; |
|
|
$form{'problem_split'}=$parmhash{'problem_stream_switch'}; |
$form{'problem_split'}=$parmhash{'problem_stream_switch'}; |
Line 1781 sub get_page_breaks {
|
Line 1801 sub get_page_breaks {
|
# This is done as follows: |
# This is done as follows: |
# POSSIBLE_RESOURCES has the list of possible resources. |
# POSSIBLE_RESOURCES has the list of possible resources. |
# EXTRASPACE has the list of extra space values. |
# EXTRASPACE has the list of extra space values. |
|
# EXTRASPACE_UNITS is the set of resources for which the units are |
|
# mm. All others are 'in'. |
# |
# |
# The resource is found in the POSSIBLE_RESOURCES to get the index |
# The resource is found in the POSSIBLE_RESOURCES to get the index |
# of the EXTRASPACE value. |
# of the EXTRASPACE value. |
Line 1792 sub get_page_breaks {
|
Line 1814 sub get_page_breaks {
|
|
|
|
|
my %possible_resources; |
my %possible_resources; |
|
my %extraspace_mm; |
my @extraspace; |
my @extraspace; |
my $skips_loaded = 0; |
my $skips_loaded = 0; |
|
|
Line 1811 sub load_skips {
|
Line 1834 sub load_skips {
|
$possible_resources{$resource} = $i; |
$possible_resources{$resource} = $i; |
$i++; |
$i++; |
} |
} |
|
foreach my $mm_resource (split(/\|\|\|/, $helper->{'VARS'}->{'EXTRASPACE_UNITS'})) { |
|
$extraspace_mm{$mm_resource} = 1; |
|
} |
$skips_loaded = 1; |
$skips_loaded = 1; |
} |
} |
} |
} |
Line 1829 sub get_extra_vspaces {
|
Line 1855 sub get_extra_vspaces {
|
|
|
my $result = ''; |
my $result = ''; |
if ($skip ne '') { |
if ($skip ne '') { |
$result = '\vskip '.$skip.' mm'; |
my $units = 'in'; |
|
if (defined($extraspace_mm{$resource})) { |
|
$units = 'mm'; |
|
} |
|
$result = '\vskip '.$skip.' '.$units; |
} |
} |
|
|
|
|
return $result; |
return $result; |
|
|
|
|
Line 1848 sub get_extra_vspaces {
|
Line 1880 sub get_extra_vspaces {
|
# Implicit input: |
# Implicit input: |
# $helper->{'VARS'}->{'EXTRASPACE'} - the spaces helper var has the text field |
# $helper->{'VARS'}->{'EXTRASPACE'} - the spaces helper var has the text field |
# value. |
# value. |
|
# $helper->{'VARS'}->{'EXTRASPACE_UNITS'} - units for the skips (checkboxes). |
# $helper->{'VARS'}->{'POSSIBLE_RESOURCES'} - has the list of resources. ||| |
# $helper->{'VARS'}->{'POSSIBLE_RESOURCES'} - has the list of resources. ||| |
# separated of course. |
# separated of course. |
# Implicit outputs: |
# Implicit outputs: |
# $env{'form.extrapsace'} |
# $env{'form.extraspace'} |
|
# $env{'form.extraspace_units'} |
# |
# |
sub set_form_extraspace { |
sub set_form_extraspace { |
my ($helper) = @_; |
my ($helper) = @_; |
Line 1870 sub set_form_extraspace {
|
Line 1904 sub set_form_extraspace {
|
} |
} |
|
|
$env{'form.extraspace'} = $result; |
$env{'form.extraspace'} = $result; |
|
$env{'form.extraspace_units'} = $helper->{'VARS'}->{'EXTRASPACE_UNITS'}; |
return $result; |
return $result; |
|
|
} |
} |
Line 2049 ENDPART
|
Line 2084 ENDPART
|
&Apache::loncommon::store_course_settings('print', |
&Apache::loncommon::store_course_settings('print', |
{'pagebreaks' => 'scalar', |
{'pagebreaks' => 'scalar', |
'extraspace' => 'scalar', |
'extraspace' => 'scalar', |
|
'extraspace_units' => 'scalar', |
'lastprinttype' => 'scalar'}); |
'lastprinttype' => 'scalar'}); |
my %page_breaks = &get_page_breaks($helper); |
my %page_breaks = &get_page_breaks($helper); |
|
|
Line 2421 ENDPART
|
Line 2457 ENDPART
|
if ($i > 0) { |
if ($i > 0) { |
$result .= '\cleardoublepage'; |
$result .= '\cleardoublepage'; |
} |
} |
$result .= &include_pdf($urlp); |
my $texfrompdf = &include_pdf($urlp); |
|
if ($flag_latex_header_remove ne 'NO') { |
|
$texfrompdf = &latex_header_footer_remove($texfrompdf); |
|
} |
|
$result .= $texfrompdf; |
if ($i != $#master_seq) { |
if ($i != $#master_seq) { |
if ($numberofcolumns eq '1') { |
if ($numberofcolumns eq '1') { |
$result .= '\newpage'; |
$result .= '\newpage'; |
Line 3177 sub printHelper {
|
Line 3217 sub printHelper {
|
&Apache::loncommon::restore_course_settings('print', |
&Apache::loncommon::restore_course_settings('print', |
{'pagebreaks' => 'scalar', |
{'pagebreaks' => 'scalar', |
'extraspace' => 'scalar', |
'extraspace' => 'scalar', |
|
'extraspace_units' => 'scalar', |
'lastprinttype' => 'scalar'}); |
'lastprinttype' => 'scalar'}); |
|
|
# This will persistently load in the data we want from the |
# This will persistently load in the data we want from the |
Line 3187 sub printHelper {
|
Line 3228 sub printHelper {
|
|
|
$helper->{VARS}->{FINISHPAGE} = $env{'form.pagebreaks'}; |
$helper->{VARS}->{FINISHPAGE} = $env{'form.pagebreaks'}; |
$helper->{VARS}->{EXTRASPACE} = $env{'form.extraspace'}; |
$helper->{VARS}->{EXTRASPACE} = $env{'form.extraspace'}; |
|
$helper->{VARS}->{EXTRASPACE_UNITS} = $env{'form.extraspace_units'}; |
} else { |
} else { |
my $state = $env{"form.CURRENT_STATE"}; |
my $state = $env{"form.CURRENT_STATE"}; |
if ($state eq "START") { |
if ($state eq "START") { |
$helper->{VARS}->{FINISHPAGE} = $env{'form.pagebreaks'}; |
$helper->{VARS}->{FINISHPAGE} = $env{'form.pagebreaks'}; |
$helper->{VARS}->{EXTRASPACE} = $env{'form.extraspace'}; |
$helper->{VARS}->{EXTRASPACE} = $env{'form.extraspace'}; |
|
$helper->{VARS}->{EXTRASPACE_UNITS} = $env{'form.extraspace_units'}; |
|
|
} |
} |
} |
} |
|
|
Line 3311 sub printHelper {
|
Line 3355 sub printHelper {
|
$start_new_option = |
$start_new_option = |
"<option text='".&mt('Start new page<br />before selected'). |
"<option text='".&mt('Start new page<br />before selected'). |
"' variable='FINISHPAGE' />". |
"' variable='FINISHPAGE' />". |
"<option text='".&mt('Extra space(mm)<br />before selected'). |
"<option text='".&mt('Extra space<br />before selected'). |
"' variable='EXTRASPACE' type='text' />" . |
"' variable='EXTRASPACE' type='text' />" . |
"<option " . |
"<option " . |
"' variable='POSSIBLE_RESOURCES' type='hidden' />"; |
"' variable='POSSIBLE_RESOURCES' type='hidden' />". |
|
"<option text='".&mt('Space units<br />check for mm'). |
|
"' variable='EXTRASPACE_UNITS' type='checkbox' />" |
|
; |
|
|
|
|
} |
} |
|
|
Line 3493 ALL_PROBLEMS
|
Line 3541 ALL_PROBLEMS
|
'multichoice="1" addstatus="1" closeallpages="1"', |
'multichoice="1" addstatus="1" closeallpages="1"', |
'RESOURCES', |
'RESOURCES', |
'PRINT_FORMATTING', |
'PRINT_FORMATTING', |
'', |
$map, |
$isProblem, '', $symbFilter, |
$isProblem, '', $symbFilter, |
$start_new_option); |
$start_new_option); |
$resource_selector .= <<RESOURCE_SELECTOR; |
$resource_selector .= <<RESOURCE_SELECTOR; |
Line 3686 CHOOSE_STUDENTS1
|
Line 3734 CHOOSE_STUDENTS1
|
<message><br /><hr /> <br /></message> |
<message><br /><hr /> <br /></message> |
<message><h3>Generate new CODEd Assignments</h3></message> |
<message><h3>Generate new CODEd Assignments</h3></message> |
<message><table><tr><td><b>Number of CODEd assignments to print:</b></td><td></message> |
<message><table><tr><td><b>Number of CODEd assignments to print:</b></td><td></message> |
<string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5"> |
<string variable="NUMBER_TO_PRINT_TOTAL" maxlength="5" size="5" noproceed="1"> |
<validator> |
<validator> |
if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && |
if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) < 1) && |
!\$helper->{'VARS'}{'REUSE_OLD_CODES'} && |
!\$helper->{'VARS'}{'REUSE_OLD_CODES'} && |
Line 3694 CHOOSE_STUDENTS1
|
Line 3742 CHOOSE_STUDENTS1
|
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
return "You need to specify the number of assignments to print"; |
return "You need to specify the number of assignments to print"; |
} |
} |
|
if (((\$helper->{'VARS'}{'NUMBER_TO_PRINT_TOTAL'}+0) >= 1) && |
|
(\$helper->{'VARS'}{'SINGLE_CODE'} ne '') ) { |
|
return 'Specifying number of codes to print and a specific code is not compatible'; |
|
} |
return undef; |
return undef; |
</validator> |
</validator> |
</string> |
</string> |
Line 3717 CHOOSE_STUDENTS1
|
Line 3769 CHOOSE_STUDENTS1
|
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
!\$helper->{'VARS'}{'CODE_SELECTED_FROM_LIST'}) { |
return &Apache::lonprintout::is_code_valid(\$helper->{'VARS'}{'SINGLE_CODE'}, |
return &Apache::lonprintout::is_code_valid(\$helper->{'VARS'}{'SINGLE_CODE'}, |
\$helper->{'VARS'}{'CODE_OPTION'}); |
\$helper->{'VARS'}{'CODE_OPTION'}); |
|
} elsif (\$helper->{'VARS'}{'SINGLE_CODE'} ne ''){ |
|
return 'Specifying a code name is incompatible specifying number of codes.'; |
} else { |
} else { |
return undef; # Other forces control us. |
return undef; # Other forces control us. |
} |
} |
Line 4029 FONT_SELECTION
|
Line 4083 FONT_SELECTION
|
<choice computer="problem">Homework Problem</choice> |
<choice computer="problem">Homework Problem</choice> |
<choice computer="exam">Exam Problem</choice> |
<choice computer="exam">Exam Problem</choice> |
<choice computer="survey">Survey question</choice> |
<choice computer="survey">Survey question</choice> |
|
,choice computer="anonsurvey"Anonymous survey question</choice> |
</dropdown> |
</dropdown> |
PROBTYPE |
PROBTYPE |
&Apache::lonxml::xmlparse($r, 'helper', $xmlfrag); |
&Apache::lonxml::xmlparse($r, 'helper', $xmlfrag); |