version 1.120, 2003/03/29 05:58:12
|
version 1.126, 2003/07/23 19:17:27
|
Line 190 sub metaeval {
|
Line 190 sub metaeval {
|
} |
} |
if ($metadatafields{$unikey}) { |
if ($metadatafields{$unikey}) { |
my $newentry=$parser->get_text('/'.$entry); |
my $newentry=$parser->get_text('/'.$entry); |
unless (($metadatafields{$unikey}=~/$newentry/) || |
unless (($metadatafields{$unikey}=~/\Q$newentry\E/) || |
($newentry eq '')) { |
($newentry eq '')) { |
$metadatafields{$unikey}.=', '.$newentry; |
$metadatafields{$unikey}.=', '.$newentry; |
} |
} |
Line 304 string which presents the form field (fo
|
Line 304 string which presents the form field (fo
|
######################################### |
######################################### |
sub textfield { |
sub textfield { |
my ($title,$name,$value)=@_; |
my ($title,$name,$value)=@_; |
return "\n<p><b>$title:</b></p><br />". |
my $uctitle=uc($title); |
|
return "\n<p><font color=\"#800000\" face=\"helvetica\"><b>$uctitle:". |
|
"</b></font></p><br />". |
'<input type="text" name="'.$name.'" size=80 value="'.$value.'" />'; |
'<input type="text" name="'.$name.'" size=80 value="'.$value.'" />'; |
} |
} |
|
|
Line 316 sub hiddenfield {
|
Line 318 sub hiddenfield {
|
sub selectbox { |
sub selectbox { |
my ($title,$name,$value,$functionref,@idlist)=@_; |
my ($title,$name,$value,$functionref,@idlist)=@_; |
my $uctitle=uc($title); |
my $uctitle=uc($title); |
|
$value=(split(/\s*,\s*/,$value))[-1]; |
my $selout="\n<p><font color=\"#800000\" face=\"helvetica\"><b>$uctitle:". |
my $selout="\n<p><font color=\"#800000\" face=\"helvetica\"><b>$uctitle:". |
"</b></font></p><br />".'<select name="'.$name.'">'; |
'</b></font></p><br /><select name="'.$name.'">'; |
foreach (@idlist) { |
foreach (@idlist) { |
$selout.='<option value=\''.$_.'\''; |
$selout.='<option value=\''.$_.'\''; |
if ($_ eq $value) { |
if ($_ eq $value) { |
Line 812 sub publish {
|
Line 815 sub publish {
|
return ('<font color="red">No write permission to user directory, FAIL</font>',1); |
return ('<font color="red">No write permission to user directory, FAIL</font>',1); |
} |
} |
print $logfile |
print $logfile |
"\n\n================= Publish ".localtime()." Phase One ================\n"; |
"\n\n================= Publish ".localtime()." Phase One ================\n".$ENV{'user.name'}.'@'.$ENV{'user.domain'}."\n"; |
|
|
if (($style eq 'ssi') || ($style eq 'rat') || ($style eq 'prv')) { |
if (($style eq 'ssi') || ($style eq 'rat') || ($style eq 'prv')) { |
# ------------------------------------------------------- This needs processing |
# ------------------------------------------------------- This needs processing |
Line 907 sub publish {
|
Line 910 sub publish {
|
$metadatafields{'author'}=~s/\s+/ /g; |
$metadatafields{'author'}=~s/\s+/ /g; |
$metadatafields{'author'}=~s/\s+$//; |
$metadatafields{'author'}=~s/\s+$//; |
$metadatafields{'owner'}=$cuname.'@'.$cudom; |
$metadatafields{'owner'}=$cuname.'@'.$cudom; |
|
$metadatafields{'modifyinguser'}=$ENV{'user.name'}.'@'. |
|
$ENV{'user.domain'}; |
|
$metadatafields{'authorspace'}=$cuname.'@'.$cudom; |
|
|
# ------------------------------------------------ Check out directory hierachy |
# ------------------------------------------------ Check out directory hierachy |
|
|
my $thisdisfn=$source; |
my $thisdisfn=$source; |
$thisdisfn=~s/^\/home\/$cuname\///; |
$thisdisfn=~s/^\/home\/\Q$cuname\E\///; |
|
|
my @urlparts=split(/\//,$thisdisfn); |
my @urlparts=split(/\//,$thisdisfn); |
$#urlparts--; |
$#urlparts--; |
Line 1042 function uncheckAll(field) {
|
Line 1048 function uncheckAll(field) {
|
field[i].checked = false ; |
field[i].checked = false ; |
} |
} |
</script> |
</script> |
<p><b>Keywords: $keywords_help</b> |
<p><font color="#800000" face="helvetica"><b>KEYWORDS:</b></font> |
|
$keywords_help</b> |
<input type="button" value="check all" onclick="javascript:checkAll(document.pubform.keywords)" /> |
<input type="button" value="check all" onclick="javascript:checkAll(document.pubform.keywords)" /> |
<input type="button" value="uncheck all" onclick="javascript:uncheckAll(document.pubform.keywords)" /> |
<input type="button" value="uncheck all" onclick="javascript:uncheckAll(document.pubform.keywords)" /> |
</p> |
</p> |
Line 1054 END
|
Line 1061 END
|
foreach (sort keys %keywords) { |
foreach (sort keys %keywords) { |
$keywordout.='<td><input type="checkbox" name="keywords" value="'.$_.'"'; |
$keywordout.='<td><input type="checkbox" name="keywords" value="'.$_.'"'; |
if ($metadatafields{'keywords'}) { |
if ($metadatafields{'keywords'}) { |
if ($metadatafields{'keywords'}=~/$_/) { |
if ($metadatafields{'keywords'}=~/\Q$_\E/) { |
$keywordout.=' checked="on"'; |
$keywordout.=' checked="on"'; |
} |
} |
} elsif (&Apache::loncommon::keyword($_)) { |
} elsif (&Apache::loncommon::keyword($_)) { |
Line 1077 END
|
Line 1084 END
|
$scrout.=&textfield('Notes','notes',$metadatafields{'notes'}); |
$scrout.=&textfield('Notes','notes',$metadatafields{'notes'}); |
|
|
$scrout.= |
$scrout.= |
'<p><b>Abstract:</b><br /><textarea cols="80" rows="5" name="abstract">'. |
"\n<p><font color=\"#800000\" face=\"helvetica\"><b>ABSTRACT:". |
|
"</b></font></p><br />". |
|
'<textarea cols="80" rows="5" name="abstract">'. |
$metadatafields{'abstract'}.'</textarea></p>'; |
$metadatafields{'abstract'}.'</textarea></p>'; |
|
|
$source=~/\.(\w+)$/; |
$source=~/\.(\w+)$/; |
|
|
$scrout.=&hiddenfield('mime',$1); |
$scrout.=&hiddenfield('mime',$1); |
|
|
|
my $defaultlanguage=$metadatafields{'language'}; |
|
$defaultlanguage =~ s/\s*notset\s*//g; |
|
$defaultlanguage =~ s/^,\s*//g; |
|
$defaultlanguage =~ s/,\s*$//g; |
|
|
$scrout.=&selectbox('Language','language', |
$scrout.=&selectbox('Language','language', |
$metadatafields{'language'}, |
$defaultlanguage, |
\&Apache::loncommon::languagedescription, |
\&Apache::loncommon::languagedescription, |
(&Apache::loncommon::languageids), |
(&Apache::loncommon::languageids), |
); |
); |
Line 1103 END
|
Line 1117 END
|
$metadatafields{'owner'}); |
$metadatafields{'owner'}); |
|
|
# -------------------------------------------------- Correct copyright for rat. |
# -------------------------------------------------- Correct copyright for rat. |
|
my $defaultoption=$metadatafields{'copyright'}; |
|
unless ($defaultoption) { $defaultoption='default'; } |
unless ($style eq 'prv') { |
unless ($style eq 'prv') { |
if ($style eq 'rat') { |
if ($style eq 'rat') { |
if ($metadatafields{'copyright'} eq 'public') { |
if ($metadatafields{'copyright'} eq 'public') { |
delete $metadatafields{'copyright'}; |
delete $metadatafields{'copyright'}; |
|
$defaultoption='default'; |
} |
} |
$scrout.=&selectbox('Copyright/Distribution','copyright', |
$scrout.=&selectbox('Copyright/Distribution','copyright', |
$metadatafields{'copyright'}, |
$defaultoption, |
\&Apache::loncommon::copyrightdescription, |
\&Apache::loncommon::copyrightdescription, |
(grep !/^public$/,(&Apache::loncommon::copyrightids))); |
(grep !/^public$/,(&Apache::loncommon::copyrightids))); |
} else { |
} else { |
$scrout.=&selectbox('Copyright/Distribution','copyright', |
$scrout.=&selectbox('Copyright/Distribution','copyright', |
$metadatafields{'copyright'}, |
$defaultoption, |
\&Apache::loncommon::copyrightdescription, |
\&Apache::loncommon::copyrightdescription, |
(&Apache::loncommon::copyrightids)); |
(&Apache::loncommon::copyrightids)); |
} |
} |
Line 1141 END
|
Line 1158 END
|
$ENV{'form.keywords'}=''; |
$ENV{'form.keywords'}=''; |
foreach (keys %keywords) { |
foreach (keys %keywords) { |
if ($metadatafields{'keywords'}) { |
if ($metadatafields{'keywords'}) { |
if ($metadatafields{'keywords'}=~/$_/) { |
if ($metadatafields{'keywords'}=~/\Q$_\E/) { |
$ENV{'form.keywords'}.=$_.','; |
$ENV{'form.keywords'}.=$_.','; |
} |
} |
} elsif (&Apache::loncommon::keyword($_)) { |
} elsif (&Apache::loncommon::keyword($_)) { |
Line 1217 sub phasetwo {
|
Line 1234 sub phasetwo {
|
return 0; |
return 0; |
} |
} |
print $logfile |
print $logfile |
"\n================= Publish ".localtime()." Phase Two ================\n"; |
"\n================= Publish ".localtime()." Phase Two ================\n".$ENV{'user.name'}.'@'.$ENV{'user.domain'}."\n"; |
|
|
%metadatafields=(); |
%metadatafields=(); |
%metadatakeys=(); |
%metadatakeys=(); |
Line 1324 sub phasetwo {
|
Line 1341 sub phasetwo {
|
closedir(DIR); |
closedir(DIR); |
$maxversion++; |
$maxversion++; |
$r->print('<p>Creating old version '.$maxversion.'</p>'); |
$r->print('<p>Creating old version '.$maxversion.'</p>'); |
print $logfile "\nCreating old version ".$maxversion; |
print $logfile "\nCreating old version ".$maxversion."\n"; |
|
|
my $copyfile=$srcd.'/'.$srcf.'.'.$maxversion.'.'.$srct; |
my $copyfile=$srcd.'/'.$srcf.'.'.$maxversion.'.'.$srct; |
|
|
Line 1432 sub phasetwo {
|
Line 1449 sub phasetwo {
|
# ------------------------------------------------ Provide link to new resource |
# ------------------------------------------------ Provide link to new resource |
unless ($batch) { |
unless ($batch) { |
my $thisdistarget=$target; |
my $thisdistarget=$target; |
$thisdistarget=~s/^$docroot//; |
$thisdistarget=~s/^\Q$docroot\E//; |
|
|
my $thissrc=$source; |
my $thissrc=$source; |
$thissrc=~s/^\/home\/(\w+)\/public_html/\/priv\/$1/; |
$thissrc=~s/^\/home\/(\w+)\/public_html/\/priv\/$1/; |
Line 1462 sub batchpublish {
|
Line 1479 sub batchpublish {
|
|
|
my $docroot=$r->dir_config('lonDocRoot'); |
my $docroot=$r->dir_config('lonDocRoot'); |
my $thisdistarget=$targetfile; |
my $thisdistarget=$targetfile; |
$thisdistarget=~s/^$docroot//; |
$thisdistarget=~s/^\Q$docroot\E//; |
|
|
|
|
undef %metadatafields; |
undef %metadatafields; |
Line 1529 sub publishdirectory {
|
Line 1546 sub publishdirectory {
|
$ruid,$rgid,$rrdev,$rsize, |
$ruid,$rgid,$rrdev,$rsize, |
$ratime,$rmtime,$rctime, |
$ratime,$rmtime,$rctime, |
$rblksize,$rblocks)=stat($resdir.'/'.$filename); |
$rblksize,$rblocks)=stat($resdir.'/'.$filename); |
if ($rmtime<$cmtime) { |
if (($rmtime<$cmtime) || ($ENV{'form.forcerepub'})) { |
# previously published, modified now |
# previously published, modified now |
$publishthis=1; |
$publishthis=1; |
} |
} |
Line 1699 unless ($ENV{'form.phase'} eq 'two') {
|
Line 1716 unless ($ENV{'form.phase'} eq 'two') {
|
$thistarget=~s/\/public\_html//; |
$thistarget=~s/\/public\_html//; |
|
|
my $thisdistarget=$thistarget; |
my $thisdistarget=$thistarget; |
$thisdistarget=~s/^$docroot//; |
$thisdistarget=~s/^\Q$docroot\E//; |
|
|
my $thisdisfn=$thisfn; |
my $thisdisfn=$thisfn; |
$thisdisfn=~s/^\/home\/$cuname\/public_html\///; |
$thisdisfn=~s/^\/home\/\Q$cuname\E\/public_html\///; |
|
|
if ($fn=~/\/$/) { |
if ($fn=~/\/$/) { |
# -------------------------------------------------------- This is a directory |
# -------------------------------------------------------- This is a directory |
Line 1752 __END__
|
Line 1769 __END__
|
|
|
=back |
=back |
|
|
|
=back |
|
|
=cut |
=cut |
|
|