--- loncom/interface/lonprintout.pm 2003/02/27 19:41:40 1.121
+++ loncom/interface/lonprintout.pm 2003/02/28 23:42:18 1.124
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.121 2003/02/27 19:41:40 bowersj2 Exp $
+# $Id: lonprintout.pm,v 1.124 2003/02/28 23:42:18 bowersj2 Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -157,8 +157,7 @@ sub sequence_content_menu {
my $primary_sequence;
my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
my @sequence = split('___',$symbolic);
- if ($sequence[0]=~/^uploaded/) {$primary_sequence = '/'.$sequence[0];}
- else {$primary_sequence = '/res/'.$sequence[0];}
+ $primary_sequence=&Apache::lonnet::clutter($sequence[0]);
my @master_seq = &coming_from_hash($primary_sequence);
my @titles_master_seq = ();
for (my $i=0;$i<=$#master_seq;$i++) {
@@ -550,12 +549,7 @@ ENDPART
} elsif ($choice eq 'Standard LaTeX output for the top level sequence') {
# where is the main sequence of the course?
$selectionmade = 4;
- my $main_seq;
- if ($ENV{'request.course.uri'}=~/\/?uploaded\//) {
- $main_seq = $ENV{'request.course.uri'};
- } else {
- $main_seq = '/res/'.$ENV{'request.course.uri'};
- }
+ my $main_seq=&Apache::lonnet::clutter($ENV{'request.course.uri'});
my @file_seq = &coming_from_hash($main_seq);
for (my $i=0;$i<=$#file_seq;$i++) {
my ($path,$title,$symb) = split /&&/,$file_seq[$i];
@@ -598,8 +592,8 @@ ENDPART
my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
my @sequence = split('___',$symbolic);
my $primary_sequence;
- if ($sequence[0]=~/^uploaded/) {$primary_sequence = '/'.$sequence[0];}
- else {$primary_sequence = '/res/'.$sequence[0];}
+
+ $primary_sequence=&Apache::lonnet::clutter($sequence[0]);
my @master_seq = &coming_from_hash($primary_sequence);
for (my $i=0;$i<=$#master_seq;$i++) {
my ($path,$title,$symb) = split /&&/,$master_seq[$i];
@@ -742,9 +736,7 @@ sub coming_from_hash {
if ($hash{'src_'.$current_resource}=~/\.sequence$/) {
push @resourcelist,&coming_from_hash($hash{'src_'.$current_resource});
} else {
- my $presymb;
- if ($mainsequence =~ /\/res\/(.*)$/) {$presymb = $1;}
- elsif ($mainsequence =~ /\/?(uploaded\/(.*))$/) {$presymb = $1;}
+ my $presymb=&Apache::lonnet::declutter($mainsequence);
my $rid = $current_resource;
if ($rid=~/,/) {
my @rid = split /,/, $rid;
@@ -758,8 +750,8 @@ sub coming_from_hash {
$rid =~ m/^$mapid\.(\d*)/;
$rid = $1;
}
- $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;
- my $symb = $presymb.'___'.$rid.'___'.$1;
+ my $symb = $presymb.'___'.$rid.'___'.
+ &Apache::lonnet::declutter($hash{'src_'.$current_resource});
push @resourcelist,$hash{'src_'.$current_resource}.'&&'.$hash{'title_'.$current_resource}.'&&'.$symb;
}
$current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};
@@ -768,9 +760,7 @@ sub coming_from_hash {
if ($hash{'src_'.$current_resource}=~/\.sequence$/) {
push @resourcelist,&coming_from_hash($hash{'src_'.$current_resource});
} else {
- my $presymb;
- if ($mainsequence =~ /\/res\/(.*)$/) {$presymb = $1;}
- elsif ($mainsequence =~ /\/?(uploaded\/(.*))$/) {$presymb = $1;}
+ my $presymb=&Apache::lonnet::declutter($mainsequence);
my $rid = $current_resource;
if ($rid=~/,/) {
my @rid = split /,/, $rid;
@@ -784,8 +774,8 @@ sub coming_from_hash {
$rid =~ m/^$mapid\.(\d*)/;
$rid = $1;
}
- $hash{'src_'.$current_resource} =~ m/\/res\/(.*)$/;
- my $symb = $presymb.'___'.$rid.'___'.$1;
+ my $symb = $presymb.'___'.$rid.'___'.
+ &Apache::lonnet::declutter($hash{'src_'.$current_resource});
push @resourcelist,$hash{'src_'.$current_resource}.'&&'.$hash{'title_'.$current_resource}.'&&'.$symb;
}
$current_resource = $hash{'goesto_'.$hash{'to_'.$current_resource}};
@@ -1159,21 +1149,18 @@ sub details_for_menu {
my $name_of_resourse = $hash{'title_'.$hash{'ids_'.$ENV{'form.postdata'}}};
my $symbolic = &Apache::lonnet::symbread($ENV{'form.postdata'});
my ($map,$id,$resource)=split(/___/,$symbolic);
+ $map=&Apache::lonnet::clutter($map);
my $name_of_sequence;
- if ($map=~/^uploaded/) {
- $name_of_sequence = $hash{'title_'.$hash{'ids_/'.$map}};
- } else {
- $name_of_sequence = $hash{'title_'.$hash{'ids_/res/'.$map}};
- }
+ $name_of_sequence = $hash{'title_'.$hash{'ids_'.$map}};
if ($name_of_sequence =~ /^\s*$/) {
- $map =~ m|([^/]+)$|;
- $name_of_sequence = $1;
+ $map =~ m|([^/]+)$|;
+ $name_of_sequence = $1;
}
- my $name_of_map = $hash{'title_'.$hash{'ids_/res/'.$ENV{'request.course.uri'}}};
+ my $name_of_map = $hash{'title_'.$hash{'ids_'.&Apache::lonnet::clutter($ENV{'request.course.uri'})}};
if ($name_of_map =~ /^\s*$/) {
- $ENV{'request.course.uri'} =~ m|([^/]+)$|;
- $name_of_map = $1;
- }
+ $ENV{'request.course.uri'} =~ m|([^/]+)$|;
+ $name_of_map = $1;
+ }
return ($name_of_resourse,$name_of_sequence,$name_of_map);
}
@@ -1343,11 +1330,11 @@ sub printWizard {
if ($ENV{'form.postdata'}=~ /\/res\//) {
# Allow problems from sequence
push @{$printChoices}, ['map_problems', "Problems from $sequenceTitle", 'CHOOSE_PROBLEMS'];
- Apache::lonwizard::resource_multichoice->new($wizard, "CHOOSE_PROBLEMS", 'Select Problems', "Select problems to print from $sequenceTitle:", '', 'CHOOSE_FORMAT', 'RESOURCES', sub {my $res = shift; return $res->is_problem()}, undef, $map);
+ Apache::lonwizard::resource_multichoice->new($wizard, "CHOOSE_PROBLEMS", 'Select Problems', "Select problems to print from $sequenceTitle:", 'CHOOSE_FORMAT', 'RESOURCES', sub {my $res = shift; return $res->is_problem()}, undef, $map);
# Allow all resources from sequence
push @{$printChoices}, ['map_problems_pages', "Problems and pages from $sequenceTitle", 'CHOOSE_PROBLEMS_HTML'];
- Apache::lonwizard::resource_multichoice->new($wizard, "CHOOSE_PROBLEMS_HTML", 'Select Resources', "Select resources to print from $sequenceTitle:", '', "CHOOSE_FORMAT", 'RESOURCES', sub {my $res = shift; return !$res->is_map()}, undef, $map);
+ Apache::lonwizard::resource_multichoice->new($wizard, "CHOOSE_PROBLEMS_HTML", 'Select Resources', "Select resources to print from $sequenceTitle:", "CHOOSE_FORMAT", 'RESOURCES', sub {my $res = shift; return !$res->is_map()}, undef, $map);
}
# If the user is priviledged, allow them to print all
@@ -1355,13 +1342,13 @@ sub printWizard {
if (($ENV{'request.role'}=~m/^cc\./ or $ENV{'request.role'}=~m/^in\./ or $ENV{'request.role'}=~m/^ta\./) and ($ENV{'form.postdata'}=~/\/res\//)) {
push @{$printChoices}, ['all_problems', 'All problems in course (may take a lot of time)', 'CHOOSE_FORMAT'];
push @{$printChoices}, ['problems_for_students', "Problems from $sequenceTitle for selected students", 'CHOOSE_STUDENTS'];
- Apache::lonwizard::choose_student->new($wizard, "CHOOSE_STUDENTS", "Choose Students", "Select the students you wish to print the problems for:", '', 'CHOOSE_FORMAT', 'STUDENTS', 1);
+ Apache::lonwizard::choose_student->new($wizard, "CHOOSE_STUDENTS", "Choose Students", "Select the students you wish to print the problems for:", 'CHOOSE_FORMAT', 'STUDENTS', 1);
}
# FIXME: That RE should come from a library somewhere.
if ((&Apache::lonnet::allowed('bre',$subdir) eq 'F') and ($ENV{'form.postdata'}=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)/)) {
push @{$printChoices}, ['problems_from_directory', "Problems from $subdir", 'CHOOSE_FROM_SUBDIR'];
- Apache::lonwizard::choose_files->new($wizard, "CHOOSE_FROM_SUBDIR", "Select Files","Select problems you wish to print from $subdir:", '', 'CHOOSE_FORMAT', 'FILES', $subdir, $problemFilter);
+ Apache::lonwizard::choose_files->new($wizard, "CHOOSE_FROM_SUBDIR", "Select Files","Select problems you wish to print from $subdir:", 'CHOOSE_FORMAT', 'FILES', $subdir, $problemFilter);
}
# Despite the appearance of states before here, this is the first state.
@@ -1373,7 +1360,6 @@ sub printWizard {
untie %hash;
return OK;
-
}
@@ -1422,20 +1408,6 @@ sub new {
return $self;
}
-sub postprocess {
- my $self = shift;
- my $wizard = $self->{WIZARD};
-
- # We have to manually collect the value and store it in the
- # wizard variable
- my $result = $ENV{'form.' . $self->{VAR_NAME} . '.layout'} . '|';
- $result .= $ENV{'form.' . $self->{VAR_NAME} . '.cols'} . '|';
- $result .= $ENV{'form.' . $self->{VAR_NAME} . '.paper'};
-
- $wizard->setVar($self->{VAR_NAME}, $result);
- $wizard->changeState($self->{NEXT_STATE});
-}
-
sub render {
my $self = shift;
my $wizard = $self->{WIZARD};