version 1.484.2.93.2.15, 2023/09/06 13:35:14
|
version 1.484.2.93.2.19, 2025/03/15 03:08:02
|
Line 716 sub group_import {
|
Line 716 sub group_import {
|
my $marker = $2; |
my $marker = $2; |
my $info = $3; |
my $info = $3; |
my ($toolid,$toolprefix,$tooltype,%toolhash,%toolsettings); |
my ($toolid,$toolprefix,$tooltype,%toolhash,%toolsettings); |
my @extras = ('linktext','explanation','crslabel','crstitle','crsappend'); |
my @extras = ('linktext','explanation','crslabel','crstitle','crsappend','returnurl','backtourl'); |
my @toolinfo = split(/:/,$info); |
my @toolinfo = split(/:/,$info); |
if ($residx) { |
if ($residx) { |
%toolsettings=&Apache::lonnet::dump('exttool_'.$marker,$coursedom,$coursenum); |
%toolsettings=&Apache::lonnet::dump('exttool_'.$marker,$coursedom,$coursenum); |
Line 733 sub group_import {
|
Line 733 sub group_import {
|
$toolid =~ s/\D//g; |
$toolid =~ s/\D//g; |
($toolhash{'target'},$toolhash{'width'},$toolhash{'height'}, |
($toolhash{'target'},$toolhash{'width'},$toolhash{'height'}, |
$toolhash{'linktext'},$toolhash{'explanation'},$toolhash{'crslabel'}, |
$toolhash{'linktext'},$toolhash{'explanation'},$toolhash{'crslabel'}, |
$toolhash{'crstitle'},$toolhash{'crsappend'},$toolhash{'gradable'}) = @toolinfo; |
$toolhash{'crstitle'},$toolhash{'crsappend'},$toolhash{'gradable'}, |
|
$toolhash{'returnurl'},$toolhash{'backtourl'}) = @toolinfo; |
foreach my $item (@extras) { |
foreach my $item (@extras) { |
$toolhash{$item} = &unescape($toolhash{$item}); |
$toolhash{$item} = &unescape($toolhash{$item}); |
} |
} |
Line 820 sub group_import {
|
Line 821 sub group_import {
|
} |
} |
} |
} |
} |
} |
|
if ($tools{'crsconf'}{'returnurl'}) { |
|
unless ($toolhash{'returnurl'} eq 'custom') { |
|
delete($toolhash{'backtourl'}); |
|
} |
|
} else { |
|
delete($toolhash{'returnurl'}); |
|
delete($toolhash{'backtourl'}); |
|
} |
} |
} |
if ($toolhash{'passback'}) { |
if ($toolhash{'passback'}) { |
my $gradesecret = UUID::Tiny::create_uuid_as_string(UUID_V4); |
my $gradesecret = UUID::Tiny::create_uuid_as_string(UUID_V4); |
Line 848 sub group_import {
|
Line 857 sub group_import {
|
} |
} |
} |
} |
} |
} |
|
if ($residx) { |
|
if (($toolsettings{'backtourl'} ne '') && (!exists($toolhash{'backtourl'}))) { |
|
push(@deleted,'backtourl'); |
|
} |
|
if (($toolsettings{'returnurl'} ne '') && (!exists($toolhash{'returnurl'}))) { |
|
push(@deleted,'returnurl'); |
|
} |
|
} |
my $putres = &Apache::lonnet::put('exttool_'.$marker,\%toolhash,$coursedom,$coursenum); |
my $putres = &Apache::lonnet::put('exttool_'.$marker,\%toolhash,$coursedom,$coursenum); |
if ($putres eq 'ok') { |
if ($putres eq 'ok') { |
if (@deleted) { |
if (@deleted) { |
Line 4605 END
|
Line 4622 END
|
$nomodal = 1; |
$nomodal = 1; |
} |
} |
} |
} |
my ($checkencrypt,$shownurl); |
my $checkencrypt; |
if (!$env{'request.role.adv'}) { |
if (!$env{'request.role.adv'}) { |
if (((&LONCAPA::map::getparameter($orderidx,'parameter_encrypturl'))[0]=~/^yes$/i) || |
if (((&LONCAPA::map::getparameter($orderidx,'parameter_encrypturl'))[0]=~/^yes$/i) || |
($isencrypted) || (&Apache::lonnet::EXT('resource.0.encrypturl',$symb) =~ /^yes$/i)) { |
($isencrypted) || (&Apache::lonnet::EXT('resource.0.encrypturl',$symb) =~ /^yes$/i)) { |
Line 4625 END
|
Line 4642 END
|
my $currenc = $env{'request.enc'}; |
my $currenc = $env{'request.enc'}; |
$env{'request.enc'} = 1; |
$env{'request.enc'} = 1; |
$shownsymb = &Apache::lonenc::encrypted($symb); |
$shownsymb = &Apache::lonenc::encrypted($symb); |
$shownurl = &Apache::lonenc::encrypted($url); |
my $shownurl = &Apache::lonenc::encrypted($url); |
if (&Apache::lonnet::symbverify($symb,$url)) { |
if (&Apache::lonnet::symbverify($symb,$url)) { |
$url = $shownurl; |
$url = $shownurl; |
} else { |
} else { |
Line 4640 END
|
Line 4657 END
|
$url = &Apache::lonnet::clutter($url); |
$url = &Apache::lonnet::clutter($url); |
} |
} |
} |
} |
$shownurl = $url; |
} else { |
|
$url = ''; |
} |
} |
unless ($env{'request.role.adv'}) { |
unless ($env{'request.role.adv'}) { |
if ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { |
if ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { |
Line 4651 END
|
Line 4669 END
|
$hiddenres = 1; |
$hiddenres = 1; |
} |
} |
} |
} |
if ($url ne '') { |
if (($url ne '') && ($shownsymb ne '')) { |
$url = $shownurl.(($shownurl=~/\?/)?'&':'?').'symb='.&escape($shownsymb); |
$url .= (($url=~/\?/)?'&':'?').'symb='.&escape($shownsymb); |
} |
} |
} |
} |
} elsif ($supplementalflag) { |
} elsif ($supplementalflag) { |
Line 4681 END
|
Line 4699 END
|
} |
} |
$nomodal = 1; |
$nomodal = 1; |
} |
} |
} elsif (($uploaded) && (!$allowed) && ($url ne '/adm/supplemental?')) { |
} elsif (($uploaded) && ($url ne '/adm/supplemental?') && ($url ne '/adm/coursedocs?')) { |
my $embstyle=&Apache::loncommon::fileembstyle($extension); |
my $embstyle=&Apache::loncommon::fileembstyle($extension); |
unless ($embstyle eq 'ssi') { |
unless ($embstyle eq 'ssi') { |
if (($embstyle eq 'img') |
if (($embstyle eq 'img') |
Line 4787 $form_common."\n".
|
Line 4805 $form_common."\n".
|
'<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" id="randomorder_'.$orderidx.'" onclick="checkForSubmit(this.form,'."'randomorder','settings'".');" '.$ro_set.$disabled.' /> '.&mt('Random Order').' </label></span>'. |
'<span class="LC_nobreak"><label><input type="checkbox" name="randomorder_'.$orderidx.'" id="randomorder_'.$orderidx.'" onclick="checkForSubmit(this.form,'."'randomorder','settings'".');" '.$ro_set.$disabled.' /> '.&mt('Random Order').' </label></span>'. |
$form_end; |
$form_end; |
} |
} |
} elsif ($supplementalflag && !$allowed) { |
} elsif ($supplementalflag) { |
my $isexttool; |
my $isexttool; |
if ($url=~m{^/adm/$coursedom/$coursenum/\d+/ext\.tool$}) { |
if ($url=~m{^/adm/$coursedom/$coursenum/\d+/ext\.tool$}) { |
$url='/adm/wrapper'.$url; |
$url='/adm/wrapper'.$url; |
Line 4871 $form_end;
|
Line 4889 $form_end;
|
$anchor = '#'.&HTML::Entities::encode($anchor,'"<>&'); |
$anchor = '#'.&HTML::Entities::encode($anchor,'"<>&'); |
} |
} |
} |
} |
if ((!$supplementalflag) && ($nomodal) && ($hostname ne '')) { |
if (($nomodal) && ($hostname ne '')) { |
$link = 'http://'.$hostname.$url; |
$link = 'http://'.$hostname.$url; |
} else { |
} else { |
$link = $url; |
$link = $url; |
} |
} |
$link = &js_escape($link.(($url=~/\?/)?'&':'?').'inhibitmenu=yes'.$anchor); |
my $inhibitmenu; |
|
if ((($supplementalflag) && ($allowed) && ($url =~ m{^/adm/wrapper/})) || |
|
(($allowed) && (($url =~ m{^/adm/(viewclasslist|$match_domain/$match_username/aboutme)(\?|$)}) || |
|
($url =~ m{^/public/$match_domain/$match_courseid/syllabus(\?|$)})))) { |
|
$inhibitmenu = 'only_body=1'; |
|
} else { |
|
$inhibitmenu = 'inhibitmenu=yes'; |
|
} |
|
$link = &js_escape($link.(($url=~/\?/)?'&':'?').$inhibitmenu.$anchor); |
if ($allowed && !$env{'request.role.adv'} && !$isfolder && !$ispage && !$uploaded) { |
if ($allowed && !$env{'request.role.adv'} && !$isfolder && !$ispage && !$uploaded) { |
if ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { |
if ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { |
$nolink = 1; |
$nolink = 1; |
Line 5325 sub short_urls {
|
Line 5351 sub short_urls {
|
} |
} |
my %currtiny = &Apache::lonnet::dump('tiny',$cdom,$cnum); |
my %currtiny = &Apache::lonnet::dump('tiny',$cdom,$cnum); |
$r->print(&Apache::loncourserespicker::create_picker($navmap,'shorturls',$formname,$crstype,undef, |
$r->print(&Apache::loncourserespicker::create_picker($navmap,'shorturls',$formname,$crstype,undef, |
undef,undef,undef,undef,undef,\%currtiny,$readonly)); |
undef,undef,undef,undef,undef,\%currtiny,undef,$readonly)); |
} |
} |
$r->print(&endContentScreen()); |
$r->print(&endContentScreen()); |
} |
} |
Line 5936 sub handler {
|
Line 5962 sub handler {
|
} |
} |
if ($env{'form.forcesupplement'}) { $supplementalflag=1; } |
if ($env{'form.forcesupplement'}) { $supplementalflag=1; } |
if ($env{'form.forcestandard'}) { $supplementalflag=0; } |
if ($env{'form.forcestandard'}) { $supplementalflag=0; } |
unless ($allowed) { $supplementalflag=1; } |
unless (($supplementalflag) || |
unless ($standard) { $supplementalflag=1; } |
($r->uri =~ m{^/adm/coursedocs/showdoc/uploaded/\Q$coursedom\E/\Q$coursenum\E/docs/})) { |
|
unless ($allowed) { $supplementalflag=1; } |
|
unless ($standard) { $supplementalflag=1; } |
|
} |
my $toolsflag=0; |
my $toolsflag=0; |
if ($env{'form.tools'}) { $toolsflag=1; } |
if ($env{'form.tools'}) { $toolsflag=1; } |
|
|
Line 6013 sub handler {
|
Line 6042 sub handler {
|
&Apache::loncommon::validate_folderpath($supplementalflag,$allowed,$coursenum,$coursedom); |
&Apache::loncommon::validate_folderpath($supplementalflag,$allowed,$coursenum,$coursedom); |
} |
} |
} |
} |
|
|
# If we are not allowed to make changes, all we can see are supplemental docs |
# If we are not allowed to make changes and this is supplemental content set folderpath |
if (!$allowed) { |
if ((!$allowed) && ($supplementalflag)) { |
unless ($env{'form.folderpath'} =~ /^supplemental/) { |
unless ($env{'form.folderpath'} =~ /^supplemental/) { |
$env{'form.folderpath'} = &supplemental_base(); |
$env{'form.folderpath'} = &supplemental_base(); |
} |
} |
Line 6245 sub handler {
|
Line 6274 sub handler {
|
if ($supplementalflag) { |
if ($supplementalflag) { |
my $title = &HTML::Entities::encode($env{'form.title'},'\'"<>&'); |
my $title = &HTML::Entities::encode($env{'form.title'},'\'"<>&'); |
my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); |
$args = {'bread_crumbs' => $brcrum}; |
$args = {'bread_crumbs' => $brcrum, |
|
'bread_crumbs_nomenu' => 1}; |
} else { |
} else { |
$args = {'force_register' => $showdoc}; |
$args = {'force_register' => $showdoc}; |
} |
} |
Line 6274 sub handler {
|
Line 6304 sub handler {
|
} |
} |
} |
} |
my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype); |
my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype); |
|
my $args = {'bread_crumbs' => $brcrum}; |
|
unless (($env{'form.folderpath'} eq '') || |
|
($env{'form.folder'} eq 'supplemental')) { |
|
$args->{'bread_crumbs_nomenu'} = 1; |
|
} |
$r->print(&Apache::loncommon::start_page("Supplemental $crstype Content",undef, |
$r->print(&Apache::loncommon::start_page("Supplemental $crstype Content",undef, |
{'bread_crumbs' => $brcrum,})); |
$args)); |
} else { |
} else { |
my ($breadtext,$breadtitle,$helpitem); |
my ($breadtext,$breadtitle,$helpitem); |
$breadtext = "$crstype Editor"; |
$breadtext = "$crstype Editor"; |