--- loncom/imspackages/imsimport.pm 2009/08/17 03:52:09 1.32 +++ loncom/imspackages/imsimport.pm 2011/10/24 21:58:04 1.34 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: imsimport.pm,v 1.32 2009/08/17 03:52:09 raeburn Exp $ +# $Id: imsimport.pm,v 1.34 2011/10/24 21:58:04 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -604,8 +604,8 @@ sub display_three { } else { $r->print($lt{'yims'}.' '.&mt('A total of [quant,_1,sequence], [quant,_2,composite page], [quant,_3,bulletin board], [quant,_4,quiz,quizzes], [quant,_5,survey], and [quant,_6,problem] have been created, and [quant,_7,file] copied.',$total{seq},$total{page},$total{board},$total{quiz},$total{surv},$total{prob},$total{file})."\n"); } - $r->print('

'.$lt{'plsv'}.' '.$lt{'tseq'}.'

'.$lt{'tfin'}.'

'.$lt{'disp'}.''); - if ($destdir =~ m-^/home/$uname/public_html/-) { + $r->print('

'.$lt{'plsv'}.' '.$lt{'tseq'}.'

'.$lt{'tfin'}.'

'.$lt{'disp'}.''); + if ($destdir =~ m-^/home/httpd/html/priv/$udom/$uname/-) { system (" rm -r -f $destdir/temp"); } } elsif ($manifest_result eq 'nomanifest') { @@ -616,63 +616,42 @@ sub display_three { # ---------------------------------------------------------------- Get LON-CAPA Course Coordinator roles for this user sub get_ccroles { my ($user,$dom,$crsentry,$crslist) = @_; - my %roles = (); + my %roles; unless ($user eq '') { - %roles = &Apache::lonnet::dump('roles',$dom,$user); + my $ccrole = 'cc'; + %roles = &Apache::lonnet::get_my_roles($user,$dom,'userroles',undef,[$ccrole]); } my $iter = 0; my @codes = (); my %courses = (); my @crslist = (); my %descrip =(); - foreach my $key (keys %roles ) { + foreach my $key (keys(%roles)) { if ($key =~ m{^/($LONCAPA::domain_re)/($LONCAPA::username_re)_cc$}) { my $cdom = $1; my $crs = $2; - my $role_end = 0; - my $role_start = 0; - my $active_chk = 1; - if ( $roles{$key} =~ m/^cc_(\d+)/ ) { - $role_end = $1; - if ( $roles{$key} =~ m/^cc_($role_end)_(\d+)$/ ) - { - $role_start = $2; - } - } - if ($role_start > 0) { - if (time < $role_start) { - $active_chk = 0; - } - } - if ($role_end > 0) { - if (time > $role_end) { - $active_chk = 0; - } + my $currcode = ''; + my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$cdom,$crs); + if (defined($settings{'description'}) ) { + $descrip{$crs} = $settings{'description'}; + } else { + $descrip{$crs} = 'Unknown'; } - if ($active_chk) { - my $currcode = ''; - my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$cdom,$crs); - if (defined($settings{'description'}) ) { - $descrip{$crs} = $settings{'description'}; - } else { - $descrip{$crs} = 'Unknown'; - } - if (defined($settings{'internal.coursecode'}) ) { - $currcode = $settings{'internal.coursecode'}; - if ($currcode eq '') { - $currcode = "____".$iter; - $iter ++; - } - } else { + if (defined($settings{'internal.coursecode'}) ) { + $currcode = $settings{'internal.coursecode'}; + if ($currcode eq '') { $currcode = "____".$iter; $iter ++; } - unless (grep/^$currcode$/,@codes) { - push @codes,$currcode; - @{$courses{$currcode}} = (); - } - push @{$courses{$currcode}}, $cdom.'/'.$crs; + } else { + $currcode = "____".$iter; + $iter ++; + } + unless (grep/^$currcode$/,@codes) { + push @codes,$currcode; + @{$courses{$currcode}} = (); } + push @{$courses{$currcode}}, $cdom.'/'.$crs; } } foreach my $code (sort @codes) { @@ -705,7 +684,7 @@ sub handler { # re-attach user # if ($env{'form.uploaduname'}) { - $env{'form.filename'}='/priv/'.$env{'form.uploaduname'}.'/'. + $env{'form.filename'}='/priv/'.$dom.'/'.$env{'form.uploaduname'}.'/'. $env{'form.filename'}; } ($uname,$udom)= @@ -724,16 +703,16 @@ sub handler { $fn=$env{'form.filename'}; $fn=~s/^https?\:\/\/[^\/]+\///; $fn=~s/^\///; - $fn=~s/(\~|priv\/)($LONCAPA::username_re)//; + $fn=~s/(priv\/)($LONCAPA::domain_re)\/($LONCAPA::username_re)//; $fn=~s/\/+/\//g; } else { $r->log_reason($env{'user.name'}.' at '.$env{'user.domain'}. ' unspecified filename for upload', $r->filename); return HTTP_NOT_FOUND; } - my $zipupload = '/home/'.$uname.'/public_html'.$fn; + my $zipupload = '/home/httpd/html/priv/'.$udom.'/'.$uname.$fn; my $pathname = &File::Basename::dirname($fn); - my $fullpath = '/priv/'.$uname.$pathname; + my $fullpath = '/priv/'.$udom.'/'.$uname.$pathname; unless ($pathname eq '/') { $fullpath .= '/'; }