version 1.684, 2022/10/22 17:24:54
|
version 1.690, 2022/12/31 14:08:59
|
Line 183 sub default_folderpath {
|
Line 183 sub default_folderpath {
|
} |
} |
} |
} |
|
|
sub validate_folderpath { |
sub validate_supppath { |
my ($supplementalflag) = @_; |
my ($coursenum,$coursedom) = @_; |
if ($env{'form.folderpath'} ne '') { |
my $backto; |
my @items = split(/\&/,$env{'form.folderpath'}); |
|
my $badpath; |
|
for (my $i=0; $i<@items; $i++) { |
|
my $odd = $i%2; |
|
if (($odd) && (!$supplementalflag) && ($items[$i] !~ /^[^:]*:(|\d+):(|1):(|1):(|1):(|1)$/)) { |
|
$badpath = 1; |
|
} elsif ((!$odd) && ($items[$i] !~ /^(default|supplemental)(|_\d+)$/)) { |
|
$badpath = 1; |
|
} |
|
last if ($badpath); |
|
} |
|
if ($badpath) { |
|
delete($env{'form.folderpath'}); |
|
} |
|
} |
|
return; |
|
} |
|
|
|
sub validate_suppath { |
|
if ($env{'form.supppath'} ne '') { |
if ($env{'form.supppath'} ne '') { |
my @items = split(/\&/,$env{'form.supppath'}); |
my @items = split(/\&/,$env{'form.supppath'}); |
my $badpath; |
my ($badpath,$got_supp,$supppath,%supphidden,%suppids); |
for (my $i=0; $i<@items; $i++) { |
for (my $i=0; $i<@items; $i++) { |
my $odd = $i%2; |
my $odd = $i%2; |
if ((!$odd) && ($items[$i] !~ /^supplemental(|_\d+)$/)) { |
if ((!$odd) && ($items[$i] !~ /^supplemental(|_\d+)$/)) { |
$badpath = 1; |
$badpath = 1; |
|
last; |
|
} elsif ($odd) { |
|
my $suffix; |
|
my $idx = $i-1; |
|
if ($items[$i] =~ /^([^:]*)::(|1):::$/) { |
|
$backto .= '&'.$1; |
|
} elsif ($items[$idx] eq 'supplemental') { |
|
$backto .= '&'.$items[$i]; |
|
} else { |
|
$backto .= '&'.$items[$i]; |
|
my $is_hidden; |
|
unless ($got_supp) { |
|
my ($supplemental) = &Apache::loncommon::get_supplemental($coursenum,$coursedom); |
|
if (ref($supplemental) eq 'HASH') { |
|
if (ref($supplemental->{'hidden'}) eq 'HASH') { |
|
%supphidden = %{$supplemental->{'hidden'}}; |
|
} |
|
if (ref($supplemental->{'ids'}) eq 'HASH') { |
|
%suppids = %{$supplemental->{'ids'}}; |
|
} |
|
} |
|
$got_supp = 1; |
|
} |
|
if (ref($suppids{"/uploaded/$coursedom/$coursenum/$items[$idx].sequence"}) eq 'ARRAY') { |
|
my $mapid = $suppids{"/uploaded/$coursedom/$coursenum/$items[$idx].sequence"}->[0]; |
|
if ($supphidden{$mapid}) { |
|
$is_hidden = 1; |
|
} |
|
} |
|
$suffix = '::'.$is_hidden.':::'; |
|
} |
|
$supppath .= '&'.$items[$i].$suffix; |
|
} else { |
|
$supppath .= '&'.$items[$i]; |
|
$backto .= '&'.$items[$i]; |
} |
} |
last if ($badpath); |
|
} |
} |
if ($badpath) { |
if ($badpath) { |
delete($env{'form.supppath'}); |
delete($env{'form.supppath'}); |
|
} else { |
|
$supppath =~ s/^\&//; |
|
$backto =~ s/^\&//; |
|
$env{'form.supppath'} = $supppath; |
} |
} |
} |
} |
return; |
return $backto; |
} |
} |
|
|
sub dumpcourse { |
sub dumpcourse { |
Line 3277 sub editor {
|
Line 3296 sub editor {
|
return $errtext if ($fatal); |
return $errtext if ($fatal); |
} |
} |
|
|
my (%supphidden,%suppids,$suppmapid); |
|
|
|
if ($#LONCAPA::map::order<1) { |
if ($#LONCAPA::map::order<1) { |
my $idx=&LONCAPA::map::getresidx(); |
my $idx=&LONCAPA::map::getresidx(); |
if ($idx<=0) { $idx=1; } |
if ($idx<=0) { $idx=1; } |
$LONCAPA::map::order[0]=$idx; |
$LONCAPA::map::order[0]=$idx; |
$LONCAPA::map::resources[$idx]=''; |
$LONCAPA::map::resources[$idx]=''; |
} elsif ($supplementalflag && !$allowed) { |
|
my ($supplemental) = &Apache::lonnet::get_supplemental($coursenum,$coursedom); |
|
if (ref($supplemental) eq 'HASH') { |
|
if (ref($supplemental->{'hidden'}) eq 'HASH') { |
|
%supphidden = %{$supplemental->{'hidden'}}; |
|
} |
|
if (ref($supplemental->{'ids'}) eq 'HASH') { |
|
%suppids = %{$supplemental->{'ids'}}; |
|
} |
|
} |
|
if ($folder eq 'supplemental') { |
|
$suppmapid = 0; |
|
} elsif ($folder =~ /^supplemental_(\d+)$/) { |
|
$suppmapid = $1; |
|
} |
|
} |
} |
|
|
# ------------------------------------------------------------ Process commands |
# ------------------------------------------------------------ Process commands |
Line 3559 sub editor {
|
Line 3561 sub editor {
|
$r->print('</div>'); |
$r->print('</div>'); |
} |
} |
|
|
|
if ((!$allowed) && ($folder =~ /^supplemental_\d+$/)) { |
|
my ($supplemental) = &Apache::loncommon::get_supplemental($coursenum,$coursedom); |
|
if (ref($supplemental) eq 'HASH') { |
|
if ((ref($supplemental->{'hidden'}) eq 'HASH') && |
|
(ref($supplemental->{'ids'}) eq 'HASH')) { |
|
if (ref($supplemental->{'ids'}->{"/uploaded/$coursedom/$coursenum/$folder.$container"}) eq 'ARRAY') { |
|
my $mapnum = $supplemental->{'ids'}->{"/uploaded/$coursedom/$coursenum/$folder.$container"}->[0]; |
|
if ($supplemental->{'hidden'}->{$mapnum}) { |
|
$ishidden = 1; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
my ($to_show,$output,@allidx,@allmapidx,%filters,%lists,%curr_groups); |
my ($to_show,$output,@allidx,@allmapidx,%filters,%lists,%curr_groups); |
%filters = ( |
%filters = ( |
canremove => [], |
canremove => [], |
Line 3583 sub editor {
|
Line 3600 sub editor {
|
} |
} |
|
|
if (($supplementalflag) && (!$allowed) && (!$env{'request.role.adv'})) { |
if (($supplementalflag) && (!$allowed) && (!$env{'request.role.adv'})) { |
next if ($supphidden{$suppmapid.':'.$res}); |
if (($ishidden) || ((&LONCAPA::map::getparameter($res,'parameter_hiddenresource'))[0]=~/^yes$/i)) { |
|
$idx++; |
|
next; |
|
} |
} |
} |
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res, |
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res, |
$coursenum,$coursedom,$crstype, |
$coursenum,$coursedom,$crstype, |
$pathitem,$supplementalflag,$container, |
$pathitem,$supplementalflag,$container, |
\%filters,\%curr_groups,$ltitoolsref,$canedit, |
\%filters,\%curr_groups,$ltitoolsref,$canedit, |
$isencrypted,$navmapref,$hostname, |
$isencrypted,$ishidden,$navmapref,$hostname); |
\%supphidden,\%suppids,$suppmapid); |
|
$idx++; |
$idx++; |
$shown++; |
$shown++; |
} |
} |
Line 3972 sub is_supplemental_title {
|
Line 3991 sub is_supplemental_title {
|
sub entryline { |
sub entryline { |
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$coursedom, |
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$coursedom, |
$crstype,$pathitem,$supplementalflag,$container,$filtersref,$currgroups, |
$crstype,$pathitem,$supplementalflag,$container,$filtersref,$currgroups, |
$ltitoolsref,$canedit,$isencrypted,$navmapref,$hostname, |
$ltitoolsref,$canedit,$isencrypted,$ishidden,$navmapref,$hostname)=@_; |
$supphidden,$suppids,$suppmapid)=@_; |
my ($foldertitle,$renametitle,$oldtitle,$encodedtitle); |
my ($foldertitle,$renametitle,$oldtitle); |
|
if (&is_supplemental_title($title)) { |
if (&is_supplemental_title($title)) { |
($title,$foldertitle,$renametitle) = &Apache::loncommon::parse_supplemental_title($title); |
($title,$foldertitle,$renametitle) = &Apache::loncommon::parse_supplemental_title($title); |
|
$encodedtitle=$title; |
} else { |
} else { |
$title=&HTML::Entities::encode($title,'"<>&\''); |
$title=&HTML::Entities::encode($title,'"<>&\''); |
|
$encodedtitle=$title; |
$renametitle=$title; |
$renametitle=$title; |
$foldertitle=$title; |
$foldertitle=$title; |
} |
} |
Line 4205 END
|
Line 4225 END
|
my $ispage; |
my $ispage; |
my $containerarg; |
my $containerarg; |
my $folderurl; |
my $folderurl; |
|
my $plainurl; |
if ($uploaded) { |
if ($uploaded) { |
if (($extension eq 'sequence') || ($extension eq 'page')) { |
if (($extension eq 'sequence') || ($extension eq 'page')) { |
$url=~/\Q$coursenum\E\/([\/\w]+)\.\Q$extension\E$/; |
$url=~/\Q$coursenum\E\/([\/\w]+)\.\Q$extension\E$/; |
Line 4223 END
|
Line 4244 END
|
$url='/adm/supplemental?'; |
$url='/adm/supplemental?'; |
} |
} |
} else { |
} else { |
&Apache::lonnet::allowuploaded('/adm/coursedoc',$url); |
$plainurl = $url; |
} |
} |
} |
} |
|
|
Line 4349 END
|
Line 4370 END
|
} |
} |
$nomodal = 1; |
$nomodal = 1; |
} |
} |
|
} elsif (($uploaded) && (!$allowed) && ($url ne '/adm/supplemental?')) { |
|
my $embstyle=&Apache::loncommon::fileembstyle($extension); |
|
unless ($embstyle eq 'ssi') { |
|
if (($embstyle eq 'img') |
|
|| ($embstyle eq 'emb') |
|
|| ($embstyle eq 'wrp')) { |
|
$url='/adm/wrapper'.$url; |
|
} elsif ($url !~ /\.(sequence|page)$/) { |
|
$url='/adm/coursedocs/showdoc'.$url; |
|
} |
|
} |
|
} |
|
unless ($allowed && $env{'request.role.adv'}) { |
|
if ($ishidden || (&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { |
|
$hiddenres = 1; |
|
} |
} |
} |
} |
} |
my ($rand_pick_text,$rand_order_text,$hiddenfolder); |
my ($rand_pick_text,$rand_order_text,$hiddenfolder); |
Line 4360 END
|
Line 4397 END
|
if (!$allowed && $supplementalflag) { |
if (!$allowed && $supplementalflag) { |
$folderpath.=$containerarg.'&'.$foldername; |
$folderpath.=$containerarg.'&'.$foldername; |
$url.='folderpath='.&escape($folderpath); |
$url.='folderpath='.&escape($folderpath); |
if (ref($supphidden) eq 'HASH') { |
if ($ishidden || (&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { |
if ($supphidden->{$suppmapid.':'.$residx}) { |
$hiddenfolder = 1; |
$hiddenfolder = 1; |
|
} |
|
} |
} |
} else { |
} else { |
my $rpicknum = (&LONCAPA::map::getparameter($orderidx, |
my $rpicknum = (&LONCAPA::map::getparameter($orderidx, |
Line 4450 $form_end;
|
Line 4485 $form_end;
|
$url .= ($url =~ /\?/) ? '&':'?'; |
$url .= ($url =~ /\?/) ? '&':'?'; |
$url .= 'folderpath='.&HTML::Entities::encode($esc_path,'<>&"'); |
$url .= 'folderpath='.&HTML::Entities::encode($esc_path,'<>&"'); |
if ($title) { |
if ($title) { |
$url .= '&title='.&HTML::Entities::encode($renametitle,'<>&"'); |
$url .= '&title='.$encodedtitle; |
} |
} |
if ((($isexternal) || ($isexttool)) && $orderidx) { |
if ((($isexternal) || ($isexttool)) && $orderidx) { |
$url .= '&idx='.$orderidx; |
$url .= '&idx='.$orderidx; |
Line 4458 $form_end;
|
Line 4493 $form_end;
|
if ($anchor ne '') { |
if ($anchor ne '') { |
$url .= '&anchor='.&HTML::Entities::encode($anchor,'"<>&'); |
$url .= '&anchor='.&HTML::Entities::encode($anchor,'"<>&'); |
} |
} |
if (ref($supphidden) eq 'HASH') { |
|
if ($supphidden->{$suppmapid.':'.$residx}) { |
|
$hiddenres = 1; |
|
} |
|
} |
|
} |
} |
my ($tdalign,$tdwidth); |
my ($tdalign,$tdwidth); |
if ($allowed) { |
if ($allowed) { |
Line 4521 $form_end;
|
Line 4551 $form_end;
|
} |
} |
} |
} |
$line.='</td><td>'; |
$line.='</td><td>'; |
my $link; |
my ($link,$nolink); |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
$line.='<a href="'.$url.'"><img src="'.$icon.'" alt="" class="LC_icon" /></a>'; |
if ($allowed && !$env{'request.role.adv'} && !$isfolder && !$ispage) { |
|
if ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { |
|
$nolink = 1; |
|
} |
|
} |
|
if ($nolink) { |
|
$line .= '<img src="'.$icon.'" alt="" class="LC_icon" /></a>'; |
|
} else { |
|
$line.='<a href="'.$url.'"><img src="'.$icon.'" alt="" class="LC_icon" /></a>'; |
|
} |
} elsif ($url) { |
} elsif ($url) { |
if ($anchor ne '') { |
if ($anchor ne '') { |
if ($supplementalflag) { |
if ($supplementalflag) { |
Line 4538 $form_end;
|
Line 4577 $form_end;
|
$link = $url; |
$link = $url; |
} |
} |
$link = &js_escape($link.(($url=~/\?/)?'&':'?').'inhibitmenu=yes'.$anchor); |
$link = &js_escape($link.(($url=~/\?/)?'&':'?').'inhibitmenu=yes'.$anchor); |
if ($nomodal) { |
if ($allowed && !$env{'request.role.adv'} && !$isfolder && !$ispage && !$uploaded) { |
|
if ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { |
|
$nolink = 1; |
|
} |
|
} |
|
if ($nolink) { |
|
$line.='<img src="'.$icon.'" alt="" class="LC_icon" />'; |
|
} elsif ($nomodal) { |
$line.='<a href="#" onclick="javascript:window.open('."'$link','syllabuspreview','height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1')".'; return false;" />'. |
$line.='<a href="#" onclick="javascript:window.open('."'$link','syllabuspreview','height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1')".'; return false;" />'. |
'<img src="'.$icon.'" alt="" class="LC_icon" border="0" /></a>'; |
'<img src="'.$icon.'" alt="" class="LC_icon" border="0" /></a>'; |
} else { |
} else { |
Line 4550 $form_end;
|
Line 4596 $form_end;
|
} |
} |
$line.='</span></td><td'.$tdwidth.'>'; |
$line.='</span></td><td'.$tdwidth.'>'; |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
if (($url=~m{/adm/(coursedocs|supplemental)}) || (!$allowed && $url)) { |
$line.='<a href="'.$url.'">'.$title.'</a>'; |
if ($nolink) { |
|
$line.=$title; |
|
} else { |
|
$line.='<a href="'.$url.'">'.$title.'</a>'; |
|
} |
if (!$allowed && $supplementalflag && $canedit && $isfolder) { |
if (!$allowed && $supplementalflag && $canedit && $isfolder) { |
my $editicon = &Apache::loncommon::lonhttpdurl('/res/adm/pages').'/editmap.png'; |
my $editicon = &Apache::loncommon::lonhttpdurl('/res/adm/pages').'/editmap.png'; |
my $editurl = $url; |
my $editurl = $url; |
Line 4563 $form_end;
|
Line 4613 $form_end;
|
$line.= ' <span class="LC_warning">('.&mt('hidden').')</span> '; |
$line.= ' <span class="LC_warning">('.&mt('hidden').')</span> '; |
} |
} |
} elsif ($url) { |
} elsif ($url) { |
if ($nomodal) { |
if ($nolink) { |
|
$line.=$title; |
|
} elsif ($nomodal) { |
$line.='<a href="#" onclick="javascript:window.open('."'$link','syllabuspreview','height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1')".'; return false;" />'. |
$line.='<a href="#" onclick="javascript:window.open('."'$link','syllabuspreview','height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1')".'; return false;" />'. |
$title.'</a>'; |
$title.'</a>'; |
} else { |
} else { |
Line 4582 $form_end;
|
Line 4634 $form_end;
|
$line .= '</td>'; |
$line .= '</td>'; |
$rand_pick_text = ' ' if ($rand_pick_text eq ''); |
$rand_pick_text = ' ' if ($rand_pick_text eq ''); |
$rand_order_text = ' ' if ($rand_order_text eq ''); |
$rand_order_text = ' ' if ($rand_order_text eq ''); |
|
if ($uploaded && $url && !$isfolder && !$ispage) { |
|
if (($plainurl ne '') && ($env{'request.role.adv'} || $allowed || !$hiddenres)) { |
|
&Apache::lonnet::allowuploaded('/adm/coursedoc',$plainurl); |
|
} |
|
} |
if ($allowed) { |
if ($allowed) { |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'hd' => 'Hidden', |
'hd' => 'Hidden', |
Line 5644 sub handler {
|
Line 5701 sub handler {
|
if ($env{'form.tools'}) { $toolsflag=1; } |
if ($env{'form.tools'}) { $toolsflag=1; } |
|
|
if ($env{'form.folderpath'} ne '') { |
if ($env{'form.folderpath'} ne '') { |
&validate_folderpath($supplementalflag); |
&Apache::loncommon::validate_folderpath($supplementalflag,$allowed,$coursenum,$coursedom); |
} |
} |
|
|
|
my $backto_supppath; |
if ($env{'form.supppath'} ne '') { |
if ($env{'form.supppath'} ne '') { |
&validate_suppath(); |
if ($supplementalflag && $allowed) { |
|
$backto_supppath = &validate_supppath($coursenum,$coursedom); |
|
} |
} |
} |
|
|
my $script=''; |
my $script=''; |
Line 5669 sub handler {
|
Line 5729 sub handler {
|
&Apache::loncommon::symb_to_docspath($env{'form.symb'},\$navmap); |
&Apache::loncommon::symb_to_docspath($env{'form.symb'},\$navmap); |
&Apache::lonnet::appenv({'docs.exit.'.$env{'request.course.id'} => |
&Apache::lonnet::appenv({'docs.exit.'.$env{'request.course.id'} => |
$env{'form.command'}.'_'.$env{'form.symb'}}); |
$env{'form.command'}.'_'.$env{'form.symb'}}); |
} elsif ($env{'form.supppath'} ne '') { |
} elsif (($env{'form.supppath'} ne '') && $supplementalflag && $allowed) { |
$env{'form.folderpath'}=$env{'form.supppath'}; |
$env{'form.folderpath'}=$env{'form.supppath'}; |
&Apache::lonnet::appenv({'docs.exit.'.$env{'request.course.id'} => |
&Apache::lonnet::appenv({'docs.exit.'.$env{'request.course.id'} => |
$env{'form.command'}.'_'.$env{'form.supppath'}}); |
$env{'form.command'}.'_'.$backto_supppath}); |
} |
} |
} elsif ($env{'form.command'} eq 'editdocs') { |
} elsif ($env{'form.command'} eq 'editdocs') { |
$env{'form.folderpath'} = &default_folderpath($coursenum,$coursedom,\$navmap); |
$env{'form.folderpath'} = &default_folderpath($coursenum,$coursedom,\$navmap); |
Line 5708 sub handler {
|
Line 5768 sub handler {
|
undef($env{'form.folderpath'}); |
undef($env{'form.folderpath'}); |
} |
} |
if ($env{'form.folderpath'} ne '') { |
if ($env{'form.folderpath'} ne '') { |
&validate_folderpath($supplementalflag); |
&Apache::loncommon::validate_folderpath($supplementalflag,$allowed,$coursenum,$coursedom); |
} |
} |
} |
} |
|
|
Line 5724 sub handler {
|
Line 5784 sub handler {
|
.'&'. |
.'&'. |
$env{'form.folderpath'}; |
$env{'form.folderpath'}; |
} |
} |
# If allowed and user's role is not advanced check folderpath is not hidden |
# If allowed and user's role is not advanced check folderpath is not hidden |
if (($allowed) && (!$env{'request.role.adv'}) && |
my $hidden_and_empty; |
($env{'form.folderpath'} ne '') && (!$supplementalflag)) { |
if (($allowed) && (!$env{'request.role.adv'}) && ($env{'form.folderpath'} ne '')) { |
my $folderurl; |
my ($folderurl,$foldername,$hiddenfolder); |
my @pathitems = split(/\&/,$env{'form.folderpath'}); |
my @pathitems = split(/\&/,$env{'form.folderpath'}); |
my $folder = $pathitems[-2]; |
my $folder = $pathitems[-2]; |
if ($folder eq '') { |
if ($folder eq '') { |
Line 5739 sub handler {
|
Line 5799 sub handler {
|
} else { |
} else { |
$folderurl .= '.sequence'; |
$folderurl .= '.sequence'; |
} |
} |
unless (ref($navmap)) { |
if ($supplementalflag) { |
$navmap = Apache::lonnavmaps::navmap->new(); |
($foldername,$hiddenfolder) = ($pathitems[-1] =~ /^([^:]*)::(|1):::$/); |
} |
$foldername = &HTML::Entities::decode(&unescape($foldername)); |
if (ref($navmap)) { |
my ($supplemental) = &Apache::loncommon::get_supplemental($coursenum,$coursedom); |
if (lc($navmap->get_mapparam(undef,$folderurl,"0.hiddenresource")) eq 'yes') { |
if (ref($supplemental) eq 'HASH') { |
my @resources = $navmap->retrieveResources($folderurl,$filterFunc,1,1); |
my ($suppmap,$suppmapnum); |
unless (@resources) { |
if ($folder eq 'supplemental') { |
undef($env{'form.folderpath'}); |
$suppmap = 'default'; |
|
$suppmapnum = 0; |
|
} elsif ($folder =~ /^supplemental_(\d+)$/) { |
|
$suppmap = $1; |
|
$suppmapnum = $suppmap; |
|
} |
|
if ($hiddenfolder) { |
|
my $hascontent; |
|
foreach my $key (reverse(sort(keys(%{$supplemental->{'ids'}})))) { |
|
if ($key =~ m{^\Q/uploaded/$coursedom/$coursenum/supplemental/$suppmap/\E}) { |
|
$hascontent = 1; |
|
} elsif (ref($supplemental->{'ids'}->{$key}) eq 'ARRAY') { |
|
foreach my $id (@{$supplemental->{'ids'}->{$key}}) { |
|
if ($id =~ /^$suppmapnum\:/) { |
|
$hascontent = 1; |
|
last; |
|
} |
|
} |
|
} |
|
last if ($hascontent); |
|
} |
|
unless ($hascontent) { |
|
if ($foldername ne '') { |
|
$hidden_and_empty = $foldername; |
|
} else { |
|
$hidden_and_empty = $folder; |
|
} |
|
} |
} |
} |
} |
} |
|
} else { |
|
unless (ref($navmap)) { |
|
$navmap = Apache::lonnavmaps::navmap->new(); |
|
} |
|
($foldername,$hiddenfolder) = ($pathitems[-1] =~ /^([^:]*):|\d+:|1:(|1):|1:|1$/); |
|
$foldername = &HTML::Entities::decode(&unescape($foldername)); |
|
if (ref($navmap)) { |
|
if ($hiddenfolder || |
|
(lc($navmap->get_mapparam(undef,$folderurl,"0.hiddenresource")) eq 'yes')) { |
|
my @resources = $navmap->retrieveResources($folderurl,$filterFunc,1,1); |
|
unless (@resources) { |
|
if ($foldername ne '') { |
|
$hidden_and_empty = $foldername; |
|
} else { |
|
$hidden_and_empty = $folder; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
if ($hidden_and_empty ne '') { |
|
splice(@pathitems,-2); |
|
if (@pathitems) { |
|
$env{'form.folderpath'} = join('&',@pathitems); |
|
} else { |
|
undef($env{'form.folderpath'}); |
|
} |
} |
} |
} |
} |
} |
} |
|
|
|
|
# If after all of this, we still don't have any paths, make them |
# If after all of this, we still don't have any paths, make them |
unless ($env{'form.folderpath'}) { |
unless ($env{'form.folderpath'}) { |
if ($supplementalflag) { |
if ($supplementalflag) { |
Line 5847 sub handler {
|
Line 5960 sub handler {
|
&inject_data_js(). |
&inject_data_js(). |
&Apache::lonhtmlcommon::resize_scrollbox_js('docs',$tabidstr,$tid). |
&Apache::lonhtmlcommon::resize_scrollbox_js('docs',$tabidstr,$tid). |
&Apache::lonextresedit::extedit_javascript(\%ltitools); |
&Apache::lonextresedit::extedit_javascript(\%ltitools); |
|
my $onload = "javascript:resize_scrollbox('contentscroll','1','1');"; |
|
if ($hidden_and_empty ne '') { |
|
my $alert = &mt("Additional privileges required to edit empty and hidden folder: '[_1]'", |
|
$hidden_and_empty); |
|
$onload .= "javascript:alert('".&js_escape($alert)."');"; |
|
} |
$addentries = { |
$addentries = { |
onload => "javascript:resize_scrollbox('contentscroll','1','1');", |
onload => $onload, |
}; |
}; |
} |
} |
$script .= &paste_popup_js(); |
$script .= &paste_popup_js(); |
Line 5872 sub handler {
|
Line 5991 sub handler {
|
if ($showdoc) { |
if ($showdoc) { |
my $args; |
my $args; |
if ($supplementalflag) { |
if ($supplementalflag) { |
my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$env{'form.title'},1); |
my $title = &HTML::Entities::encode($env{'form.title'},'\'"<>&'); |
|
my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
$args = {'bread_crumbs' => $brcrum}; |
$args = {'bread_crumbs' => $brcrum}; |
} else { |
} else { |
$args = {'force_register' => $showdoc}; |
$args = {'force_register' => $showdoc}; |
Line 6015 sub handler {
|
Line 6135 sub handler {
|
'stpr' => 'Standard Problem', |
'stpr' => 'Standard Problem', |
'news' => 'New sub-directory', |
'news' => 'New sub-directory', |
'crpr' => 'Create Problem', |
'crpr' => 'Create Problem', |
|
'swit' => 'Switch Server', |
'drbx' => 'Drop Box', |
'drbx' => 'Drop Box', |
'scuf' => 'External Scores (handgrade, upload, clicker)', |
'scuf' => 'External Scores (handgrade, upload, clicker)', |
'bull' => 'Discussion Board', |
'bull' => 'Discussion Board', |
Line 6173 FUFORM
|
Line 6294 FUFORM
|
SEDFFORM |
SEDFFORM |
my $importcrsresform; |
my $importcrsresform; |
my ($numdirs,$pickfile) = |
my ($numdirs,$pickfile) = |
&Apache::loncommon::import_crsauthor_form('crsresimportform','coursepath','coursefile', |
&Apache::loncommon::import_crsauthor_form('coursepath','coursefile', |
"resize_scrollbox('contentscroll','1','0');", |
"resize_scrollbox('contentscroll','1','0');", |
undef,'res'); |
undef,'res'); |
if ($pickfile) { |
if ($pickfile) { |
$importcrsresform=(<<CRSFORM); |
$importcrsresform=(<<CRSFORM); |
<a class="LC_menubuttons_link" href="javascript:toggleImportCrsres('res','$numdirs');"> |
<a class="LC_menubuttons_link" href="javascript:toggleImportCrsres('res');"> |
$lt{'imcr'}</a>$help{'Course_Resources'} |
$lt{'imcr'}</a>$help{'Course_Resources'} |
<form action="/adm/coursedocs" method="post" name="crsresimportform" onsubmit="return validImportCrsRes();"> |
<form action="/adm/coursedocs" method="post" name="crsresimportform" onsubmit="return validImportCrsRes();"> |
<fieldset id="importcrsresform" style="display: none;"> |
<fieldset id="importcrsresform" style="display: none;"> |
Line 6189 SEDFFORM
|
Line 6310 SEDFFORM
|
$lt{'title'}: <input type="textbox" name="crsrestitle" value="" $disabled /> |
$lt{'title'}: <input type="textbox" name="crsrestitle" value="" $disabled /> |
</p> |
</p> |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
<input type="submit" name="crsres" value="$lt{'impo'}" $disabled /> |
<input type="submit" name="crsres" value="$lt{'impo'}" $disabled /><br /> |
</fieldset> |
</fieldset> |
</form> |
</form> |
CRSFORM |
CRSFORM |
Line 6209 CRSFORM
|
Line 6330 CRSFORM
|
{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/sequence.png" alt="'.$lt{impm}.'" onclick="javascript:toggleMap(\'map\');" />' => $importpubform }, |
{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/sequence.png" alt="'.$lt{impm}.'" onclick="javascript:toggleMap(\'map\');" />' => $importpubform }, |
); |
); |
if ($pickfile) { |
if ($pickfile) { |
push(@importpubforma,{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/res.png" alt="'.$lt{imcr}.'" onclick="javascript:toggleImportCrsres(\'res\','."'$numdirs'".');"/>' => $importcrsresform}); |
push(@importpubforma,{ '<img class="LC_noBorder LC_middle" src="/res/adm/pages/res.png" alt="'.$lt{imcr}.'" onclick="javascript:toggleImportCrsres(\'res\');" />' => $importcrsresform}); |
} |
} |
$importpubform = &create_form_ul(&create_list_elements(@importpubforma)); |
$importpubform = &create_form_ul(&create_list_elements(@importpubforma)); |
my $extresourcesform = |
my $extresourcesform = |
Line 6411 NROSTFORM
|
Line 6532 NROSTFORM
|
NWEBFORM |
NWEBFORM |
|
|
my @ids=&Apache::lonnet::current_machine_ids(); |
my @ids=&Apache::lonnet::current_machine_ids(); |
my %select_menus; |
my (%select_menus,$rolehomes); |
my $numauthor = 0; |
my $numauthor = 0; |
my $numcrsdirs = 0; |
my $numcrsdirs = 0; |
|
my ($showstdprob,$showswitch,$switchlink); |
my $toppath = "/priv/$env{'user.domain'}/$env{'user.name'}"; |
my $toppath = "/priv/$env{'user.domain'}/$env{'user.name'}"; |
|
my $exclude = &Apache::lonnet::priv_exclude(); |
if ($env{'user.author'}) { |
if ($env{'user.author'}) { |
$numauthor ++; |
$numauthor ++; |
$select_menus{'author'}->{'text'} = &Apache::lonnet::plaintext('au'); |
$select_menus{'author'}->{'text'} = &Apache::lonnet::plaintext('au'); |
if (grep(/^\Q$env{'user.home'}\E$/,@ids)) { |
if (grep(/^\Q$env{'user.home'}\E$/,@ids)) { |
my $is_home = 1; |
my $is_home = 1; |
my %subdirs; |
my %subdirs; |
&Apache::lonnet::recursedirs($is_home,'priv',$londocroot,$toppath,'',\%subdirs); |
&Apache::lonnet::recursedirs($is_home,1,'',$exclude,0,$toppath,'',\%subdirs); |
$select_menus{'author'}->{'default'} = '/'; |
$select_menus{'author'}->{'default'} = '/'; |
$select_menus{'author'}->{'select2'}->{'/'} = '/'; |
my @ordered = (); |
my @ordered = ('/'); |
|
foreach my $relpath (sort { lc($a) cmp lc($b) } (keys(%subdirs))) { |
foreach my $relpath (sort { lc($a) cmp lc($b) } (keys(%subdirs))) { |
$select_menus{'author'}->{'select2'}->{$relpath} = $relpath; |
$select_menus{'author'}->{'select2'}->{$relpath} = $relpath; |
push(@ordered,$relpath); |
push(@ordered,$relpath); |
} |
} |
$select_menus{'author'}->{'order'} = \@ordered; |
$select_menus{'author'}->{'order'} = \@ordered; |
|
$showstdprob = 'block'; |
} else { |
} else { |
|
$rolehomes = '<input type="hidden" name="rolehome_author" value="'.$env{'user.home'}.'" />'."\n"; |
$select_menus{'author'}->{'select2'}->{'switch'} = &mt('Switch server required'); |
$select_menus{'author'}->{'select2'}->{'switch'} = &mt('Switch server required'); |
$select_menus{'author'}->{'default'} = 'switch'; |
$select_menus{'author'}->{'default'} = 'switch'; |
$select_menus{'author'}->{'order'} = ['switch']; |
$select_menus{'author'}->{'order'} = ['switch']; |
|
$showstdprob = 'none'; |
} |
} |
} |
} |
my %roleshash = &Apache::lonnet::get_my_roles($env{'user.name'},$env{'user.domain'},'userroles', |
my %roleshash = &Apache::lonnet::get_my_roles($env{'user.name'},$env{'user.domain'},'userroles', |
['active'],['ca','aa']); |
['active'],['ca','aa']); |
my $crshome = $env{'course.'.$env{'request.course.id'}.'.home'}; |
my $crshome = $env{'course.'.$env{'request.course.id'}.'.home'}; |
my %by_roletype; |
my (%by_roletype,%at_home); |
if (keys(%roleshash)) { |
if (keys(%roleshash)) { |
foreach my $entry (keys(%roleshash)) { |
foreach my $entry (keys(%roleshash)) { |
my ($auname,$audom,$roletype) = split(/:/,$entry); |
my ($auname,$audom,$roletype) = split(/:/,$entry); |
Line 6449 NWEBFORM
|
Line 6574 NWEBFORM
|
$select_menus{$key}->{'text'} = &Apache::lonnet::plaintext($roletype)." ($audom/$auname)"; |
$select_menus{$key}->{'text'} = &Apache::lonnet::plaintext($roletype)." ($audom/$auname)"; |
my $rolehome = &Apache::lonnet::homeserver($auname,$audom); |
my $rolehome = &Apache::lonnet::homeserver($auname,$audom); |
if (grep(/^\Q$rolehome\E$/,@ids)) { |
if (grep(/^\Q$rolehome\E$/,@ids)) { |
|
$at_home{$auname.'___'.$audom} = 1; |
my $is_home = 1; |
my $is_home = 1; |
my (%subdirs,@ordered); |
my (%subdirs,@ordered); |
my $toppath="/priv/$audom/$auname"; |
my $toppath="/priv/$audom/$auname"; |
&Apache::lonnet::recursedirs($is_home,'priv',$londocroot,$toppath,'',\%subdirs); |
&Apache::lonnet::recursedirs($is_home,1,'',$exclude,0,$toppath,'',\%subdirs); |
$select_menus{$key}->{'default'} = '/'; |
$select_menus{$key}->{'default'} = '/'; |
$select_menus{$key}->{'select2'}->{'/'} = '/'; |
|
my @ordered = ('/'); |
|
foreach my $relpath (sort { lc($a) cmp lc($b) } (keys(%subdirs))) { |
foreach my $relpath (sort { lc($a) cmp lc($b) } (keys(%subdirs))) { |
$select_menus{$key}->{'select2'}->{$relpath} = $relpath; |
$select_menus{$key}->{'select2'}->{$relpath} = $relpath; |
push(@ordered,$relpath); |
push(@ordered,$relpath); |
} |
} |
$select_menus{$key}->{'order'} = \@ordered; |
$select_menus{$key}->{'order'} = \@ordered; |
} else { |
} else { |
|
$rolehomes .= '<input type="hidden" name="rolehome_coauthor" value="'.$roletype.'='.$audom.'/'.$auname.'='.$rolehome.'" />'."\n"; |
$select_menus{$key}->{'select2'}->{'switch'} = &mt('Switch server required'); |
$select_menus{$key}->{'select2'}->{'switch'} = &mt('Switch server required'); |
$select_menus{$key}->{'default'} = 'switch'; |
$select_menus{$key}->{'default'} = 'switch'; |
$select_menus{$key}->{'order'} = ['switch']; |
$select_menus{$key}->{'order'} = ['switch']; |
Line 6483 NWEBFORM
|
Line 6608 NWEBFORM
|
foreach my $author (sort { lc($a) cmp lc($b) } (keys(%{$by_roletype{$possrole}}))) { |
foreach my $author (sort { lc($a) cmp lc($b) } (keys(%{$by_roletype{$possrole}}))) { |
unless ($defrole) { |
unless ($defrole) { |
$defrole = $author; |
$defrole = $author; |
|
if ($at_home{$author}) { |
|
$showstdprob = 'block'; |
|
} else { |
|
$showstdprob = 'none'; |
|
} |
} |
} |
push(@order,$author.'___'.$possrole); |
push(@order,$author.'___'.$possrole); |
} |
} |
Line 6494 NWEBFORM
|
Line 6624 NWEBFORM
|
my $is_home = 1; |
my $is_home = 1; |
my %subdirs; |
my %subdirs; |
my $toppath="/priv/$coursedom/$coursenum"; |
my $toppath="/priv/$coursedom/$coursenum"; |
&Apache::lonnet::recursedirs($is_home,'priv',$londocroot,$toppath,'',\%subdirs); |
&Apache::lonnet::recursedirs($is_home,1,'',$exclude,0,$toppath,'',\%subdirs); |
$numcrsdirs = keys(%subdirs); |
$numcrsdirs = keys(%subdirs); |
$select_menus{'course'}->{'default'} = '/'; |
$select_menus{'course'}->{'default'} = '/'; |
$select_menus{'course'}->{'select2'}->{'/'} = '/'; |
my @ordered = (); |
my @ordered = ('/'); |
|
foreach my $relpath (sort { lc($a) cmp lc($b) } (keys(%subdirs))) { |
foreach my $relpath (sort { lc($a) cmp lc($b) } (keys(%subdirs))) { |
$select_menus{'course'}->{'select2'}->{$relpath} = $relpath; |
$select_menus{'course'}->{'select2'}->{$relpath} = $relpath; |
push(@ordered,$relpath); |
push(@ordered,$relpath); |
} |
} |
$select_menus{'course'}->{'order'} = \@ordered; |
$select_menus{'course'}->{'order'} = \@ordered; |
} else { |
} else { |
|
$rolehomes .= '<input type="hidden" name="rolehome_course" value="'.$crshome.'" />'."\n"; |
$select_menus{'course'}->{'select2'}->{'switch'} = &mt('Switch server required'); |
$select_menus{'course'}->{'select2'}->{'switch'} = &mt('Switch server required'); |
$select_menus{'course'}->{'default'} = 'switch'; |
$select_menus{'course'}->{'default'} = 'switch'; |
$select_menus{'course'}->{'order'} = ['switch']; |
$select_menus{'course'}->{'order'} = ['switch']; |
Line 6521 NWEBFORM
|
Line 6651 NWEBFORM
|
$showtitle = 'inline'; |
$showtitle = 'inline'; |
if (grep(/^\Q$crshome\E$/,@ids)) { |
if (grep(/^\Q$crshome\E$/,@ids)) { |
$is_home = 1; |
$is_home = 1; |
|
$showstdprob = 'block'; |
$pickdir .= '<input type="hidden" name="authorrole" value="course" />'; |
$pickdir .= '<input type="hidden" name="authorrole" value="course" />'; |
my $toppath="/priv/$coursedom/$coursenum'}"; |
my $toppath="/priv/$coursedom/$coursenum'}"; |
my %subdirs; |
my %subdirs; |
&Apache::lonnet::recursedirs($is_home,'priv',$londocroot,$toppath,'',\%subdirs); |
&Apache::lonnet::recursedirs($is_home,1,'',$exclude,0,$toppath,'',\%subdirs); |
$numcrsdirs = keys(%subdirs); |
$numcrsdirs = keys(%subdirs); |
if ($numcrsdirs) { |
if ($numcrsdirs) { |
$pickdir .= &mt('Directory: ').'<select name="authorpath">'."\n". |
$pickdir .= $lt{'dire'}.' <select name="authorpath">'."\n". |
'<option value="/">/</option>'."\n"; |
'<option value="/">/</option>'."\n"; |
foreach my $key (sort { lc($a) cmp lc($b) } (keys(%subdirs))) { |
foreach my $key (sort { lc($a) cmp lc($b) } (keys(%subdirs))) { |
$pickdir .= '<option value="'.$key.'">'.$key.'</option>'."\n"; |
$pickdir .= '<option value="'.$key.'">'.$key.'</option>'."\n"; |
Line 6536 NWEBFORM
|
Line 6667 NWEBFORM
|
} else { |
} else { |
$pickdir .= '<input type="hidden" name="authorpath" value="/" />'."\n"; |
$pickdir .= '<input type="hidden" name="authorpath" value="/" />'."\n"; |
} |
} |
|
} else { |
|
$showstdprob = 'none'; |
|
$rolehomes .= '<input type="hidden" name="rolehome_course" value="'.$crshome.'" />'."\n"; |
|
my @order; |
|
$select_menus{'course'}->{'text'} = &mt('Course Resource'); |
|
$select_menus{'course'}->{'select2'}->{'switch'} = &mt('Switch server required'); |
|
$select_menus{'course'}->{'default'} = 'switch'; |
|
$select_menus{'course'}->{'order'} = ['switch']; |
|
push(@order,'course'); |
|
my $defrole = 'course'; |
|
$pickdir = $lt{'loca'}. |
|
&Apache::loncommon::linked_select_forms('courseresform','<br />'.$lt{'dire'}, |
|
$defrole,'authorrole','authorpath', |
|
\%select_menus,\@order,'toggleCrsResTitle();', |
|
'','priv').'<br />'; |
|
$showtitle = 'none'; |
|
|
} |
} |
} |
} |
|
if ($showstdprob eq 'none') { |
|
$showswitch = 'block'; |
|
} else { |
|
$showswitch = 'none'; |
|
} |
|
|
my %seltemplate_menus; |
my %seltemplate_menus; |
my @files = &Apache::lonhomework::get_template_list('problem'); |
my @files = &Apache::lonhomework::get_template_list('problem'); |
Line 6588 NWEBFORM
|
Line 6741 NWEBFORM
|
<input type="hidden" name="active" value="bb" /> |
<input type="hidden" name="active" value="bb" /> |
<p> |
<p> |
$pickdir |
$pickdir |
|
<div id="newstdproblem" style="display:$showstdprob;"> |
<span class="LC_nobreak">$lt{'news'}? |
<span class="LC_nobreak">$lt{'news'}? |
<label><input type="radio" name="newsubdir" value="0" onclick="toggleNewsubdir(this.form);" checked="checked" $disabled />No</label> |
<label><input type="radio" name="newsubdir" value="0" onclick="toggleNewsubdir(this.form);" checked="checked" $disabled />No</label> |
|
|
Line 6623 NWEBFORM
|
Line 6777 NWEBFORM
|
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type="hidden" name="folderpath" value="$env{'form.folderpath'}" /> |
<input type="submit" name="newcrs" value="$lt{'crpr'}" $disabled /> |
<input type="submit" name="newcrs" value="$lt{'crpr'}" $disabled /> |
</span> |
</span> |
|
</div> |
|
<div id="stdprobswitch" style="display:$showswitch;"> |
|
$rolehomes |
|
<input type="button" name="switchfornewprob" value="$lt{'swit'}" onclick="switchForProb();" /> |
|
</div> |
</fieldset> |
</fieldset> |
</form> |
</form> |
|
|
Line 6771 unless ($container eq 'page') {
|
Line 6930 unless ($container eq 'page') {
|
unless ($supplementalflag) { |
unless ($supplementalflag) { |
$folder='supplemental'; |
$folder='supplemental'; |
} |
} |
if ($folder =~ /^supplemental$/ && |
if (($folder eq 'supplemental') && |
(($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) { |
(($env{'form.folderpath'} =~ /^default\&/) || ($env{'form.folderpath'} eq ''))) { |
$env{'form.folderpath'} = &supplemental_base(); |
$env{'form.folderpath'} = &supplemental_base(); |
} elsif ($allowed) { |
} elsif ($allowed) { |
Line 7368 sub editing_js {
|
Line 7527 sub editing_js {
|
my $backtourl; |
my $backtourl; |
my $toplevelmain = &escape(&default_folderpath($coursenum,$coursedom,$navmapref)); |
my $toplevelmain = &escape(&default_folderpath($coursenum,$coursedom,$navmapref)); |
my $toplevelsupp = &supplemental_base(); |
my $toplevelsupp = &supplemental_base(); |
|
my $showfile_js = &Apache::loncommon::show_crsfiles_js(); |
if ($env{'docs.exit.'.$env{'request.course.id'}} =~ /^direct_(.+)$/) { |
if ($env{'docs.exit.'.$env{'request.course.id'}} =~ /^direct_(.+)$/) { |
my $caller = $1; |
my $caller = $1; |
if ($caller =~ /^supplemental/) { |
if ($caller =~ /^supplemental/) { |
Line 7801 function toggleCrsResTitle() {
|
Line 7960 function toggleCrsResTitle() {
|
} else { |
} else { |
document.getElementById('newresource').style.display = 'none'; |
document.getElementById('newresource').style.display = 'none'; |
} |
} |
} |
} |
|
if (document.getElementById('newstdproblem')) { |
|
if (document.courseresform.authorpath.options[document.courseresform.authorpath.selectedIndex].value == 'switch') { |
|
document.getElementById('newstdproblem').style.display = 'none'; |
|
if (document.getElementById('stdprobswitch')) { |
|
document.getElementById('stdprobswitch').style.display = 'block'; |
|
} |
|
} else { |
|
document.getElementById('newstdproblem').style.display = 'block'; |
|
if (document.getElementById('stdprobswitch')) { |
|
document.getElementById('stdprobswitch').style.display = 'none'; |
|
} |
|
} |
|
} |
} |
} |
|
|
function toggleNewInCourse(form) { |
function toggleNewInCourse(form) { |
Line 7881 function getExample(width,height,scrolli
|
Line 8053 function getExample(width,height,scrolli
|
} |
} |
} |
} |
|
|
function toggleImportCrsres(caller,dircount) { |
function toggleImportCrsres(caller) { |
var disp = 'none'; |
var disp = 'none'; |
if (document.getElementById('importcrsresform')) { |
if (document.getElementById('importcrsresform')) { |
if (caller == 'res') { |
if (caller == 'res') { |
var numdirs = parseInt(dircount); |
|
var curr = document.getElementById('importcrsresform').style.display; |
var curr = document.getElementById('importcrsresform').style.display; |
if (curr == 'none') { |
if (curr == 'none') { |
disp='block'; |
disp='block'; |
if (numdirs > 1) { |
populateCrsSelects(document.crsresimportform,'coursepath','coursefile',1,'',1,0,1,1); |
select1res_changed(); |
|
} |
|
} |
} |
} |
} |
document.getElementById('importcrsresform').style.display=disp; |
document.getElementById('importcrsresform').style.display=disp; |
Line 7899 function toggleImportCrsres(caller,dirco
|
Line 8068 function toggleImportCrsres(caller,dirco
|
} |
} |
return; |
return; |
} |
} |
|
|
|
$showfile_js |
|
|
|
function switchForProb() { |
|
if (document.courseresform.authorpath.options[document.courseresform.authorpath.selectedIndex].value == 'switch') { |
|
var url = '/adm/switchserver?otherserver='; |
|
var newhostid = ''; |
|
var role = ''; |
|
var selloc = document.courseresform.authorrole.options[document.courseresform.authorrole.selectedIndex].value; |
|
if (selloc == 'author') { |
|
newhostid = document.courseresform.rolehome_author.value; |
|
role = "au./&js_escape($env{'user.domain'})/"; |
|
} else if (selloc == 'course') { |
|
newhostid = document.courseresform.rolehome_course.value; |
|
role = "&js_escape($env{'request.role'})"; |
|
} else { |
|
var items = new Array(); |
|
items = selloc.split('___'); |
|
var len = document.courseresform.rolehome_coauthor.length; |
|
if (null == len) { |
|
var currval = document.courseresform.rolehome_coauthor.value; |
|
if (null != currval) { |
|
var info = new Array(); |
|
info = currval.split('='); |
|
newhostid = info[2]; |
|
role = info[0]+'./'+info[1]; |
|
} |
|
} else { |
|
for (var i=0; i<len; i++) { |
|
var currval = document.courseresform.rolehome_coauthor[i].value; |
|
if (null != currval) { |
|
var info = new Array(); |
|
info = currval.split('='); |
|
if ((info[1] == items[1]+'/'+items[0]) && (info[0] == items[2])) { |
|
newhostid = info[2]; |
|
role = info[0]+'./'+info[1]; |
|
break; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
if (newhostid != '') { |
|
url += newhostid; |
|
if (role != '') { |
|
url += '&role='+role; |
|
} |
|
document.location.href = url; |
|
} |
|
} |
|
return; |
|
} |
|
|
function makeims(imsform) { |
function makeims(imsform) { |
if ((imsform.uploaddoc.value == '') || (!imsform.uploaddoc.value)) { |
if ((imsform.uploaddoc.value == '') || (!imsform.uploaddoc.value)) { |