--- loncom/publisher/lonpublisher.pm 2004/06/18 16:52:19 1.174
+++ loncom/publisher/lonpublisher.pm 2005/01/24 21:56:57 1.180.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Publication Handler
#
-# $Id: lonpublisher.pm,v 1.174 2004/06/18 16:52:19 www Exp $
+# $Id: lonpublisher.pm,v 1.180.2.1 2005/01/24 21:56:57 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -329,6 +329,21 @@ sub textfield {
'';
}
+sub text_with_browse_field {
+ my ($title,$name,$value,$restriction)=@_;
+ $value=~s/^\s+//gs;
+ $value=~s/\s+$//gs;
+ $value=~s/\s+/ /gs;
+ $title=&mt($title);
+ $ENV{'form.'.$name}=$value;
+ return "\n
$title:".
+ "
".
+ ''.
+ 'Select '.
+ 'Search';
+
+}
+
sub hiddenfield {
my ($name,$value)=@_;
$ENV{'form.'.$name}=$value;
@@ -472,7 +487,8 @@ sub get_subscribed_hosts {
while ($filename=readdir(DIR)) {
if ($filename=~/\Q$srcf\E\.(\w+)$/) {
my $subhost=$1;
- if (($subhost ne 'meta' && $subhost ne 'subscription') &&
+ if (($subhost ne 'meta' && $subhost ne 'subscription' &&
+ $subhost ne 'tmp') &&
($subhost ne $Apache::lonnet::perlvar{'lonHostID'})) {
push(@subscribed,$subhost);
}
@@ -583,11 +599,11 @@ sub get_all_text_unbalanced {
} elsif ($token->[0] eq 'E') {
$result.=$token->[2];
}
- if ($result =~ /(.*)\Q$tag\E(.*)/s) {
+ if ($result =~ /\Q$tag\E/s) {
+ ($result,my $redo)=$result =~ /(.*)\Q$tag\E(.*)/is;
#&Apache::lonnet::logthis('Got a winner with leftovers ::'.$2);
#&Apache::lonnet::logthis('Result is :'.$1);
- $result=$1;
- my $redo=$tag.$2;
+ $redo=$tag.$redo;
push (@$pars,HTML::LCParser->new(\$redo));
$$pars[-1]->xml_mode('1');
last;
@@ -929,7 +945,7 @@ sub publish {
}
}
}
- $outstring=~s/\n*(\<\/[^\>]+\>)\s*$/$allowstr\n$1\n/s;
+ $outstring=~s/\n*(\<\/[^\>]+\>[^<]*)$/$allowstr\n$1\n/s;
# ------------------------------------------------------------- Write modified.
@@ -1131,7 +1147,7 @@ END
my $colcount=0;
foreach (sort keys %keywords) {
- $keywordout.=' | ';
+ $keywordout.=' />'.$_.'';
if ($colcount>10) {
$keywordout.="\n";
$colcount=0;
@@ -1237,15 +1253,12 @@ END
my $copyright_help =
Apache::loncommon::help_open_topic('Publishing_Copyright');
$intr_scrout =~ s/DISTRIBUTION:/'DISTRIBUTION: ' . $copyright_help/ge;
- $intr_scrout.=&textfield('Custom Distribution File','customdistributionfile',
- $metadatafields{'customdistributionfile'}).
- $copyright_help;
+ $intr_scrout.=&text_with_browse_field('Custom Distribution File','customdistributionfile',$metadatafields{'customdistributionfile'},'rights').$copyright_help;
$intr_scrout.=&selectbox('Source Distribution','sourceavail',
$defaultsourceoption,
\&Apache::loncommon::source_copyrightdescription,
(&Apache::loncommon::source_copyrightids));
- $intr_scrout.=&textfield('Source Custom Distribution File','sourcerights',
- $metadatafields{'sourcerights'});
+ $intr_scrout.=&text_with_browse_field('Source Custom Distribution File','sourcerights',$metadatafields{'sourcerights'},'rights');
my $uctitle=&mt('Obsolete');
$intr_scrout.=
"\n$uctitle:".
@@ -1254,9 +1267,9 @@ END
$intr_scrout.=' checked="1" ';
}
$intr_scrout.='/ >
'.
- &textfield('Suggested Replacement for Obsolete File',
- 'obsoletereplacement',
- $metadatafields{'obsoletereplacement'});
+ &text_with_browse_field('Suggested Replacement for Obsolete File',
+ 'obsoletereplacement',
+ $metadatafields{'obsoletereplacement'});
} else {
$intr_scrout.=&hiddenfield('copyright','private');
}
@@ -1668,7 +1681,7 @@ sub publishdirectory {
$ruid,$rgid,$rrdev,$rsize,
$ratime,$rmtime,$rctime,
$rblksize,$rblocks)=stat($resdir.'/'.$filename);
- if (($rmtime<$cmtime) || ($ENV{'form.forcerepub'})) {
+ if (($rmtime<$cmtime) || ($ENV{'form.forcerepub'} eq 'ON')) {
# previously published, modified now
$publishthis=1;
}
@@ -1890,8 +1903,11 @@ sub handler {
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
-
- $r->print('LON-CAPA Publishing');
+
+ my $js=&Apache::loncommon::browser_and_searcher_javascript();
+ $r->print('LON-CAPA Publishing
+ ');
$r->print(&Apache::loncommon::bodytag('Resource Publication'));