version 1.467, 2009/07/14 13:53:03
|
version 1.471, 2009/09/03 16:58:17
|
Line 1185 sub extractResourceInformation {
|
Line 1185 sub extractResourceInformation {
|
$parmdis = $display; |
$parmdis = $display; |
$parmdis =~ s/\s*\[Part.*$//g; |
$parmdis =~ s/\s*\[Part.*$//g; |
} else { |
} else { |
$parmdis = $display; |
$parmdis = &mt($display); |
} |
} |
$$allparms{$name}=$parmdis; |
$$allparms{$name}=$parmdis; |
if (ref($defkeytype)) { |
if (ref($defkeytype)) { |
Line 1244 sub isdateparm {
|
Line 1244 sub isdateparm {
|
return (($type=~/^date/) && (!($type eq 'date_interval'))); |
return (($type=~/^date/) && (!($type eq 'date_interval'))); |
} |
} |
|
|
|
# |
|
# This function prints a list of parameters, which were selected. It also display a link from which you can |
|
# hide or show the complete parameter list, from which you can choose your parameters. |
|
# |
sub parmmenu { |
sub parmmenu { |
my ($r,$allparms,$pscat,$keyorder)=@_; |
my ($r,$allparms,$pscat,$keyorder)=@_; |
my $tempkey; |
my $tempkey; |
Line 1330 sub parmmenu {
|
Line 1334 sub parmmenu {
|
function checkboxChecked(id) { |
function checkboxChecked(id) { |
var li = "_li"; |
var li = "_li"; |
var id_li = id.concat(li); |
var id_li = id.concat(li); |
|
|
if (document.getElementById(id_li).style.display == "none") { |
if (document.getElementById(id_li).style.display == "none") { |
document.getElementById(id_li).style.display = ""; |
document.getElementById(id_li).style.display = ""; |
} |
} |
Line 1532 sub parmboxes {
|
Line 1535 sub parmboxes {
|
#&shortCuts($r,$allparms,$pscat,$keyorder); |
#&shortCuts($r,$allparms,$pscat,$keyorder); |
$r->print('</fieldset>'); |
$r->print('</fieldset>'); |
} |
} |
|
# |
|
# This function offers some links on the parameter section to get with one click a group a parameters |
|
# |
sub shortCuts { |
sub shortCuts { |
my ($r,$allparms,$pscat,$keyorder)=@_; |
my ($r,$allparms,$pscat,$keyorder)=@_; |
|
|
Line 1696 function group_or_section(caller) {
|
Line 1702 function group_or_section(caller) {
|
,$chooseopt)); |
,$chooseopt)); |
} |
} |
|
|
|
# |
|
# This function shows on table Mode the available Parameters for the selected Resources |
|
# |
sub displaymenu { |
sub displaymenu { |
my ($r,$allparms,$allparts,$pscat,$psprt,$keyorder)=@_; |
my ($r,$allparms,$allparts,$pscat,$psprt,$keyorder)=@_; |
$r->print(&Apache::lonhtmlcommon::topic_bar (2,&mt('Select Parameters'))); |
$r->print(&Apache::lonhtmlcommon::topic_bar (2,&mt('Select Parameters'))); |
Line 1711 sub displaymenu {
|
Line 1720 sub displaymenu {
|
} |
} |
|
|
sub mapmenu { |
sub mapmenu { |
my ($r,$allmaps,$pschp,$maptitles)=@_; |
my ($r,$allmaps,$pschp,$maptitles, $symbp)=@_; |
|
my %allmaps_inverted = reverse %$allmaps; |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $tree=[]; |
my $tree=[]; |
my $treeinfo={}; |
my $treeinfo={}; |
Line 1719 sub mapmenu {
|
Line 1729 sub mapmenu {
|
my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef); |
my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef); |
my $curRes; |
my $curRes; |
my $depth = 0; |
my $depth = 0; |
|
my %parent = (); |
|
my $startcount = 5; |
|
my $lastcontainer = $startcount; |
|
# preparing what is to show ... |
while ($curRes = $it->next()) { |
while ($curRes = $it->next()) { |
if ($curRes == $it->BEGIN_MAP()) { |
if ($curRes == $it->BEGIN_MAP()) { |
$depth++; |
$depth++; |
|
$parent{$depth}= $lastcontainer; |
} |
} |
if ($curRes == $it->END_MAP()) { |
if ($curRes == $it->END_MAP()) { |
$depth--; |
$depth--; |
|
$lastcontainer = $parent{$depth}; |
} |
} |
if (ref($curRes)) { |
if (ref($curRes)) { |
|
my $symb = $curRes->symb(); |
|
my $ressymb = $symb; |
if (($curRes->is_sequence()) || ($curRes->is_page())) { |
if (($curRes->is_sequence()) || ($curRes->is_page())) { |
my $type = 'sequence'; |
my $type = 'sequence'; |
if ($curRes->is_page()) { |
if ($curRes->is_page()) { |
$type = 'page'; |
$type = 'page'; |
} |
} |
my $id= $curRes->id(); |
my $id= $curRes->id(); |
my ($mapid,$resid)=split(/\./,$id); |
my $srcf = $curRes->src(); |
if(!exists($treeinfo->{$mapid})) { |
my $resource_name = &Apache::lonnet::gettitle($srcf); |
push(@$tree,$mapid); |
if(!exists($treeinfo->{$id})) { |
$treeinfo->{$mapid} = { |
push(@$tree,$id); |
|
my $enclosing_map_folder = &Apache::lonnet::declutter($curRes->enclosing_map_src()); |
|
$treeinfo->{$id} = { |
depth => $depth, |
depth => $depth, |
type => $type, |
type => $type, |
|
name => $resource_name, |
|
enclosing_map_folder => $enclosing_map_folder, |
}; |
}; |
} |
} |
} |
} |
} |
} |
} |
} |
} |
} |
|
# Show it ... |
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder'))); |
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder'))); |
if ((ref($tree) eq 'ARRAY') && (ref($treeinfo) eq 'HASH')) { |
if ((ref($tree) eq 'ARRAY') && (ref($treeinfo) eq 'HASH')) { |
my $icon = '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />'; |
my $icon = '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />'; |
Line 1762 sub mapmenu {
|
Line 1783 sub mapmenu {
|
my $whitespace = '<img src="' |
my $whitespace = '<img src="' |
.&Apache::loncommon::lonhttpdurl("/adm/lonIcons/whitespace_21.gif") |
.&Apache::loncommon::lonhttpdurl("/adm/lonIcons/whitespace_21.gif") |
.'" alt="" />'; |
.'" alt="" />'; |
foreach my $mapid (@{$tree}) { |
if (exists($$allmaps{1})) { |
|
$r->print(&Apache::loncommon::start_data_table_row() |
|
.'<td>'.$icon |
|
.'<label> ' |
|
.'<input type="radio" name="pschp" value="1"' |
|
); |
|
if ($pschp eq 1) { |
|
$r->print(' checked="checked"'); |
|
} |
|
$r->print('/>' |
|
.$$maptitles{1} |
|
.($$allmaps{1} !~/^uploaded/?' ['.$$allmaps{1}.']':'') |
|
.'</label>' |
|
.'</td>' |
|
.&Apache::loncommon::end_data_table_row() |
|
); |
|
} |
|
foreach my $id (@{$tree}) { |
|
my ($mapid,$resid)=split(/\./,$id); |
# Indentation |
# Indentation |
my $depth = $treeinfo->{$mapid}->{'depth'}; |
my $depth = $treeinfo->{$id}->{'depth'}; |
my $indent; |
my $indent; |
for (my $i = 0; $i < $depth; $i++) { |
for (my $i = 0; $i < $depth; $i++) { |
$indent.= $whitespace; |
$indent.= $whitespace; |
} |
} |
$icon = '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />'; |
$icon = '<img src="/adm/lonIcons/navmap.folder.open.gif" alt="" />'; |
if ($treeinfo->{$mapid}->{'type'} eq 'page') { |
if ($treeinfo->{$id}->{'type'} eq 'page') { |
$icon = '<img src="/adm/lonIcons/navmap.page.open.gif" alt="" />'; |
$icon = '<img src="/adm/lonIcons/navmap.page.open.gif" alt="" />'; |
} |
} |
|
my $symb_name = $$symbp{$id}; |
|
my ($front, $tail) = split (/___${resid}___/, $symb_name); |
|
$symb_name = $tail; |
$r->print(&Apache::loncommon::start_data_table_row() |
$r->print(&Apache::loncommon::start_data_table_row() |
.'<td>'.$indent.$icon |
.'<td>'.$indent.$icon |
.'<label> ' |
.'<label> ' |
.'<input type ="radio" name="pschp" value="'.$mapid.'"' |
.'<input type ="radio" name="pschp" value="'.$allmaps_inverted{$symb_name}.'"' |
); |
); |
if ($pschp eq $mapid) { |
if ($pschp eq $allmaps_inverted{$symb_name}) { |
$r->print(' checked="checked"'); |
$r->print(' checked="checked"'); |
} |
} |
$r->print('/>' |
$r->print('/>' |
.$$maptitles{$mapid} |
.$treeinfo->{$id}->{name} |
.($$allmaps{$mapid}!~/^uploaded/?' ['.$$allmaps{$mapid}.']':'') |
.($$allmaps{$mapid}!~/^uploaded/?' ['.$$allmaps{$mapid}.']':'') |
.'</label>' |
.'</label>' |
.'</td>' |
.'</td>' |
Line 1970 sub assessparms {
|
Line 2012 sub assessparms {
|
} else { |
} else { |
$udom=$r->dir_config('lonDefDomain'); |
$udom=$r->dir_config('lonDefDomain'); |
} |
} |
|
|
|
|
my @pscat=&Apache::loncommon::get_env_multiple('form.pscat'); |
my @pscat=&Apache::loncommon::get_env_multiple('form.pscat'); |
my $pschp=$env{'form.pschp'}; |
my $pschp=$env{'form.pschp'}; |
Line 2151 ENDPARMSELSCRIPT
|
Line 2194 ENDPARMSELSCRIPT
|
$r->print('<div id="parmsel">'); |
$r->print('<div id="parmsel">'); |
} |
} |
|
|
# Display parameter selection boxes |
# Display Unit 1 "General Parameters" |
if (!$pssymb) { |
if (!$pssymb) { |
$r->print(&Apache::lonhtmlcommon::topic_bar (1,&mt('General Parameters'))); |
$r->print(&Apache::lonhtmlcommon::topic_bar (1,&mt('General Parameters'))); |
$r->print(&Apache::lonhtmlcommon::start_pick_box()); |
$r->print(&Apache::lonhtmlcommon::start_pick_box()); |
Line 2160 ENDPARMSELSCRIPT
|
Line 2203 ENDPARMSELSCRIPT
|
|
|
if ($parmlev ne 'general') { |
if ($parmlev ne 'general') { |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
&mapmenu($r,\%allmaps,$pschp,\%maptitles); |
&mapmenu($r,\%allmaps,$pschp,\%maptitles, \%symbp); |
} |
} |
|
|
$r->print(&Apache::lonhtmlcommon::row_closure(1)); |
$r->print(&Apache::lonhtmlcommon::row_closure(1)); |
$r->print(&Apache::lonhtmlcommon::end_pick_box()); |
$r->print(&Apache::lonhtmlcommon::end_pick_box()); |
|
#Display Unit 2 "Select Parameter" |
&displaymenu($r,\%allparms,\%allparts,\@pscat,\@psprt,\%keyorder); |
&displaymenu($r,\%allparms,\%allparts,\@pscat,\@psprt,\%keyorder); |
} else { |
} else { |
my ($map,$id,$resource)=&Apache::lonnet::decode_symb($pssymb); |
my ($map,$id,$resource)=&Apache::lonnet::decode_symb($pssymb); |
Line 2895 sub listdata {
|
Line 2938 sub listdata {
|
# |
# |
# Ready to print |
# Ready to print |
# |
# |
|
my $parmitem = &standard_parameter_names($name); |
$r->print(&tablestart(). |
$r->print(&tablestart(). |
&Apache::loncommon::start_data_table_row(). |
&Apache::loncommon::start_data_table_row(). |
'<td><b>'.&standard_parameter_names($name). |
'<td><b>'.&mt($parmitem). |
'</b></td><td><input type="checkbox" name="del_'. |
'</b></td><td><input type="checkbox" name="del_'. |
$thiskey.'" /></td><td>'); |
$thiskey.'" /></td><td>'); |
$foundkeys++; |
$foundkeys++; |
Line 3311 ENDOVER
|
Line 3355 ENDOVER
|
$display_value = |
$display_value = |
&Apache::lonlocal::locallocaltime($display_value); |
&Apache::lonlocal::locallocaltime($display_value); |
} |
} |
|
my $parmitem = &standard_parameter_names($data{'parameter_name'}); |
|
$parmitem = &mt($parmitem); |
$r->print(&mt('Parameter: "[_1]" with value: "[_2]"', |
$r->print(&mt('Parameter: "[_1]" with value: "[_2]"', |
&standard_parameter_names($data{'parameter_name'}), |
$parmitem,$resourcedata->{$thiskey})); |
$resourcedata->{$thiskey})); |
|
$r->print('<br />'); |
$r->print('<br />'); |
if ($data{'scope_type'} eq 'all') { |
if ($data{'scope_type'} eq 'all') { |
$r->print(&mt('All users')); |
$r->print(&mt('All users')); |
Line 4175 sub components {
|
Line 4220 sub components {
|
} |
} |
|
|
my %standard_parms; |
my %standard_parms; |
|
my %standard_parms_types; |
|
|
sub load_parameter_names { |
sub load_parameter_names { |
open(my $config,"<$Apache::lonnet::perlvar{'lonTabDir'}/packages.tab"); |
open(my $config,"<$Apache::lonnet::perlvar{'lonTabDir'}/packages.tab"); |
Line 4186 sub load_parameter_names {
|
Line 4231 sub load_parameter_names {
|
my (undef,$name,$type)=split(/\&/,$short,3); |
my (undef,$name,$type)=split(/\&/,$short,3); |
if ($type eq 'display') { |
if ($type eq 'display') { |
$standard_parms{$name} = $plain; |
$standard_parms{$name} = $plain; |
} |
} elsif ($type eq 'type') { |
|
$standard_parms_types{$name} = $plain; |
|
} |
} |
} |
close($config); |
close($config); |
$standard_parms{'int_pos'} = 'Positive Integer'; |
$standard_parms{'int_pos'} = 'Positive Integer'; |
$standard_parms{'int_zero_pos'} = 'Positive Integer or Zero'; |
$standard_parms{'int_zero_pos'} = 'Positive Integer or Zero'; |
%standard_parms=&Apache::lonlocal::texthash(%standard_parms); |
|
} |
} |
|
|
sub standard_parameter_names { |
sub standard_parameter_names { |
Line 4206 sub standard_parameter_names {
|
Line 4252 sub standard_parameter_names {
|
} |
} |
} |
} |
|
|
|
sub standard_parameter_types { |
|
my ($name)=@_; |
|
if (!%standard_parms_types) { |
|
&load_parameter_names(); |
|
} |
|
if ($standard_parms_types{$name}) { |
|
return $standard_parms_types{$name}; |
|
} |
|
return; |
|
} |
|
|
sub parm_change_log { |
sub parm_change_log { |
my ($r)=@_; |
my ($r)=@_; |
Line 4304 sub parm_change_log {
|
Line 4359 sub parm_change_log {
|
} else { |
} else { |
$makenewrow=1; |
$makenewrow=1; |
} |
} |
|
my $parmitem = &standard_parameter_names($parmname); |
$output .='<td>'.$realm.'</td><td>'.$section.'</td><td>'. |
$output .='<td>'.$realm.'</td><td>'.$section.'</td><td>'. |
&standard_parameter_names($parmname).'</td><td>'. |
&mt($parmitem).'</td><td>'. |
($part?&mt('Part: [_1]',$part):&mt('All Parts')).'</td><td>'; |
($part?&mt('Part: [_1]',$part):&mt('All Parts')).'</td><td>'; |
my $stillactive=0; |
my $stillactive=0; |
if ($parmlog{$id}{'delflag'}) { |
if ($parmlog{$id}{'delflag'}) { |
$output .= &mt('Deleted'); |
$output .= &mt('Deleted'); |
} else { |
} else { |
if ($typeflag) { |
if ($typeflag) { |
$output .= &mt('Type: [_1]',&standard_parameter_names($value)); |
my $parmitem = &standard_parameter_names($value); |
|
$parmitem = &mt($parmitem); |
|
$output .= &mt('Type: [_1]',$parmitem); |
} else { |
} else { |
my ($level,@all)=&parmval_by_symb($what,$middle,&Apache::lonnet::metadata($middle,$what), |
my ($level,@all)=&parmval_by_symb($what,$middle,&Apache::lonnet::metadata($middle,$what), |
$uname,$udom,$issection,$issection,$courseopt); |
$uname,$udom,$issection,$issection,$courseopt); |
if (&isdateparm($istype{$parmname})) { |
my $showvalue = $value; |
$output .= &Apache::lonlocal::locallocaltime($value); |
if ($istype{$parmname} eq '') { |
} else { |
my $type = &standard_parameter_types($parmname); |
$output .= $value; |
if ($type ne '') { |
} |
if (&isdateparm($type)) { |
|
$showvalue = |
|
&Apache::lonlocal::locallocaltime($value); |
|
} |
|
} |
|
} else { |
|
if (&isdateparm($istype{$parmname})) { |
|
$showvalue = |
|
&Apache::lonlocal::locallocaltime($value); |
|
} |
|
} |
|
$output .= $showvalue; |
if ($value ne $all[$level]) { |
if ($value ne $all[$level]) { |
$output .= '<br /><span class="LC_warning">'.&mt('Not active anymore').'</span>'; |
$output .= '<br /><span class="LC_warning">'.&mt('Not active anymore').'</span>'; |
} else { |
} else { |
Line 4329 sub parm_change_log {
|
Line 4398 sub parm_change_log {
|
} |
} |
} |
} |
$output .= '</td><td>'; |
$output .= '</td><td>'; |
|
|
if ($stillactive) { |
if ($stillactive) { |
my $title=&mt('Changed [_1]',&standard_parameter_names($parmname)); |
my $parmitem = &standard_parameter_names($parmname); |
my $description=&mt('Changed [_1] for [_2] to [_3]',&standard_parameter_names($parmname),$realmdescription, |
$parmitem = &mt($parmitem); |
|
my $title=&mt('Changed [_1]',$parmitem); |
|
my $description=&mt('Changed [_1] for [_2] to [_3]', |
|
$parmitem,$realmdescription, |
(&isdateparm($istype{$parmname})?&Apache::lonlocal::locallocaltime($value):$value)); |
(&isdateparm($istype{$parmname})?&Apache::lonlocal::locallocaltime($value):$value)); |
if (($uname) && ($udom)) { |
if (($uname) && ($udom)) { |
$output .= |
$output .= |