--- loncom/interface/londocs.pm 2006/11/13 15:02:58 1.250
+++ loncom/interface/londocs.pm 2006/11/20 17:45:11 1.254
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.250 2006/11/13 15:02:58 www Exp $
+# $Id: londocs.pm,v 1.254 2006/11/20 17:45:11 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -954,6 +954,7 @@ sub breadcrumbs {
}
my $folderpath;
my $cpinfo='';
+ my $plain='';
if ($env{'form.markedcopy_url'}) {
$cpinfo='&markedcopy_url='.
&escape($env{'form.markedcopy_url'}).
@@ -986,9 +987,11 @@ sub breadcrumbs {
'text'=>''.
$name.''
});
+ $plain.=$name.' > ';
}
+ $plain=~s/\>\;\s*$//;
return (&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0,'nohelp',
- 'LC_docs_path'),$randompick,$ishidden,$isencrypted);
+ 'LC_docs_path'),$randompick,$ishidden,$isencrypted,$plain);
}
sub log_docs {
@@ -1021,10 +1024,9 @@ sub log_docs {
}
sub log_differences {
- my ($coursenum,$coursedom,$folder)=@_;
- my %storehash=('folder' => '/uploaded/'.$coursedom.'/'.$coursenum.'/userfiles/'.$folder);
+ my ($plain)=@_;
+ my %storehash=('folder' => $plain);
if ($parmidx) {
- $storehash{'parameter_idx'}=$parmidx;
$storehash{'parameter_res'}=$oldresources[$parmidx];
foreach my $parm (keys %parmaction) {
$storehash{'parameter_action_'.$parm}=$parmaction{$parm};
@@ -1042,13 +1044,12 @@ sub log_docs {
$changedflag=1;
}
if ($LONCAPA::map::order[$idx] ne $oldorder[$idx]) {
- $storehash{'before_order_'.$idx}=$oldorder[$idx];
- $storehash{'after_order_'.$idx}=$LONCAPA::map::order[$idx];
- $storehash{'before_order_res_'.$idx}=$oldresources[$idx];
- $storehash{'after_order_res_'.$idx}=$LONCAPA::map::resources[$idx];
+ $storehash{'before_order_res_'.$idx}=$oldresources[$oldorder[$idx]];
+ $storehash{'after_order_res_'.$idx}=$LONCAPA::map::resources[$LONCAPA::map::order[$idx]];
$changedflag=1;
}
}
+ $storehash{'maxidx'}=$maxidx;
if ($changedflag) { &log_docs(\%storehash); }
}
}
@@ -1061,32 +1062,37 @@ sub docs_change_log {
my ($r)=@_;
$r->print(&Apache::loncommon::start_page('Course Document Change Log'));
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Course Document Change Log'));
-
+
my %docslog=&Apache::lonnet::dump('nohist_docslog',
$env{'course.'.$env{'request.course.id'}.'.domain'},
$env{'course.'.$env{'request.course.id'}.'.num'});
-
+
if ((keys(%docslog))[0]=~/^error\:/) { undef(%docslog); }
-
+
$r->print('
');
$r->print(&Apache::loncommon::start_data_table().&Apache::loncommon::start_data_table_header_row().
- ''.&mt('Time').' | '.&mt('User').' | '.&mt('Folder').' | '.&mt('Users').' | '.
- &mt('Parameter').' | '.&mt('Part').' | '.&mt('New Value').' | '.&mt('Announce').' | '.
+ ''.&mt('Time').' | '.&mt('User').' | '.&mt('Folder').' | '.&mt('Before').' | '.
+ &mt('After').' | '.
&Apache::loncommon::end_data_table_header_row());
my $shown=0;
foreach my $id (sort { $docslog{$b}{'exe_time'}<=>$docslog{$a}{'exe_time'} } (keys(%docslog))) {
@@ -1115,9 +1121,53 @@ sub docs_change_log {
'
'.$docslog{$id}{'exe_uname'}.
':'.$docslog{$id}{'exe_udom'}.''.
$send_msg_link.''.
- &Apache::lonnet::gettitle($docslog{$id}{'logentry'}{'folder'}).' | ');
-
- $r->print(&Apache::loncommon::end_data_table_row());
+ $docslog{$id}{'logentry'}{'folder'}.'');
+# Before
+ for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) {
+ my $oldname=(split(/\:/,$docslog{$id}{'logentry'}{'before_resources_'.$idx}))[0];
+ my $newname=(split(/\:/,$docslog{$id}{'logentry'}{'after_resources_'.$idx}))[0];
+ if ($oldname ne $newname) {
+ $r->print(&LONCAPA::map::qtescape($oldname));
+ }
+ }
+ $r->print('');
+ for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) {
+ if ($docslog{$id}{'logentry'}{'before_order_res_'.$idx}) {
+ $r->print('- '.&LONCAPA::map::qtescape((split(/\:/,$docslog{$id}{'logentry'}{'before_order_res_'.$idx}))[0]).'
');
+ }
+ }
+ $r->print(' ');
+# After
+ $r->print(' | ');
+
+ for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) {
+ my $oldname=(split(/\:/,$docslog{$id}{'logentry'}{'before_resources_'.$idx}))[0];
+ my $newname=(split(/\:/,$docslog{$id}{'logentry'}{'after_resources_'.$idx}))[0];
+ if ($oldname ne $newname) {
+ $r->print(&LONCAPA::map::qtescape($newname));
+ }
+ }
+ $r->print('');
+ for (my $idx=0;$idx<=$docslog{$id}{'logentry'}{'maxidx'};$idx++) {
+ if ($docslog{$id}{'logentry'}{'after_order_res_'.$idx}) {
+ $r->print('- '.&LONCAPA::map::qtescape((split(/\:/,$docslog{$id}{'logentry'}{'after_order_res_'.$idx}))[0]).'
');
+ }
+ }
+ $r->print(' ');
+ if ($docslog{$id}{'logentry'}{'parameter_res'}) {
+ $r->print(&LONCAPA::map::qtescape((split(/\:/,$docslog{$id}{'logentry'}{'parameter_res'}))[0]).':');
+ foreach my $parameter ('randompick','hiddenresource','encrypturl') {
+ if ($docslog{$id}{'logentry'}{'parameter_action_'.$parameter}) {
+ $r->print('- '.
+ &mt($lt{$parameter}.' '.$lt{$docslog{$id}{'logentry'}{'parameter_action_'.$parameter}}.' [_1]',
+ $docslog{$id}{'logentry'}{'parameter_value_'.$parameter})
+ .'
');
+ }
+ }
+ $r->print(' ');
+ }
+# End
+ $r->print(' | '.&Apache::loncommon::end_data_table_row());
$shown++;
if (!($env{'form.show'} eq &mt('all')
|| $shown<=$env{'form.show'})) { last; }
@@ -1148,7 +1198,7 @@ sub editor {
$env{'form.markedcopy_title'}=$title;
$env{'form.markedcopy_url'}=$url;
}
- my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted)=&breadcrumbs($folder);
+ my ($breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain)=&breadcrumbs($folder);
$r->print($breadcrumbtrail);
if ($fatal) {
$r->print(''.$errtext.'
');
@@ -1368,8 +1418,7 @@ sub editor {
$r->print(''.&mt('No map selected.').'
');
}
}
- &log_differences($coursenum,$coursedom,
- $folder.'.'.$container);
+ &log_differences($plain);
}
# ---------------------------------------------------------------- End commands
# ---------------------------------------------------------------- Print screen