--- loncom/interface/londocs.pm 2003/11/04 19:18:16 1.94 +++ loncom/interface/londocs.pm 2004/02/11 00:10:01 1.104 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.94 2003/11/04 19:18:16 www Exp $ +# $Id: londocs.pm,v 1.104 2004/02/11 00:10:01 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -68,10 +68,13 @@ sub mapread { sub storemap { my ($coursenum,$coursedom,$map)=@_; - $hadchanges=1; - return + my ($outtext,$errtext)= &Apache::lonratedt::storemap('/uploaded/'.$coursedom.'/'.$coursenum.'/'. $map,1); + if ($errtext) { return ($errtext,2); } + + $hadchanges=1; + return ($errtext,0); } # ----------------------------------------- Return hash with valid author names @@ -250,7 +253,7 @@ sub group_import { join ':', ($name, $url, $ext, 'normal', 'res'); } } - &storemap($coursenum, $coursedom, $folder.'.sequence'); + return &storemap($coursenum, $coursedom, $folder.'.sequence'); } sub editor { @@ -295,7 +298,12 @@ sub editor { $comment.':'.$url.':'.$ext.':normal:res'; $Apache::lonratedt::order[$#Apache::lonratedt::order+1]= $newidx; - &storemap($coursenum,$coursedom,$folder.'.sequence'); + + ($errtext,$fatal)=&storemap($coursenum,$coursedom,$folder.'.sequence'); + if ($fatal) { + $r->print('
'.$errtext.'
'); + return; + } } } if ($ENV{'form.cmd'}) { @@ -335,7 +343,12 @@ sub editor { } # Store the changed version - &storemap($coursenum,$coursedom,$folder.'.sequence'); + ($errtext,$fatal)=&storemap($coursenum,$coursedom, + $folder.'.sequence'); + if ($fatal) { + $r->print(''.$errtext.'
'); + return; + } } # Group import/search if ($ENV{'form.importdetail'}) { @@ -349,21 +362,30 @@ sub editor { } } # Store the changed version - group_import($coursenum, $coursedom, $folder, @imports); + ($errtext,$fatal)=group_import($coursenum, $coursedom, $folder, + @imports); + if ($fatal) { + $r->print(''.$errtext.'
'); + return; + } } # Loading a complete map if (($ENV{'form.importmap'}) && ($ENV{'form.loadmap'})) { - foreach -(&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$ENV{'form.importmap'}))) { + foreach (&Apache::lonsequence::attemptread(&Apache::lonnet::filelocation('',$ENV{'form.importmap'}))) { my $idx=$#Apache::lonratedt::resources; $idx++; $Apache::lonratedt::resources[$idx]=$_; $Apache::lonratedt::order - [$#Apache::lonratedt::order+1]=$idx; - } + [$#Apache::lonratedt::order+1]=$idx; + } # Store the changed version - &storemap($coursenum,$coursedom,$folder.'.sequence'); + ($errtext,$fatal)=&storemap($coursenum,$coursedom, + $folder.'.sequence'); + if ($fatal) { + $r->print(''.$errtext.'
'); + return; + } } } # ---------------------------------------------------------------- End commands @@ -425,14 +447,11 @@ END # Figure out what kind of a resource this is my ($extension)=($url=~/\.(\w+)$/); my $uploaded=($url=~/^\/*uploaded\//); - my $icon='unknown'; - if (-e "/home/httpd/html/adm/lonIcons/$extension.gif") { - $icon=$extension; - } + my $icon=&Apache::loncommon::icon($url); my $isfolder=0; if ($uploaded) { if ($extension eq 'sequence') { - $icon='folder_closed'; + $icon=$iconpath.'/folder_closed.gif'; $url=~/\/(\w+)\.sequence/; $url='/adm/coursedocs?folder='.$1; $isfolder=1; @@ -454,8 +473,7 @@ END if ($isfolder) { $url.='&foldername='. &Apache::lonnet::escape($foldertitle); } $line.='$lt{'fi'} | $lt{'md'} | $lt{'mr'} | -$lt{'ve'} | $lt{'vu'} | $lt{'di'} |
---|
'.
+ ' '. &Apache::lonnet::gettitle($linkurl). - ' '.$linkurl. - ' '.
- &Apache::lonlocal::locallocaltime($changes{$_}).
- ' | '.
- $currentversion.' | ');
+ ' | | '.
+ ''.
+ ''.$linkurl.
+ ' | '.
+ ' | '.
+ &Apache::lonlocal::locallocaltime(
+ &Apache::lonnet::metadata($root.'.'.$extension,
+ 'lastrevisiondate')
+ ).
+ ' | '.
+ ' | '.
+ '');
+ $r->print(' | '.
+ ' |
');
my $lastold=1;
for (my $prevvers=1;$prevvers<$currentversion;$prevvers++) {
my $url=$root.'.'.$prevvers.'.'.$extension;
@@ -753,11 +785,27 @@ ENDHEADERS
$lastold=$prevvers;
}
}
+ #
+ # Code to figure out how many version entries should go in
+ # each of the four columns
+ my $entries_per_col = 0;
+ my $num_entries = ($currentversion-$lastold);
+ if ($num_entries % 4 == 0) {
+ $entries_per_col = $num_entries/4;
+ } else {
+ $entries_per_col = $num_entries/4 + 1;
+ }
+ my $entries_count = 0;
+ $r->print(' | ');
+ my $cols_output = 1;
for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) {
my $url=$root.'.'.$prevvers.'.'.$extension;
- $r->print(' | ');
+ if ($cols_output != 4) {
+ $r->print(''); + if (++$entries_count % $entries_per_col == 0) { + $r->print(' ');
+ $cols_output++;
+ }
+ }
}
- $r->print(' | | ') + } + $r->print(' |
$lt{'spec'} |
---|
-File: +$lt{'file'}: + |