--- loncom/interface/londocs.pm 2007/01/29 21:18:53 1.271 +++ loncom/interface/londocs.pm 2007/06/15 19:12:56 1.277 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.271 2007/01/29 21:18:53 albertel Exp $ +# $Id: londocs.pm,v 1.277 2007/06/15 19:12:56 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -904,15 +904,16 @@ sub store_template { # Imports the given (name, url) resources into the course # coursenum, coursedom, and folder must precede the list sub group_import { - my $coursenum = shift; - my $coursedom = shift; - my $folder = shift; - my $container = shift; - my $caller = shift; - while (@_) { - my $name = shift; - my $url = shift; - if (($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$}) && ($caller eq 'londocs')) { + my ($coursenum, $coursedom, $folder, $container, $caller, @files) = @_; + + while (@files) { + my $name = shift(@files); + my $url = shift(@files); + #FIXME check if file exists before overwriting, might be restoring it + if (($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$}) + && ($caller eq 'londocs') + && (!&Apache::lonnet::stat_file($url))) { + my $errtext = ''; my $fatal = 0; my $newmapstr = ''."\n". @@ -936,8 +937,8 @@ sub group_import { $LONCAPA::map::order[$#LONCAPA::map::order+1]=$idx; my $ext = 'false'; if ($url=~m{^http://} || $url=~m{^https://}) { $ext = 'true'; } - $url =~ &LONCAPA::map::qtunescape($url); - $name =~ &LONCAPA::map::qtunescape($name); + $url = &LONCAPA::map::qtunescape($url); + $name = &LONCAPA::map::qtunescape($name); $LONCAPA::map::resources[$idx] = join ':', ($name, $url, $ext, 'normal', 'res'); } @@ -1583,14 +1584,19 @@ sub ask_for_embedded_content { &Apache::loncommon::start_data_table(); my $num = 0; - foreach my $embed_file (keys(%{$allfiles})) { + foreach my $embed_file (sort {lc($a) cmp lc($b)} keys(%{$allfiles})) { $upload_output .= &Apache::loncommon::start_data_table_row(). ''.$embed_file.''; - if ($args->{'error_on_invalid_names'} + if ($args->{'ignore_remote_references'} + && $embed_file =~ m{^\w+://}) { + $upload_output.=''.&mt("URL points to other server.").''; + } elsif ($args->{'error_on_invalid_names'} && $embed_file ne &Apache::lonnet::clean_filename($embed_file,{'keep_path' => 1,})) { $upload_output.=''.&mt("Invalid characters").''; + } else { + $upload_output .=' '; @@ -1611,7 +1617,8 @@ sub ask_for_embedded_content { } $upload_output .= &Apache::loncommon::end_data_table().'
- + + '.&mt('(only files for which a location has been provided will be uploaded)').' '; return $upload_output; } @@ -1880,7 +1887,7 @@ END (&LONCAPA::map::getparameter($orderidx, 'parameter_randompick'))[0]. '" />'. -''.&mt('Store').''; +''.&mt('Save').''; } if ($ispage) { @@ -2139,9 +2146,9 @@ sub checkversions { if (&Apache::lonnet::put('resourceversions',\%newsetversions, $env{'course.'.$env{'request.course.id'}.'.domain'}, $env{'course.'.$env{'request.course.id'}.'.num'}) eq 'ok') { - $r->print('

'.&mt('Your Version Settings have been Stored').'

'); + $r->print('

'.&mt('Your Version Settings have been Saved').'

'); } else { - $r->print('

'.&mt('An Error Occured while Attempting to Store your Version Settings').'

'); + $r->print('

'.&mt('An Error Occured while Attempting to Save your Version Settings').'

'); } &mark_hash_old(); }