--- loncom/interface/lonmeta.pm 2005/03/16 22:52:04 1.93
+++ loncom/interface/lonmeta.pm 2005/10/14 16:34:17 1.112
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Metadata display handler
#
-# $Id: lonmeta.pm,v 1.93 2005/03/16 22:52:04 matthew Exp $
+# $Id: lonmeta.pm,v 1.112 2005/10/14 16:34:17 banghart Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -17,7 +17,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License
+# You should have received a copy of the GNU General Public License
# along with LON-CAPA; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
@@ -31,9 +31,9 @@ package Apache::lonmeta;
use strict;
use LONCAPA::lonmetadata();
use Apache::Constants qw(:common);
-use Apache::lonnet();
+use Apache::lonnet;
use Apache::loncommon();
-use Apache::lonhtmlcommon();
+use Apache::lonhtmlcommon();
use Apache::lonmsg;
use Apache::lonpublisher;
use Apache::lonlocal;
@@ -238,16 +238,16 @@ sub diffgraph {
sub fieldnames {
my $file_type=shift;
my %fields =
- ('title' => 'Title',
- 'author' =>'Author(s)',
- 'authorspace' => 'Author Space',
- 'modifyinguser' => 'Last Modifying User',
- 'subject' => 'Subject',
- 'keywords' => 'Keyword(s)',
- 'notes' => 'Notes',
- 'abstract' => 'Abstract',
- 'lowestgradelevel' => 'Lowest Grade Level',
- 'highestgradelevel' => 'Highest Grade Level');
+ ('metadata.title' => 'Title',
+ 'metadata.author' =>'Author(s)',
+ 'metadata.authorspace' => 'Author Space',
+ 'metadata.modifyinguser' => 'Last Modifying User',
+ 'metadata.subject' => 'Subject',
+ 'metadata.keywords' => 'Keyword(s)',
+ 'metadata.notes' => 'Notes',
+ 'metadata.abstract' => 'Abstract',
+ 'metadata.lowestgradelevel' => 'Lowest Grade Level',
+ 'metadata.highestgradelevel' => 'Highest Grade Level');
if (! defined($file_type) || $file_type ne 'portfolio') {
%fields =
(%fields,
@@ -288,6 +288,50 @@ sub fieldnames {
return &Apache::lonlocal::texthash(%fields);
}
+sub select_course {
+ my ($r)=@_;
+ my @courses;
+ foreach my $key (keys (%env)) {
+
+ if ($key =~ m/^(course\..+)\.metadata\..+\.options/) {
+ my $course_key = $1;
+ $course_key .= '.description';
+ $r->print($env{$course_key}.' of '.$course_key.'
');
+ push @courses, $key;
+ }
+ }
+ foreach (@courses) {
+ $r->print($_.' was found
');
+ }
+ $r->print('
Portfolio Meta-Data
');
+ $r->print('
+ENDCLEAR
my %brokenurls =
&Apache::lonmsg::all_url_author_res_msg($author,$domain);
foreach (sort(keys(%brokenurls))) {
@@ -632,7 +687,7 @@ sub present_uneditable_metadata {
# obsolete
my $obsolete=$content{'obsolete'};
my $obsoletewarning='';
- if (($obsolete) && ($ENV{'user.adv'})) {
+ if (($obsolete) && ($env{'user.adv'})) {
$obsoletewarning=''.
&mt('This resource has been marked obsolete by the author(s)').
'
';
@@ -681,7 +736,7 @@ $versiondisplay
$table
ENDHEAD
- if ($ENV{'user.adv'}) {
+ if ($env{'user.adv'}) {
&print_dynamic_metadata($r,$uri,\%content);
}
return;
@@ -822,8 +877,8 @@ sub print_dynamic_metadata {
$r->print(''.&mt('No Evaluation Data is available for this resource.').'
');
}
$uri=~/^\/res\/(\w+)\/(\w+)\//;
- if ((($ENV{'user.domain'} eq $1) && ($ENV{'user.name'} eq $2))
- || ($ENV{'user.role.ca./'.$1.'/'.$2})) {
+ if ((($env{'user.domain'} eq $1) && ($env{'user.name'} eq $2))
+ || ($env{'user.role.ca./'.$1.'/'.$2})) {
if (exists($dynmeta{'comments'})) {
$r->print(''.&mt('Evaluation Comments').' ('.
&mt('visible to author and co-authors only').
@@ -874,6 +929,8 @@ sub print_dynamic_metadata {
return;
}
+
+
#####################################################
#####################################################
### ###
@@ -889,25 +946,47 @@ sub present_editable_metadata {
my $fn=&Apache::lonnet::filelocation('',$uri);
$disuri=~s/^\/\~/\/priv\//;
$disuri=~s/\.meta$//;
+ $disuri=~s|^/editupload||;
my $target=$uri;
- $target=~s/^\/\~/\/res\/$ENV{'request.role.domain'}\//;
+ $target=~s/^\/\~/\/res\/$env{'request.role.domain'}\//;
$target=~s/\.meta$//;
my $bombs=&Apache::lonmsg::retrieve_author_res_msg($target);
if ($bombs) {
- if ($ENV{'form.delmsg'}) {
+ my $showdel=1;
+ if ($env{'form.delmsg'}) {
if (&Apache::lonmsg::del_url_author_res_msg($target) eq 'ok') {
$bombs=&mt('Messages deleted.');
+ $showdel=0;
} else {
$bombs=&mt('Error deleting messages');
}
}
- my $del=&mt('Delete Messages');
+ 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;
+ } 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