version 1.627.2.24, 2018/09/04 14:35:21
|
version 1.627.2.29, 2019/08/17 23:37:03
|
Line 848 sub set_font_size {
|
Line 848 sub set_font_size {
|
if ($font_size ne '') { |
if ($font_size ne '') { |
|
|
$text =~ s/\\begin\{document}/\\begin{document}{\\$font_size/; |
$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 1238 sub is_valid_alpha_code {
|
Line 1238 sub is_valid_alpha_code {
|
sub is_code_valid { |
sub is_code_valid { |
my ($code_value, $code_option) = @_; |
my ($code_value, $code_option) = @_; |
my ($code_type, $code_length) = ('letter', 6); # defaults. |
my ($code_type, $code_length) = ('letter', 6); # defaults. |
my @lines = &Apache::grades::get_scantronformat_file(); |
my @lines = &Apache::lonnet::get_scantronformat_file(); |
foreach my $line (@lines) { |
foreach my $line (@lines) { |
next if (($line =~ /^\#/) || ($line eq '')); |
next if (($line =~ /^\#/) || ($line eq '')); |
my ($name, $type, $length) = (split(/:/, $line))[0,2,4]; |
my ($name, $type, $length) = (split(/:/, $line))[0,2,4]; |
Line 3228 ENDPART
|
Line 3228 ENDPART
|
$result .= $print_array[0].' \end{document}'; |
$result .= $print_array[0].' \end{document}'; |
} elsif (($print_type eq 'problems_for_anon') || |
} elsif (($print_type eq 'problems_for_anon') || |
($print_type eq 'problems_for_anon_page') || |
($print_type eq 'problems_for_anon_page') || |
($print_type eq 'resources_for_anon') ) { |
($print_type eq 'resources_for_anon') ) { |
my $cdom =$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdom =$env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cnum =$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cnum =$env{'course.'.$env{'request.course.id'}.'.num'}; |
my $num_todo=$helper->{'VARS'}->{'NUMBER_TO_PRINT_TOTAL'}; |
my $num_todo=$helper->{'VARS'}->{'NUMBER_TO_PRINT_TOTAL'}; |
Line 3237 ENDPART
|
Line 3237 ENDPART
|
my $single_code = $helper->{'VARS'}->{'SINGLE_CODE'}; |
my $single_code = $helper->{'VARS'}->{'SINGLE_CODE'}; |
my $selected_code = $helper->{'VARS'}->{'CODE_SELECTED_FROM_LIST'}; |
my $selected_code = $helper->{'VARS'}->{'CODE_SELECTED_FROM_LIST'}; |
my $code_option=$helper->{'VARS'}->{'CODE_OPTION'}; |
my $code_option=$helper->{'VARS'}->{'CODE_OPTION'}; |
my @lines = &Apache::grades::get_scantronformat_file(); |
my @lines = &Apache::lonnet::get_scantronformat_file(); |
my ($code_type,$code_length,$bubbles_per_row)=('letter',6,10); |
my ($code_type,$code_length,$bubbles_per_row)=('letter',6,10); |
foreach my $line (@lines) { |
foreach my $line (@lines) { |
chomp($line); |
chomp($line); |
Line 3354 ENDPART
|
Line 3354 ENDPART
|
} |
} |
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); |
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); |
$result .= $print_array[0].' \end{document}'; |
$result .= $print_array[0].' \end{document}'; |
} elsif ($print_type eq 'problems_from_directory') { |
} elsif ($print_type eq 'problems_from_directory') { |
#prints selected problems from the subdirectory |
#prints selected problems from the subdirectory |
$selectionmade = 6; |
$selectionmade = 6; |
my @list_of_files=split /\|\|\|/, $helper->{'VARS'}->{'FILES'}; |
my @list_of_files=split /\|\|\|/, $helper->{'VARS'}->{'FILES'}; |
Line 3455 ENDPART
|
Line 3455 ENDPART
|
$URLback=$helper->{'VARS'}->{'filename'}; |
$URLback=$helper->{'VARS'}->{'filename'}; |
} elsif ($helper->{VARS}{'symb'}) { |
} elsif ($helper->{VARS}{'symb'}) { |
my ($map, $id, $url) = &Apache::lonnet::decode_symb($helper->{VARS}{'symb'}); |
my ($map, $id, $url) = &Apache::lonnet::decode_symb($helper->{VARS}{'symb'}); |
|
my $cdom =$env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum =$env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my ($anchor,$usehttp); |
$url = &Apache::lonnet::clutter($url); |
$url = &Apache::lonnet::clutter($url); |
|
if (($ENV{'SERVER_PORT'} == 443) && ($env{'request.course.id'}) && |
|
(($url =~ m{^\Q/public/$cdom/$cnum/syllabus\E($|\?)}) || |
|
($url =~ m{^\Q/adm/wrapper/ext/\E(?!https:)}))) { |
|
unless (&Apache::lonnet::uses_sts()) { |
|
$usehttp = 1; |
|
} |
|
} |
if ($env{'request.enc'}) { |
if ($env{'request.enc'}) { |
$url = &Apache::lonenc::encrypted($url); |
$url = &Apache::lonenc::encrypted($url); |
} |
} |
if ($url ne '') { |
if ($url ne '') { |
$URLback = $url.(($url =~ /\?/) ? '&':'?').'symb='.$helper->{VARS}{'symb'}; |
my $symb = $helper->{VARS}{'symb'}; |
|
if ($url =~ m{^\Q/adm/wrapper/ext/\E}) { |
|
my $link = $url; |
|
($link,$anchor) = ($url =~ /^([^\#]+)(?:|(\#[^\#]+))$/); |
|
if ($anchor) { |
|
($symb) = ($helper->{VARS}{'symb'} =~ /^([^\#]+)/); |
|
} |
|
$url = $link; |
|
} |
|
$URLback = $url; |
|
if ($usehttp) { |
|
$URLback .= (($URLback =~ /\?/) ? '&':'?').'usehttp=1'; |
|
} |
|
$URLback .= (($URLback =~ /\?/) ? '&':'?').'symb='.&escape($symb.$anchor); |
} |
} |
} |
} |
# |
# |
Line 4065 sub printHelper {
|
Line 4088 sub printHelper {
|
$helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'}); |
$helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'}); |
|
|
} |
} |
$helper->{VARS}->{'symb'}= |
if ($helper->{VARS}->{'symb'} ne '') { |
&Apache::lonenc::check_encrypt($helper->{VARS}->{'symb'}); |
$helper->{VARS}->{'symb'}= |
|
&Apache::lonenc::check_encrypt($helper->{VARS}->{'symb'}); |
|
} |
my ($resourceTitle,$sequenceTitle,$mapTitle) = &details_for_menu($helper); |
my ($resourceTitle,$sequenceTitle,$mapTitle) = &details_for_menu($helper); |
if ($sequenceTitle ne '') {$helper->{VARS}->{'assignment'}=$sequenceTitle;} |
if ($sequenceTitle ne '') {$helper->{VARS}->{'assignment'}=$sequenceTitle;} |
|
|
Line 4077 sub printHelper {
|
Line 4102 sub printHelper {
|
my $subdir; |
my $subdir; |
my $is_published=0; # True when printing from resource space. |
my $is_published=0; # True when printing from resource space. |
my $res_printable = 1; # By default the current resource is printable. |
my $res_printable = 1; # By default the current resource is printable. |
|
my $res_error; |
my $userCanPrint = ($perm{'pav'} || $perm{'pfo'}); |
my $userCanPrint = ($perm{'pav'} || $perm{'pfo'}); |
my $res_printstartdate; |
my $res_printstartdate; |
my $res_printenddate; |
my $res_printenddate; |
Line 4098 sub printHelper {
|
Line 4124 sub printHelper {
|
($map, $id, $url) = &Apache::lonnet::decode_symb($symb); |
($map, $id, $url) = &Apache::lonnet::decode_symb($symb); |
$helper->{VARS}->{'postdata'} = |
$helper->{VARS}->{'postdata'} = |
&Apache::lonenc::check_encrypt(&Apache::lonnet::clutter($url)); |
&Apache::lonenc::check_encrypt(&Apache::lonnet::clutter($url)); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
if (!$userCanPrint) { |
my $res = $navmap->getBySymb($symb); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
$res_printable = $res->resprintable() || $userCanPrint; #printability in course context |
if (ref($navmap)) { |
($res_printstartdate, $res_printenddate) = &get_print_dates($res); |
my $res = $navmap->getBySymb($symb); |
($course_open, $course_close) = &course_print_dates($res); |
if (ref($res)) { |
($map_open, $map_close) = &map_print_dates($res); |
$res_printable = $res->resprintable(); #printability in course context |
|
($res_printstartdate, $res_printenddate) = &get_print_dates($res); |
|
($course_open, $course_close) = &course_print_dates($res); |
|
($map_open, $map_close) = &map_print_dates($res); |
|
} else { |
|
$res_error = 1; |
|
} |
|
} else { |
|
$res_error = 1; |
|
} |
|
} |
} else { |
} else { |
# Resource space. |
# Resource space. |
|
|
Line 4491 ALL_PROBLEMS
|
Line 4526 ALL_PROBLEMS
|
|
|
} |
} |
|
|
my @lines = &Apache::grades::get_scantronformat_file(); |
my @lines = &Apache::lonnet::get_scantronformat_file(); |
my $codechoice=''; |
my $codechoice=''; |
foreach my $line (@lines) { |
foreach my $line (@lines) { |
my ($name,$description,$code_type,$code_length)= |
my ($name,$description,$code_type,$code_length)= |
Line 4702 CHOOSE_FROM_SUBDIR
|
Line 4737 CHOOSE_FROM_SUBDIR
|
CHOOSE_FROM_ANY_SEQUENCE |
CHOOSE_FROM_ANY_SEQUENCE |
} |
} |
|
|
|
my $numchoices = 0; |
|
if (ref($printChoices) eq 'ARRAY') { |
|
$numchoices = @{$printChoices}; |
|
} |
|
# Early out if nothing to print |
|
if (!$numchoices) { |
|
$r->print(&Apache::loncommon::start_page('Printing Helper'). |
|
'<h2>'.&mt('Unable to determine print context').'</h2>'. |
|
'<p>'.&mt('Please display a resource, and then click the "Print" button/icon').'</p>'); |
|
my $prtspool=$r->dir_config('lonPrtDir'); |
|
my $footer = &recently_generated($prtspool); |
|
$r->print($footer.&Apache::loncommon::end_page()); |
|
return OK; |
|
} |
|
|
# Generate the first state, to select which resources get printed. |
# Generate the first state, to select which resources get printed. |
Apache::lonhelper::state->new("START", "Select Printing Options:"); |
Apache::lonhelper::state->new("START", "Select Printing Options:"); |
if (!$res_printable) { |
if (!$res_printable) { |
my $now = time; |
|
my $shownprintstart = &Apache::lonlocal::locallocaltime($res_printstartdate); |
|
my $shownprintend = &Apache::lonlocal::locallocaltime($res_printenddate); |
|
my $noprintmsg; |
my $noprintmsg; |
if (($res_printenddate) && ($res_printenddate < $now)) { |
if ($res_error) { |
|
$noprintmsg = &mt('Print availability for current resource could not be determined'); |
|
} else { |
|
my $now = time; |
|
my $shownprintstart = &Apache::lonlocal::locallocaltime($res_printstartdate); |
|
my $shownprintend = &Apache::lonlocal::locallocaltime($res_printenddate); |
|
if (($res_printenddate) && ($res_printenddate < $now)) { |
$noprintmsg = &mt('Printing for current resource no longer available (ended: [_1])', |
$noprintmsg = &mt('Printing for current resource no longer available (ended: [_1])', |
$shownprintend); |
$shownprintend); |
} else { |
} else { |
if (($res_printstartdate) && ($res_printstartdate > $now)) { |
if (($res_printstartdate) && ($res_printstartdate > $now)) { |
if (($res_printenddate) && ($res_printenddate > $now) && ($res_printenddate > $res_printstartdate)) { |
if (($res_printenddate) && ($res_printenddate > $now) && ($res_printenddate > $res_printstartdate)) { |
$noprintmsg = &mt('Printing for current resource is only possible between [_1] and [_2]', |
$noprintmsg = &mt('Printing for current resource is only possible between [_1] and [_2]', |
$shownprintstart,$shownprintend); |
$shownprintstart,$shownprintend); |
} elsif (!$res_printenddate) { |
} elsif (!$res_printenddate) { |
$noprintmsg = &mt('Printing for current resource will only be possible starting [_1]', |
$noprintmsg = &mt('Printing for current resource will only be possible starting [_1]', |
$shownprintstart); |
$shownprintstart); |
} else { |
} else { |
$noprintmsg = &mt('Printing for current resource is unavailable'); |
$noprintmsg = &mt('Printing for current resource is unavailable'); |
|
} |
} |
} |
} |
} |
} |
} |
Line 4777 CHOOSE_FROM_ANY_SEQUENCE
|
Line 4831 CHOOSE_FROM_ANY_SEQUENCE
|
my $xmlfrag = << "FONT_SELECTION"; |
my $xmlfrag = << "FONT_SELECTION"; |
|
|
|
|
<dropdown variable='fontsize' multichoice='0', allowempty='0'> |
<dropdown variable='fontsize' multichoice='0' allowempty='0'> |
<defaultvalue> |
<defaultvalue> |
return 'normalsize'; |
return 'normalsize'; |
</defaultvalue> |
</defaultvalue> |