version 1.254, 2014/06/22 19:46:48
|
version 1.256, 2023/07/14 23:15:10
|
Line 550 sub direct {
|
Line 550 sub direct {
|
} |
} |
|
|
sub selectbox { |
sub selectbox { |
my ($name,$value,$functionref,@idlist)=@_; |
my ($name,$value,$readonly,$functionref,@idlist)=@_; |
if (! defined($functionref)) { |
if (! defined($functionref)) { |
$functionref=\&direct; |
$functionref=\&direct; |
} |
} |
|
my $disabled; |
|
if ($readonly) { |
|
$disabled = ' disabled="disabled"'; |
|
} |
my $selout='<select name="'.$name.'">'; |
my $selout='<select name="'.$name.'">'; |
foreach my $id (@idlist) { |
foreach my $id (@idlist) { |
$selout.='<option value="'.$id.'"'; |
$selout.='<option value="'.$id.'"'.$disabled; |
if ($id eq $value) { |
if ($id eq $value) { |
$selout.=' selected="selected">'.&{$functionref}($id).'</option>'; |
$selout.=' selected="selected">'.&{$functionref}($id).'</option>'; |
} else { |
} else { |
Line 582 sub relatedfield {
|
Line 586 sub relatedfield {
|
} |
} |
|
|
sub prettyinput { |
sub prettyinput { |
my ($type,$value,$fieldname,$formname, |
my ($type,$value,$readonly,$fieldname,$formname, |
$relatedsearchflag,$relatedsep,$relatedvalue,$size,$course_key)=@_; |
$relatedsearchflag,$relatedsep,$relatedvalue,$size,$course_key)=@_; |
if (! defined($size)) { |
if (! defined($size)) { |
$size = 80; |
$size = 80; |
Line 661 sub prettyinput {
|
Line 665 sub prettyinput {
|
# Language |
# Language |
if ($type eq 'language') { |
if ($type eq 'language') { |
return &selectbox($fieldname, |
return &selectbox($fieldname, |
$value, |
$value,'', |
\&Apache::loncommon::languagedescription, |
\&Apache::loncommon::languagedescription, |
(&Apache::loncommon::languageids)). |
(&Apache::loncommon::languageids)). |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
Line 669 sub prettyinput {
|
Line 673 sub prettyinput {
|
# Copyright |
# Copyright |
if ($type eq 'copyright') { |
if ($type eq 'copyright') { |
return &selectbox($fieldname, |
return &selectbox($fieldname, |
$value, |
$value,$readonly, |
\&Apache::loncommon::copyrightdescription, |
\&Apache::loncommon::copyrightdescription, |
(&Apache::loncommon::copyrightids)). |
(&Apache::loncommon::copyrightids)). |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
Line 677 sub prettyinput {
|
Line 681 sub prettyinput {
|
# Source Copyright |
# Source Copyright |
if ($type eq 'sourceavail') { |
if ($type eq 'sourceavail') { |
return &selectbox($fieldname, |
return &selectbox($fieldname, |
$value, |
$value,'', |
\&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 704 sub prettyinput {
|
Line 708 sub prettyinput {
|
} |
} |
# Customdistribution file |
# Customdistribution file |
if ($type eq 'customdistributionfile') { |
if ($type eq 'customdistributionfile') { |
return '<input type="text" name="'.$fieldname. |
my $disabled; |
'" size="60" value="'.$value.'" /><a href="javascript:openbrowser'. |
if ($readonly) { |
"('".$formname."','".$fieldname."'". |
$disabled = ' disabled="disabled"'; |
",'rights')\">".&mt('Select').'</a>'. |
} |
&relatedfield(0,$relatedsearchflag,$relatedsep); |
my $output; |
|
$output = '<input type="text" name="'.$fieldname. |
|
'" size="60" value="'.$value.'"'.$disabled.' />'; |
|
unless ($readonly) { |
|
$output .= '<a href="javascript:openbrowser'. |
|
"('".$formname."','".$fieldname."'". |
|
",'rights')\">".&mt('Select').'</a>'; |
|
} |
|
$output .= &relatedfield(0,$relatedsearchflag,$relatedsep); |
|
return $output; |
} |
} |
# Source Customdistribution file |
# Source Customdistribution file |
if ($type eq 'sourcerights') { |
if ($type eq 'sourcerights') { |
Line 777 sub handler {
|
Line 790 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 1312 sub present_editable_metadata {
|
Line 1334 sub present_editable_metadata {
|
# Authoring Space Call |
# Authoring Space Call |
# Header |
# Header |
my $disuri=$uri; |
my $disuri=$uri; |
|
my ($courseauthor,$crsaurights,$readonly); |
|
if ($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}) { |
|
$courseauthor = $cnum.':'.$cdom; |
|
$crsaurights = "/res/$cdom/$cnum/default.rights"; |
|
$readonly = 1; |
|
} |
|
} |
my $fn=&Apache::lonnet::filelocation('',$uri); |
my $fn=&Apache::lonnet::filelocation('',$uri); |
$disuri=~s{^/\~}{/priv/}; |
$disuri=~s{^/\~}{/priv/}; |
$disuri=~s/\.meta$//; |
$disuri=~s/\.meta$//; |
Line 1473 ENDEDIT
|
Line 1505 ENDEDIT
|
'lowestgradelevel','highestgradelevel','sourceavail','sourcerights', |
'lowestgradelevel','highestgradelevel','sourceavail','sourcerights', |
'obsolete','obsoletereplacement'); |
'obsolete','obsoletereplacement'); |
} |
} |
|
if ($courseauthor) { |
|
$Apache::lonpublisher::metadatafields{'copyright'}='custom'; |
|
$Apache::lonpublisher::metadatafields{'customdistributionfile'}=$crsaurights; |
|
} |
if (! $Apache::lonpublisher::metadatafields{'copyright'}) { |
if (! $Apache::lonpublisher::metadatafields{'copyright'}) { |
$Apache::lonpublisher::metadatafields{'copyright'}= |
$Apache::lonpublisher::metadatafields{'copyright'}= |
'default'; |
'default'; |
Line 1554 ENDEDIT
|
Line 1590 ENDEDIT
|
$output .= &Apache::lonhtmlcommon::row_title($lt{$field_name}) |
$output .= &Apache::lonhtmlcommon::row_title($lt{$field_name}) |
.&prettyinput($field_name, |
.&prettyinput($field_name, |
$Apache::lonpublisher::metadatafields{$field_name}, |
$Apache::lonpublisher::metadatafields{$field_name}, |
'new_'.$field_name,'defaultmeta', |
$readonly,'new_'.$field_name,'defaultmeta', |
undef,undef,undef,undef, |
undef,undef,undef,undef, |
$Apache::lonpublisher::metadatafields{'courserestricted'}); |
$Apache::lonpublisher::metadatafields{'courserestricted'}); |
$output .= &Apache::lonhtmlcommon::row_closure($rowcount == $last?1:0); |
$output .= &Apache::lonhtmlcommon::row_closure($rowcount == $last?1:0); |
} |
} |
} else { |
} else { |
|
|
$output .= &Apache::lonhtmlcommon::row_title($lt{$field_name}) |
$output .= &Apache::lonhtmlcommon::row_title($lt{$field_name}) |
.&prettyinput($field_name, |
.&prettyinput($field_name, |
$Apache::lonpublisher::metadatafields{$field_name}, |
$Apache::lonpublisher::metadatafields{$field_name}, |
'new_'.$field_name,'defaultmeta') |
$readonly,'new_'.$field_name,'defaultmeta') |
.&Apache::lonhtmlcommon::row_closure($rowcount == $last?1:0); |
.&Apache::lonhtmlcommon::row_closure($rowcount == $last?1:0); |
|
|
} |
} |
Line 1607 sub store_metadata {
|
Line 1642 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; |