--- loncom/interface/londocs.pm 2004/01/29 00:50:44 1.100 +++ 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.100 2004/01/29 00:50:44 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 @@ -709,10 +731,7 @@ sub checkversions {

$header

- - - - +
$lt{'fi'}$lt{'md'}$lt{'mr'}$lt{'ve'}$lt{'vu'}$lt{'di'}
ENDHEADERS foreach (sort keys %changes) { if ($changes{$_}>$starttime) { @@ -723,13 +742,25 @@ ENDHEADERS } my $linkurl=&Apache::lonnet::clutter($_); $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(''); + if ($cols_output != 4) { + $r->print(''); + while($cols_output++ < 4) { + $r->print(''."\n"); } } $r->print('
'. + '


'. &Apache::lonnet::gettitle($linkurl). - '
'.$linkurl. - '
'. - &Apache::lonlocal::locallocaltime($changes{$_}). - ''. - $currentversion.''); + '
   '. + ''.$linkurl. + '
'. + &Apache::lonlocal::locallocaltime( + &Apache::lonnet::metadata($root.'.'.$extension, + 'lastrevisiondate') + ). + 'Most Recent: '. + ''.$currentversion.''. + 'In Course: '. + ''); # Used in course my $usedversion=$hash{'version_'.$linkurl}; if (($usedversion) && ($usedversion ne 'mostrecent')) { @@ -737,14 +768,15 @@ ENDHEADERS } else { $r->print($currentversion); } - $r->print(''); + $r->print(''. + 'Use: '); # Set version $r->print(&Apache::loncommon::select_form($setversions{$linkurl}, 'set_version_'.$linkurl, ('' => '', 'mostrecent' => 'most recent', map {$_,$_} (1..$currentversion)))); - $r->print('
    '); + $r->print('
'); + my $cols_output = 1; for (my $prevvers=$lastold;$prevvers<$currentversion;$prevvers++) { my $url=$root.'.'.$prevvers.'.'.$extension; - $r->print('
  • '.&mt('Version').' '.$prevvers.' ('. - &Apache::lonlocal::locallocaltime(&Apache::lonnet::metadata($url,'lastrevisiondate')). + &Apache::lonlocal::locallocaltime( + &Apache::lonnet::metadata($url, + 'lastrevisiondate') + ). ')'); if (&Apache::loncommon::fileembstyle($extension) eq 'ssi') { $r->print(' '.&mt('Diffs').''); } - $r->print('
  • '); + $r->print('
    '); + if (++$entries_count % $entries_per_col == 0) { + $r->print('
    '); + $cols_output++; + } + } } - $r->print('
    ') + } + $r->print('
    '); @@ -933,6 +991,21 @@ function makebulboard() { } } +function makeabout() { + var user=prompt("Enter user\@domain for User's 'About Me' Page"); + if (user) { + var comp=new Array(); + comp=user.split('\@'); + if ((typeof(comp[0])!=undefined) && (typeof(comp[1])!=undefined)) { + if ((comp[0]) && (comp[1])) { + this.document.forms.newaboutsomeone.importdetail.value= + 'About '+user+'=/adm/'+comp[1]+'/'+comp[0]+'/aboutme'; + this.document.forms.newaboutsomeone.submit(); + } + } + } +} + function finishpick() { var title=this.document.forms.extimport.title.value; var url=this.document.forms.extimport.url.value; @@ -990,6 +1063,7 @@ ENDNEWSCRIPT 'scuf' => 'Score Upload Form', 'bull' => 'Bulletin Board', 'mypi' => 'My Personal Info', + 'abou' => 'About User', 'file' => 'File', 'title' => 'Title', 'comment' => 'Comment' @@ -1174,6 +1248,15 @@ value="$plainname=/adm/$udom/$uname/abou $help{'My Personal Info'} +
    + + + + + + +
    ENDFORM