');
my ($domain,$author)=($uri=~/^($match_domain)\/($match_username)\//);
- if (&Apache::loncacc::constructaccess('/~'.$author.'/',$domain)) {
- if ($env{'form.clearbombs'}) {
- &Apache::lonmsg::clear_author_res_msg($uri);
- }
- my $clear=&mt('Clear all Messages in Subdirectory');
- my $cancel=&mt('Back to Directory');
- my $cancelurl=$uri;
- $cancelurl=~s/^\Q$domain\E/\/priv/;
- $r->print(<
-
-$cancel
-
-ENDCLEAR
+ if (!&Apache::loncacc::constructaccess('/priv/'.$domain.'/'.$author.'/')) {
+ $r->print('
'.&mt('Not authorized').'
');
+ return;
+ }
+
+ my $showbuttons=1;
+ my $message='';
+ if ($env{'form.clearbombs'}) {
+ my $rc=&Apache::lonmsg::clear_author_res_msg($uri);
+ if ($rc eq 'ok') {
+ $message=&Apache::lonhtmlcommon::confirm_success(
+ &mt('Messages cleared.'));
+ $showbuttons=0;
+ } else {
+ $message=&Apache::lonhtmlcommon::confirm_success(
+ &mt('Error clearing messages'),1)
+ .' '.&mt('Error: [_1]',$rc);
+ }
+ }
+
+ if ($message) {
+ $message=&Apache::loncommon::confirmwrapper($message);
+ $r->print($message);
+ }
+
+ my $cancelurl=$uri;
+ $cancelurl=~s/^\Q$domain\E/\/priv\/$domain/;
+
+ if ($showbuttons) {
+ $r->print(
+ ''
+ );
+ # Display all bombs of subdirectory
my %brokenurls =
&Apache::lonmsg::all_url_author_res_msg($author,$domain);
foreach my $key (sort(keys(%brokenurls))) {
@@ -842,7 +923,12 @@ ENDCLEAR
}
}
} else {
- $r->print(&mt('Not authorized'));
+ my $functions=&Apache::lonhtmlcommon::start_funclist('Actions');
+ $functions.=&Apache::lonhtmlcommon::add_item_funclist(
+ ''.
+ &mt('Back to Source Directory').'');
+ $functions .= &Apache::lonhtmlcommon::end_funclist();
+ $r->print('
'.$functions.'
');
}
return;
}
@@ -882,9 +968,8 @@ sub present_uneditable_metadata {
$versiondisplay='Version: '.$currentversion;
}
}
- # crumbify displayed URL uri target prefix form size
- $disuri=&Apache::lonhtmlcommon::crumbs($disuri,undef, undef, undef,'+1');
- $disuri =~ s: ::g;
+ # crumbify displayed URL uri target prefix form
+ $disuri=&Apache::lonhtmlcommon::crumbs($disuri,undef, undef, undef);
# obsolete
my $obsolete=$content{'obsolete'};
my $obsoletewarning='';
@@ -968,13 +1053,13 @@ sub print_dynamic_metadata {
my %dynmeta=&dynamicmeta($uri);
#
# General Access and Usage Statistics
+ $r->print('
('
+ .&mt('visible to author and co-authors only')
+ .')
'
+ );
if (exists($dynmeta{'comments'})) {
- $r->print('
'.&mt('Evaluation Comments').' ('.
- &mt('visible to author and co-authors only').
- ')
'.
- '
'.$dynmeta{'comments'}.'
');
+ $r->print('
'.$dynmeta{'comments'}.'
');
} else {
- $r->print('
'.&mt('There are no Evaluation Comments on this resource.').'
');
+ $r->print('
'
+ .&mt('There are no Evaluation Comments on this resource.')
+ .'
'
+ );
}
my $bombs = &Apache::lonmsg::retrieve_author_res_msg($uri);
if (defined($bombs) && $bombs ne '') {
- $r->print('
'.&mt('Error Messages').' ('.
- &mt('visible to author and co-authors only').')'.
- '
'.$bombs);
- } else {
- $r->print('
'.&mt('There are currently no Error Messages for this resource.').'
');
- }
+ $r->print(''
+ .'
'.&mt('Error Messages').'
'
+ .'
('
+ .&mt('visible to author and co-authors only')
+ .')
'
+ .$bombs
+ );
+ } #else {
+ # $r->print('
'.&mt('There are currently no Error Messages for this resource.').'
');
+ #}
}
#
# All other stuff
@@ -1197,52 +1305,72 @@ sub present_editable_metadata {
$target=~s/\.meta$//;
my $bombs=&Apache::lonmsg::retrieve_author_res_msg($target);
if ($bombs) {
- my $showdel=1;
+ # Display Bombs, not Metadata
+ $r->print("
$disuri
");
+ my $showbuttons=1;
+ my $message='';
+ my $rc='';
if ($env{'form.delmsg'}) {
- if (&Apache::lonmsg::del_url_author_res_msg($target) eq 'ok') {
- $bombs=&mt('Messages deleted.');
- $showdel=0;
+ $rc=&Apache::lonmsg::del_url_author_res_msg($target);
+ if ($rc eq 'ok') {
+ $message=&Apache::lonhtmlcommon::confirm_success(
+ &mt('Messages deleted.'));
+ $showbuttons=0;
} else {
- $bombs=&mt('Error deleting messages');
+ $message=&Apache::lonhtmlcommon::confirm_success(
+ &mt('Error deleting messages'), 1)
+ .' '.&mt('Error: [_1]',$rc);
}
}
if ($env{'form.clearmsg'}) {
my $cleardir=$target;
- $cleardir=~s/\/[^\/]+$/\//;
- if (&Apache::lonmsg::clear_author_res_msg($cleardir) eq 'ok') {
- $bombs=&mt('Messages cleared.');
- $showdel=0;
+ $cleardir=~s/\/[^\/]+$/\//; # Extract dir: keep path, remove filename
+ $rc=&Apache::lonmsg::clear_author_res_msg($cleardir);
+ if ($rc eq 'ok') {
+ $message=&Apache::lonhtmlcommon::confirm_success(
+ &mt('Messages cleared.'));
+ $showbuttons=0;
} else {
- $bombs=&mt('Error clearing messages');
- }
- }
- my $del=&mt('Delete Messages for this Resource');
- my $clear=&mt('Clear all Messages in Subdirectory');
- my $goback=&mt('Back to Source File');
- $r->print(<$disuri
-