version 1.255, 2023/03/28 23:17:18
|
version 1.258, 2025/03/18 18:57:28
|
Line 550 sub direct {
|
Line 550 sub direct {
|
} |
} |
|
|
sub selectbox { |
sub selectbox { |
my ($name,$value,$readonly,$functionref,@idlist)=@_; |
my ($name,$value,$readonly,$id,$functionref,@idlist)=@_; |
if (! defined($functionref)) { |
if (! defined($functionref)) { |
$functionref=\&direct; |
$functionref=\&direct; |
} |
} |
Line 558 sub selectbox {
|
Line 558 sub selectbox {
|
if ($readonly) { |
if ($readonly) { |
$disabled = ' disabled="disabled"'; |
$disabled = ' disabled="disabled"'; |
} |
} |
my $selout='<select name="'.$name.'">'; |
if ($id ne '') { |
|
$id = ' id="'.$id.'"'; |
|
} |
|
my $selout='<select name="'.$name.'"'.$id.'>'; |
foreach my $id (@idlist) { |
foreach my $id (@idlist) { |
$selout.='<option value="'.$id.'"'.$disabled; |
$selout.='<option value="'.$id.'"'.$disabled; |
if ($id eq $value) { |
if ($id eq $value) { |
Line 582 sub relatedfield {
|
Line 585 sub relatedfield {
|
return $relatedsep.' '; |
return $relatedsep.' '; |
} |
} |
return $relatedsep.'<input type="checkbox" name="'.$fieldname.'_related"'. |
return $relatedsep.'<input type="checkbox" name="'.$fieldname.'_related"'. |
($relatedvalue?' checked="checked"':'').' />'; |
($relatedvalue?' checked="checked"':'').' id="'.$fieldname.'_related" />'; |
} |
} |
|
|
sub prettyinput { |
sub prettyinput { |
Line 657 sub prettyinput {
|
Line 660 sub prettyinput {
|
} |
} |
if (($type eq 'lowestgradelevel') || |
if (($type eq 'lowestgradelevel') || |
($type eq 'highestgradelevel')) { |
($type eq 'highestgradelevel')) { |
return &Apache::loncommon::select_level_form($value,$fieldname). |
return &Apache::loncommon::select_level_form($value,$fieldname,$fieldname). |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
} |
} |
return(); |
return(); |
Line 665 sub prettyinput {
|
Line 668 sub prettyinput {
|
# Language |
# Language |
if ($type eq 'language') { |
if ($type eq 'language') { |
return &selectbox($fieldname, |
return &selectbox($fieldname, |
$value,'', |
$value,'',$fieldname, |
\&Apache::loncommon::languagedescription, |
\&Apache::loncommon::languagedescription, |
(&Apache::loncommon::languageids)). |
(&Apache::loncommon::languageids)). |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
Line 673 sub prettyinput {
|
Line 676 sub prettyinput {
|
# Copyright |
# Copyright |
if ($type eq 'copyright') { |
if ($type eq 'copyright') { |
return &selectbox($fieldname, |
return &selectbox($fieldname, |
$value,$readonly, |
$value,$readonly,$fieldname, |
\&Apache::loncommon::copyrightdescription, |
\&Apache::loncommon::copyrightdescription, |
(&Apache::loncommon::copyrightids)). |
(&Apache::loncommon::copyrightids)). |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
Line 681 sub prettyinput {
|
Line 684 sub prettyinput {
|
# Source Copyright |
# Source Copyright |
if ($type eq 'sourceavail') { |
if ($type eq 'sourceavail') { |
return &selectbox($fieldname, |
return &selectbox($fieldname, |
$value,'', |
$value,'',$fieldname, |
\&Apache::loncommon::source_copyrightdescription, |
\&Apache::loncommon::source_copyrightdescription, |
(&Apache::loncommon::source_copyrightids)). |
(&Apache::loncommon::source_copyrightids)). |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
Line 689 sub prettyinput {
|
Line 692 sub prettyinput {
|
# Gradelevels |
# Gradelevels |
if (($type eq 'lowestgradelevel') || |
if (($type eq 'lowestgradelevel') || |
($type eq 'highestgradelevel')) { |
($type eq 'highestgradelevel')) { |
return &Apache::loncommon::select_level_form($value,$fieldname). |
return &Apache::loncommon::select_level_form($value,$fieldname,$fieldname). |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
} |
} |
# Obsolete |
# Obsolete |
if ($type eq 'obsolete') { |
if ($type eq 'obsolete') { |
return '<input type="checkbox" name="'.$fieldname.'"'. |
return '<input type="checkbox" name="'.$fieldname.'"'. |
($value?' checked="checked"':'').' />'. |
($value?' checked="checked"':'').' id="'.$fieldname.'" />'. |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
} |
} |
# Obsolete replacement file |
# Obsolete replacement file |
if ($type eq 'obsoletereplacement') { |
if ($type eq 'obsoletereplacement') { |
return '<input type="text" name="'.$fieldname. |
return '<input type="text" name="'.$fieldname. |
'" size="60" value="'.$value.'" /><a href="javascript:openbrowser'. |
'" size="60" value="'.$value.'" id="'.$fieldname.'" /><a href="javascript:openbrowser'. |
"('".$formname."','".$fieldname."'". |
"('".$formname."','".$fieldname."'". |
",'')\">".&mt('Select').'</a>'. |
",'')\">".&mt('Select').'</a>'. |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
} |
} |
# Customdistribution file |
# Customdistribution file |
if ($type eq 'customdistributionfile') { |
if ($type eq 'customdistributionfile') { |
Line 714 sub prettyinput {
|
Line 717 sub prettyinput {
|
} |
} |
my $output; |
my $output; |
$output = '<input type="text" name="'.$fieldname. |
$output = '<input type="text" name="'.$fieldname. |
'" size="60" value="'.$value.'"'.$disabled.' />'; |
'" size="60" value="'.$value.'"'.$disabled.' id="'.$fieldname.'" />'; |
unless ($readonly) { |
unless ($readonly) { |
$output .= '<a href="javascript:openbrowser'. |
$output .= '<a href="javascript:openbrowser'. |
"('".$formname."','".$fieldname."'". |
"('".$formname."','".$fieldname."'". |
Line 726 sub prettyinput {
|
Line 729 sub prettyinput {
|
# Source Customdistribution file |
# Source Customdistribution file |
if ($type eq 'sourcerights') { |
if ($type eq 'sourcerights') { |
return '<input type="text" name="'.$fieldname. |
return '<input type="text" name="'.$fieldname. |
'" size="60" value="'.$value.'" /><a href="javascript:openbrowser'. |
'" size="60" value="'.$value.'" id="'.$fieldname.'" /><a href="javascript:openbrowser'. |
"('".$formname."','".$fieldname."'". |
"('".$formname."','".$fieldname."'". |
",'rights')\">".&mt('Select').'</a>'. |
",'rights')\">".&mt('Select').'</a>'. |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
Line 750 sub prettyinput {
|
Line 753 sub prettyinput {
|
$value=~s/\"/\"\;/gs; |
$value=~s/\"/\"\;/gs; |
return |
return |
'<input type="text" name="'.$fieldname.'" size="'.$size.'" '. |
'<input type="text" name="'.$fieldname.'" size="'.$size.'" '. |
'value="'.$value.'" />'. |
'value="'.$value.'" id="'.$fieldname.'" />'. |
&relatedfield(1,$relatedsearchflag,$relatedsep,$fieldname, |
&relatedfield(1,$relatedsearchflag,$relatedsep,$fieldname, |
$relatedvalue); |
$relatedvalue); |
} |
} |
|
|
# Create pageheader |
# Create pageheader |
Line 790 sub handler {
|
Line 793 sub handler {
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
|
if ($env{'request.state'} eq 'construct') { |
if ($env{'request.state'} eq 'construct') { |
|
my $text = 'Authoring Space'; |
|
my $href = &Apache::loncommon::authorspace($uri); |
|
if ($env{'request.course.id'}) { |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
if ($href eq "/priv/$cdom/$cnum/") { |
|
$text = 'Course Authoring Space'; |
|
} |
|
} |
&Apache::lonhtmlcommon::add_breadcrumb({ |
&Apache::lonhtmlcommon::add_breadcrumb({ |
'text' => 'Authoring Space', |
'text' => $text, |
'href' => &Apache::loncommon::authorspace($uri), |
'href' => $href, |
}); |
}); |
} |
} |
|
|
Line 1500 ENDEDIT
|
Line 1512 ENDEDIT
|
$Apache::lonpublisher::metadatafields{'copyright'}='custom'; |
$Apache::lonpublisher::metadatafields{'copyright'}='custom'; |
$Apache::lonpublisher::metadatafields{'customdistributionfile'}=$crsaurights; |
$Apache::lonpublisher::metadatafields{'customdistributionfile'}=$crsaurights; |
} |
} |
|
my (%domdefs,$got_domdefs); |
if (! $Apache::lonpublisher::metadatafields{'copyright'}) { |
if (! $Apache::lonpublisher::metadatafields{'copyright'}) { |
$Apache::lonpublisher::metadatafields{'copyright'}= |
my $copyright = 'default'; |
'default'; |
if ($env{'environment.copyright'} ne '') { |
|
$copyright = $env{'environment.copyright'}; |
|
} else { |
|
my $defdom = $env{'request.role.domain'}; |
|
if ($disuri =~ m{^/priv/($match_domain)/}) { |
|
$defdom = $1; |
|
} |
|
if ($defdom ne '') { |
|
%domdefs = &Apache::lonnet::get_domain_defaults($defdom); |
|
$got_domdefs = 1; |
|
if ($domdefs{'copyright'} ne '') { |
|
$copyright = $domdefs{'copyright'}; |
|
} |
|
} |
|
} |
|
$Apache::lonpublisher::metadatafields{'copyright'}= |
|
$copyright; |
|
} |
|
if (! $Apache::lonpublisher::metadatafields{'sourceavail'}) { |
|
my $sourceavail = 'closed'; |
|
if ($env{'environment.sourceavail'} ne '') { |
|
$sourceavail = $env{'environment.sourceavail'}; |
|
} else { |
|
my $defdom = $env{'request.role.domain'}; |
|
if ($disuri =~ m{^/priv/($match_domain)/}) { |
|
$defdom = $1; |
|
} |
|
if ($defdom ne '') { |
|
unless ($got_domdefs) { |
|
%domdefs = &Apache::lonnet::get_domain_defaults($defdom); |
|
$got_domdefs = 1; |
|
} |
|
if ($domdefs{'sourceavail'} ne '') { |
|
$sourceavail = $domdefs{'sourceavail'}; |
|
} |
|
} |
|
} |
|
$Apache::lonpublisher::metadatafields{'sourceavail'}= |
|
$sourceavail; |
} |
} |
if (($file_type eq 'portfolio') || ($file_type eq 'groups')) { |
if (($file_type eq 'portfolio') || ($file_type eq 'groups')) { |
if (! $Apache::lonpublisher::metadatafields{'mime'}) { |
if (! $Apache::lonpublisher::metadatafields{'mime'}) { |
Line 1633 sub store_metadata {
|
Line 1684 sub store_metadata {
|
$Apache::lonpublisher::metadatafields{'keywords'} = |
$Apache::lonpublisher::metadatafields{'keywords'} = |
join (',', &Apache::loncommon::get_env_multiple('form.new_keywords')); |
join (',', &Apache::loncommon::get_env_multiple('form.new_keywords')); |
} |
} |
|
if (($caller eq 'store') && ($env{'request.course.id'})) { |
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
if ($uri =~ m{^\Q/priv/$cdom/$cnum/\E}) { |
|
unless ($uri eq "/priv/$cdom/$cnum/default.rights.meta") { |
|
$Apache::lonpublisher::metadatafields{'copyright'} = 'custom'; |
|
$Apache::lonpublisher::metadatafields{'customdistributionfile'} = |
|
"/res/$cdom/$cnum/default.rights"; |
|
} |
|
} |
|
} |
foreach my $field (sort(keys(%Apache::lonpublisher::metadatafields))) { |
foreach my $field (sort(keys(%Apache::lonpublisher::metadatafields))) { |
next if ($field =~ /\./); |
next if ($field =~ /\./); |
my $unikey=$field; |
my $unikey=$field; |