[LON-CAPA-cvs] cvs: loncom /interface lonprintout.pm
sakharuk
lon-capa-cvs@mail.lon-capa.org
Tue, 06 May 2003 19:23:50 -0000
sakharuk Tue May 6 15:23:50 2003 EDT
Modified files:
/loncom/interface lonprintout.pm
Log:
Content of subdirectoris in the construction space can be printed. The output has to be ordered according alphabetical order - it is not done yet.
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.152 loncom/interface/lonprintout.pm:1.153
--- loncom/interface/lonprintout.pm:1.152 Tue May 6 09:50:23 2003
+++ loncom/interface/lonprintout.pm Tue May 6 15:23:49 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.152 2003/05/06 13:50:23 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.153 2003/05/06 19:23:49 sakharuk Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1377,15 +1377,15 @@
$LaTeXwidth = $1*25.4;
}
$LaTeXwidth.=' mm';
-
-
+
+
if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') {
#-- single document - problem, page, html, xml, ...
my $currentURL;
- if (defined $helper->{'VARS'}->{'url'}) {
- $currentURL=$helper->{'VARS'}->{'url'};
- } else {
+ if (not defined $helper->{'VARS'}->{'construction'}) {
$currentURL=$helper->{'VARS'}->{'postdata'};
+ } else {
+ $currentURL=$helper->{'VARS'}->{'construction'};
}
$selectionmade = 1;
if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
@@ -1599,12 +1599,12 @@
return $result;
}
$helper = $result;
-
-
-# my $key;
-# foreach $key (keys %{$helper->{'VARS'}}) {
-# $r->print(' '.$key.'->'.$helper->{'VARS'}->{$key}.'<br />');
-# }
+
+
+# my $key;
+# foreach $key (keys %{$helper->{'VARS'}}) {
+# $r->print(' '.$key.'->'.$helper->{'VARS'}->{$key}.'<br />');
+# }
# return OK;
@@ -1712,6 +1712,7 @@
# This will persistently load in the data we want from the
# very first screen.
if ($ENV{'form.postdata'}) {
+ if ($ENV{'form.postdata'}!~/\/res\//) {$helper->{VARS}->{'construction'} = $ENV{'form.postdata'};}
$helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($ENV{'form.postdata'});
}
if ($ENV{'form.symb'}) {
@@ -1719,6 +1720,7 @@
}
if ($ENV{'form.url'}) {
$helper->{VARS}->{'symb'} = &Apache::lonnet::symbread($helper->{VARS}->{'postdata'});
+
}
@@ -1741,7 +1743,17 @@
# "Delete everything after the last slash."
$subdir =~ s|/[^/]+$||;
- $subdir = '/home/httpd/html/res'.$subdir; #needs additional work for the construction space
+ if (not defined $helper->{VARS}->{'construction'}) {
+ $subdir = '/home/httpd/html/res'.$subdir;
+ } else {
+ $helper->{VARS}->{'construction'}=~/^([^\/]+)\/\/([^\/]+)(.*)\/[^\/]*$/;
+ $subdir = $3;
+ $subdir=~/\/~([^\/]+)\/(.*)$/;
+ $subdir = '/home/'.$1.'/public_html/'.$2;
+ }
+#### $r->print('Dir: '.$subdir.' ');
+#### return OK;
+
# What can be printed is a very dynamic decision based on
# lots of factors. So we need to dynamically build this list.
@@ -1761,7 +1773,7 @@
push @{$printChoices}, ["<b>$resourceTitle</b> (exactly what was on the screen)", 'current_document', 'PAGESIZE'];
# If we're in a sequence...
- if ($helper->{VARS}->{'postdata'} =~ /\/res\//) {
+ if (not defined $helper->{'VARS'}->{'construction'}) {
# Allow problems from sequence
push @{$printChoices}, ["Problems from <b>$sequenceTitle</b>", 'map_problems', 'CHOOSE_PROBLEMS'];
# Allow all resources from sequence
@@ -1826,17 +1838,17 @@
</resource>
<message>How should the results be printed?</message>
<choices variable="EMPTY_PAGES">
- <choice computer='0'>Print all problems with no blank space between them</choice>
- <choice computer='1'>Put each student's problems on a new page (add pagefeed after each student)</choice> <!-- ' -->
- <choice computer='2'>Seperate each student's problems with a full blank page</choice> <!-- ' -->
- <choice computer='3'>Seperate each student's problems with two full blank pages</choice> <!-- ' -->
+ <choice computer='0'>Print students assignments without separations (as uniform flow)</choice>
+ <choice computer='1'>Start student assignment from new page (add pagefeed after each student)</choice>
+ <choice computer='2'>Add one emty page after each student assignment</choice>
+ <choice computer='3'>Add two emty page after each student assignment</choice>
</choices>
</state>
CHOOSE_STUDENTS
}
# FIXME: That RE should come from a library somewhere.
- if ((&Apache::lonnet::allowed('bre',$subdir) eq 'F') and ($helper->{VARS}->{'postdata'}=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)/)) {
+ if (((&Apache::lonnet::allowed('bre',$subdir) eq 'F') and ($helper->{VARS}->{'postdata'}=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)/)) or defined $helper->{'VARS'}->{'construction'}) {
push @{$printChoices}, ["Problems from <b>$subdir</b>", 'problems_from_directory', 'CHOOSE_FROM_SUBDIR'];
my $f = '$filename';