--- loncom/interface/londocs.pm 2023/01/18 22:34:42 1.484.2.93.2.4
+++ loncom/interface/londocs.pm 2024/07/01 18:29:41 1.484.2.94
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.484.2.93.2.4 2023/01/18 22:34:42 raeburn Exp $
+# $Id: londocs.pm,v 1.484.2.94 2024/07/01 18:29:41 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -43,7 +43,6 @@ use Apache::lonnavdisplay();
use Apache::lonextresedit();
use Apache::lontemplate();
use Apache::lonsimplepage();
-use Apache::loncourserespicker();
use HTML::Entities;
use HTML::TokeParser;
use GDBM_File;
@@ -662,7 +661,7 @@ sub recurse_html {
}
sub group_import {
- my ($coursenum, $coursedom, $folder, $container, $caller, $ltitoolsref, @files) = @_;
+ my ($coursenum, $coursedom, $folder, $container, $caller, @files) = @_;
my ($donechk,$allmaps,%hierarchy,%titles,%addedmaps,%removefrommap,
%removeparam,$importuploaded,$fixuperrors);
$allmaps = {};
@@ -691,114 +690,6 @@ sub group_import {
}
}
if ($url) {
- if ($url =~ m{^(/adm/$coursedom/$coursenum/(\d+)/ext\.tool)\:?(.*)$}) {
- $url = $1;
- my $marker = $2;
- my $info = $3;
- my ($toolid,%toolhash,%toolsettings);
- my @extras = ('linktext','explanation','crslabel','crstitle','crsappend');
- my @toolinfo = split(/:/,$info);
- if ($residx) {
- %toolsettings=&Apache::lonnet::dump('exttool_'.$marker,$coursedom,$coursenum);
- $toolid = $toolsettings{'id'};
- } else {
- $toolid = shift(@toolinfo);
- }
- $toolid =~ s/\D//g;
- ($toolhash{'target'},$toolhash{'width'},$toolhash{'height'},
- $toolhash{'linktext'},$toolhash{'explanation'},
- $toolhash{'crslabel'},$toolhash{'crstitle'},$toolhash{'crsappend'}) = @toolinfo;
- foreach my $item (@extras) {
- $toolhash{$item} = &unescape($toolhash{$item});
- }
- if (ref($ltitoolsref) eq 'HASH') {
- my @deleted;
- if (ref($ltitoolsref->{$toolid}) eq 'HASH') {
- $toolhash{'id'} = $toolid;
- if (($toolhash{'target'} eq 'iframe') || ($toolhash{'target'} eq 'tab') ||
- ($toolhash{'target'} eq 'window')) {
- if ($toolhash{'target'} eq 'window') {
- foreach my $item ('width','height') {
- $toolhash{$item} =~ s/^\s+//;
- $toolhash{$item} =~ s/\s+$//;
- if ($toolhash{$item} =~ /\D/) {
- delete($toolhash{$item});
- if ($residx) {
- if ($toolsettings{$item}) {
- push(@deleted,$item);
- }
- }
- }
- }
- }
- } elsif ($residx) {
- $toolhash{'target'} = $toolsettings{'target'};
- if ($toolhash{'target'} eq 'window') {
- foreach my $item ('width','height') {
- $toolhash{$item} = $toolsettings{$item};
- }
- }
- } elsif (ref($ltitoolsref->{$toolid}->{'display'}) eq 'HASH') {
- $toolhash{'target'} = $ltitoolsref->{$toolid}->{'display'}->{'target'};
- if ($toolhash{'target'} eq 'window') {
- $toolhash{'width'} = $ltitoolsref->{$toolid}->{'display'}->{'width'};
- $toolhash{'height'} = $ltitoolsref->{$toolid}->{'display'}->{'height'};
- }
- }
- if ($toolhash{'target'} eq 'iframe') {
- foreach my $item ('width','height','linktext','explanation') {
- delete($toolhash{$item});
- if ($residx) {
- if ($toolsettings{$item}) {
- push(@deleted,$item);
- }
- }
- }
- } elsif ($toolhash{'target'} eq 'tab') {
- foreach my $item ('width','height') {
- delete($toolhash{$item});
- if ($residx) {
- if ($toolsettings{$item}) {
- push(@deleted,$item);
- }
- }
- }
- }
- if (ref($ltitoolsref->{$toolid}->{'crsconf'}) eq 'HASH') {
- foreach my $item ('label','title','linktext','explanation') {
- my $crsitem;
- if (($item eq 'label') || ($item eq 'title')) {
- $crsitem = 'crs'.$item;
- } else {
- $crsitem = $item;
- }
- if ($ltitoolsref->{$toolid}->{'crsconf'}->{$item}) {
- $toolhash{$crsitem} =~ s/^\s+//;
- $toolhash{$crsitem} =~ s/\s+$//;
- if ($toolhash{$crsitem} eq '') {
- delete($toolhash{$crsitem});
- }
- } else {
- delete($toolhash{$crsitem});
- }
- if (($residx) && (exists($toolsettings{$crsitem}))) {
- unless (exists($toolhash{$crsitem})) {
- push(@deleted,$crsitem);
- }
- }
- }
- }
- my $putres = &Apache::lonnet::put('exttool_'.$marker,\%toolhash,$coursedom,$coursenum);
- if ($putres eq 'ok') {
- if (@deleted) {
- &Apache::lonnet::del('exttool_'.$marker,\@deleted,$coursedom,$coursenum);
- }
- } else {
- return (&mt('Failed to save update to external tool.'),1);
- }
- }
- }
- }
if (($caller eq 'londocs') &&
($folder =~ /^default/)) {
if (($url =~ /\.(page|sequence)$/) && (!$donechk)) {
@@ -810,8 +701,8 @@ sub group_import {
$donechk = 1;
}
if ($url =~ m{^/uploaded/\Q$coursedom\E/\Q$coursenum\E/(default_\d+\.)(page|sequence)$}) {
- &contained_map_check($url,$folder,$coursenum,$coursedom,\%removefrommap,
- \%removeparam,\%addedmaps,\%hierarchy,\%titles,$allmaps);
+ &contained_map_check($url,$folder,\%removefrommap,\%removeparam,
+ \%addedmaps,\%hierarchy,\%titles,$allmaps);
$importuploaded = 1;
} elsif ($url =~ m{^/res/.+\.(page|sequence)$}) {
next if ($allmaps->{$url});
@@ -984,7 +875,7 @@ sub docs_change_log {
'// '."\n".
@@ -1276,8 +1167,8 @@ sub update_paste_buffer {
$subdir = $prefix;
}
my (%addedmaps,%removefrommap,%removeparam,%hierarchy,%titles,%allmaps);
- &contained_map_check($url,$folder,$coursenum,$coursedom,\%removefrommap,
- \%removeparam,\%addedmaps,\%hierarchy,\%titles,\%allmaps);
+ &contained_map_check($url,$folder,\%removefrommap,\%removeparam,\%addedmaps,
+ \%hierarchy,\%titles,\%allmaps);
if (ref($hierarchy{$url}) eq 'HASH') {
my ($nested,$nestednames);
&recurse_uploaded_maps($url,$subdir,\%hierarchy,\%titles,\$nested,\$nestednames);
@@ -1351,12 +1242,10 @@ sub print_paste_buffer {
($url ne '')) {
$clipboardcount ++;
my ($is_external,$othercourse,$fromsupp,$is_uploaded_map,$parent,
- $canpaste,$nopaste,$othercrs,$areachange,$is_exttool);
+ $canpaste,$nopaste,$othercrs,$areachange);
my $extension = (split(/\./,$env{'docs.markedcopy_url_'.$suffix}))[-1];
if ($url =~ m{^(?:/adm/wrapper/ext|(?:http|https)(?::|:))//} ) {
$is_external = 1;
- } elsif ($url =~ m{^/adm/$match_domain/$match_courseid/\d+/ext\.tool$}) {
- $is_exttool = 1;
}
if ($folder =~ /^supplemental/) {
$canpaste = &supp_pasteable($env{'docs.markedcopy_url_'.$suffix});
@@ -1389,16 +1278,11 @@ sub print_paste_buffer {
$is_uploaded_map = 1;
}
} elsif (($url =~ m{^/res/lib/templates/\w+\.problem$}) ||
- ($url =~ m{^/adm/($match_domain)/($match_username)/\d+/(bulletinboard|smppg|ext\.tool)$})) {
+ ($url =~ m{^/adm/($match_domain)/($match_username)/\d+/(bulletinboard|smppg)$})) {
if ($cid ne $env{'request.course.id'}) {
my ($srcdom,$srcnum) = split(/_/,$cid);
if ($env{"user.priv.cm./$srcdom/$srcnum"} =~ /\Q:mdc&F\E/) {
- if (($is_exttool) && ($srcdom ne $coursedom)) {
- $canpaste = 0;
- $nopaste = &mt('Paste from another domain unavailable.');
- } else {
- $othercrs = '
'.&mt('(from another course)');
- }
+ $othercrs = '
'.&mt('(from another course)');
} else {
$canpaste = 0;
$nopaste = &mt('Paste from another course unavailable.');
@@ -1414,9 +1298,6 @@ sub print_paste_buffer {
$buffer = &mt('External Resource').': '.
&LONCAPA::map::qtescape($env{'docs.markedcopy_title_'.$suffix}).' ('.
&LONCAPA::map::qtescape($url).')';
- } elsif ($is_exttool) {
- $buffer = &mt('External Tool').': '.
- &LONCAPA::map::qtescape($env{'docs.markedcopy_title_'.$suffix});
} else {
my $icon = &Apache::loncommon::icon($extension);
if ($extension eq 'sequence' &&
@@ -1446,7 +1327,7 @@ sub print_paste_buffer {
}
$pasteitems .= '';
if ($nopaste) {
- $pasteitems .= ' '.$nopaste.'';
+ $pasteitems .= $nopaste;
} else {
if ($othercrs) {
$pasteitems .= $othercrs;
@@ -1472,7 +1353,7 @@ sub print_paste_buffer {
}
$buttons = ''.(' 'x2);
}
- $buttons .= ''.(' 'x2);
+ $buttons .= ''.(' 'x2);
if ($clipboardcount > 1) {
$buttons .=
''.(' 'x20).''.(' 'x2).
@@ -1573,8 +1454,7 @@ sub supp_pasteable {
(($url =~ /\.sequence$/) && ($url =~ m{^/uploaded/})) ||
($url =~ m{^/uploaded/$match_domain/$match_courseid/(docs|supplemental)/(default|\d+)/\d+/}) ||
($url =~ m{^/adm/$match_domain/$match_username/aboutme}) ||
- ($url =~ m{^/public/$match_domain/$match_courseid/syllabus}) ||
- ($url =~ m{^/adm/$match_domain/$match_courseid/\d+/ext\.tool$})) {
+ ($url =~ m{^/public/$match_domain/$match_courseid/syllabus})) {
return 1;
}
return;
@@ -1696,7 +1576,7 @@ sub do_paste_from_buffer {
return();
}
- my (%msgs,%before,%after,@dopaste,%is_map,%notinsupp,%notincrs,%notindom,%duplicate,
+ my (%msgs,%before,%after,@dopaste,%is_map,%notinsupp,%notincrs,%duplicate,
%prefixchg,%srcdom,%srcnum,%srcmapidx,%marktomove,$save_err,$lockerrors,$allresult);
foreach my $suffix (@topaste) {
@@ -1724,24 +1604,6 @@ sub do_paste_from_buffer {
}
$srcdom{$suffix} = $srcd;
$srcnum{$suffix} = $srcn;
- } elsif ($url =~ m{^/adm/$match_domain/$match_courseid/\d+/ext\.tool$}) {
- my ($srcd,$srcn) = split(/_/,$cid);
-# When paste buffer was populated using an active role in a different course
-# check for mdc privilege in the course from which the resource was pasted
- if (($srcd ne $coursedom) || ($srcn ne $coursenum)) {
- unless ($env{"user.priv.cm./$srcd/$srcn"} =~ /\Q:mdc&F\E/) {
- $notincrs{$suffix} = 1;
- next;
- }
- }
-# When buffer was populated using an active role in a different course
-# disallow pasting of External Tool if course is in a different domain.
- if ($srcd ne $coursedom) {
- $notindom{$suffix} = 1;
- next;
- }
- $srcdom{$suffix} = $srcd;
- $srcnum{$suffix} = $srcn;
} elsif (($url =~ m{^/res/lib/templates/\w+\.problem$}) ||
($url =~ m{^/adm/$match_domain/$match_username/\d+/(bulletinboard|smppg)$})) {
my ($srcd,$srcn) = split(/_/,$cid);
@@ -1806,7 +1668,6 @@ sub do_paste_from_buffer {
%msgs = &Apache::lonlocal::texthash (
notinsupp => 'Paste failed: content type is not supported within Supplemental Content',
notincrs => 'Paste failed: Item is from a different course which you do not have rights to edit.',
- notindom => 'Paste failed: Item is an external tool from a course in a different donain.',
duplicate => 'Paste failed: only one instance of a particular published sequence or page is allowed within each course.',
);
@@ -1860,9 +1721,8 @@ sub do_paste_from_buffer {
$env{'request.course.id'});
$donechk = 1;
}
- &contained_map_check($url,$folder,$coursenum,$coursedom,
- \%removefrommap,\%removeparam,\%addedmaps,
- \%hierarchy,\%titles,$allmaps);
+ &contained_map_check($url,$folder,\%removefrommap,\%removeparam,
+ \%addedmaps,\%hierarchy,\%titles,$allmaps);
if ($url=~ m{^/uploaded/}) {
my $newurl;
unless ($env{'form.docs.markedcopy_options_'.$suffix} eq 'move') {
@@ -1915,7 +1775,7 @@ sub do_paste_from_buffer {
}
}
}
- if ($url=~ m{/(bulletinboard|smppg|ext\.tool)$}) {
+ if ($url=~ m{/(bulletinboard|smppg)$}) {
my $prefix = $1;
my $fromothercrs;
#need to copy the db contents to a new one, unless this is a move.
@@ -1943,8 +1803,6 @@ sub do_paste_from_buffer {
$msg = &mt('Paste failed: An error occurred when copying the simple page.').' '.$errtext;
} elsif ($prefix eq 'bulletinboard') {
$msg = &mt('Paste failed: An error occurred when copying the discussion board.').' '.$errtext;
- } elsif ($prefix eq 'ext.tool') {
- $msg = &mt('Paste failed: An error occurred when copying the external tool.').' '.$errtext;
}
$results{$suffix} = $result;
$msgerrs{$suffix} = $msg;
@@ -2204,11 +2062,8 @@ sub dbcopy {
my ($url,$result,$errtext);
if (ref($dbref) eq 'HASH') {
$url = $dbref->{'src'};
- if ($url =~ m{/(smppg|bulletinboard|ext\.tool)$}) {
+ if ($url =~ m{/(smppg|bulletinboard)$}) {
my $prefix = $1;
- if ($prefix eq 'ext.tool') {
- $prefix = 'exttool';
- }
if (($dbref->{'cdom'} =~ /^$match_domain$/) &&
($dbref->{'cnum'} =~ /^$match_courseid$/)) {
my $db_name;
@@ -2219,8 +2074,6 @@ sub dbcopy {
&Apache::lonsimplepage::get_db_name($url,$marker,
$dbref->{'cdom'},
$dbref->{'cnum'});
- } elsif ($dbref->{'src'} =~ m{/ext\.tool$}) {
- $db_name = 'exttool_'.$marker;
} else {
$db_name = 'bulletinpage_'.$marker;
}
@@ -2231,8 +2084,6 @@ sub dbcopy {
if (!$suffix) {
if ($prefix eq 'smppg') {
$errtext = &mt('Failed to acquire a unique timestamp-based suffix when copying a simple page [_1].',$url);
- } elsif ($prefix eq 'exttool') {
- $errtext = &mt('Failed to acquire a unique timestamp-based suffix when copying an external tool [_1].',$url);
} else {
$errtext = &mt('Failed to acquire a unique timestamp-based suffix when copying a discussion board [_1].',$url);
}
@@ -2266,7 +2117,7 @@ sub dbcopy {
$result=&Apache::lonnet::put($db_name,\%contents,
$coursedom,$coursenum);
if ($result eq 'ok') {
- $url =~ s{/(\d*)/(smppg|bulletinboard|ext\.tool)$}{/$suffix/$2}x;
+ $url =~ s{/(\d*)/(smppg|bulletinboard)$}{/$suffix/$2}x;
}
}
if (($freedlock ne 'ok') && (ref($lockerrorsref) eq 'HASH')) {
@@ -2276,9 +2127,6 @@ sub dbcopy {
if ($prefix eq 'smppg') {
$lockerrorsref->{$prefix} .=
' '.&mt('This will prevent creation of additional simple pages in this course.');
- } elsif ($prefix eq 'exttool') {
- $lockerrorsref->{$prefix} .=
- ' '.&mt('This will prevent addition of more external tools to this course.');
} else {
$lockerrorsref->{$prefix} .= ' '.&mt('This will prevent creation of additional discussion boards in this course.');
}
@@ -2410,8 +2258,8 @@ sub uniqueness_check {
}
sub contained_map_check {
- my ($url,$folder,$coursenum,$coursedom,$removefrommap,$removeparam,$addedmaps,
- $hierarchy,$titles,$allmaps) = @_;
+ my ($url,$folder,$removefrommap,$removeparam,$addedmaps,$hierarchy,$titles,
+ $allmaps) = @_;
my $content = &Apache::lonnet::getfile($url);
unless ($content eq '-1') {
my $parser = HTML::TokeParser->new(\$content);
@@ -2440,8 +2288,7 @@ sub contained_map_check {
$addedmaps->{$ressrc} = [$url];
}
}
- &contained_map_check($ressrc,$folder,$coursenum,$coursedom,
- $removefrommap,$removeparam,
+ &contained_map_check($ressrc,$folder,$removefrommap,$removeparam,
$addedmaps,$hierarchy,$titles,$allmaps);
}
} elsif ($token->[1] eq 'param') {
@@ -2716,15 +2563,6 @@ sub apply_fixups {
$storefn =~ s/^((?:default|supplemental)_)(\d+)/$1$newsubdir{$key}/;
}
my $mapcontent = &Apache::lonnet::getfile($key);
- if (($mapcontent eq '-1') && ($before{'map'} eq 'supplemental') &&
- ($after{'map'} eq 'default') &&
- ($key =~ m{^/uploaded/$match_domain/$match_courseid/supplemental_\d+\.sequence$})) {
- $mapcontent = '';
- }
if ($mapcontent eq '-1') {
if (ref($errors) eq 'HASH') {
$errors->{$key} = 1;
@@ -3007,7 +2845,7 @@ sub update_parameter {
my ($name,$url)=split(/\:/,$LONCAPA::map::resources[$res]);
$name=&LONCAPA::map::qtescape($name);
$url=&LONCAPA::map::qtescape($url);
- next unless ($name && $url);
+ next unless ($url);
my $is_map;
if ($url =~ m{/uploaded/.+\.(page|sequence)$}) {
$is_map = 1;
@@ -3139,8 +2977,8 @@ sub handle_edit_cmd {
sub editor {
my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$crstype,
- $supplementalflag,$orderhash,$iconpath,$pathitem,$ltitoolsref,
- $canedit,$hostname,$navmapref,$hiddentop)=@_;
+ $supplementalflag,$orderhash,$iconpath,$pathitem,$canedit,
+ $hostname,$navmapref,$hiddentop)=@_;
my ($randompick,$ishidden,$isencrypted,$plain,$is_random_order,$container);
if ($allowed) {
(my $breadcrumbtrail,$randompick,$ishidden,$isencrypted,$plain,
@@ -3351,17 +3189,6 @@ sub editor {
} else {
return $errortxt;
}
- } elsif ($url =~ m{^/adm/$coursedom/$coursenum/new/ext\.tool}) {
- my ($suffix,$errortxt,$locknotfreed) =
- &new_timebased_suffix($coursedom,$coursenum,'exttool');
- if ($locknotfreed) {
- $r->print($locknotfreed);
- }
- if ($suffix) {
- $url =~ s{^(/adm/$coursedom/$coursenum)/new}{$1/$suffix};
- } else {
- return $errortxt;
- }
} elsif ($url =~ m{^/uploaded/$coursedom/$coursenum/(docs|supplemental)/(default|\d+)/new.html$}) {
if ($supplementalflag) {
next unless ($1 eq 'supplemental');
@@ -3384,7 +3211,7 @@ sub editor {
}
($errtext,$fatal,my $fixuperrors) =
&group_import($coursenum, $coursedom, $folder,$container,
- 'londocs',$ltitoolsref,@imports);
+ 'londocs',@imports);
return $errtext if ($fatal);
if ($fixuperrors) {
$r->print($fixuperrors);
@@ -3470,7 +3297,7 @@ sub editor {
$output .= &entryline($idx,$name,$url,$folder,$allowed,$res,
$coursenum,$coursedom,$crstype,
$pathitem,$supplementalflag,$container,
- \%filters,\%curr_groups,$ltitoolsref,$canedit,
+ \%filters,\%curr_groups,$canedit,
$isencrypted,$navmapref,$hostname);
$idx++;
$shown++;
@@ -3850,7 +3677,7 @@ sub is_supplemental_title {
sub entryline {
my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$coursedom,
$crstype,$pathitem,$supplementalflag,$container,$filtersref,$currgroups,
- $ltitoolsref,$canedit,$isencrypted,$navmapref,$hostname)=@_;
+ $canedit,$isencrypted,$navmapref,$hostname)=@_;
my ($foldertitle,$renametitle,$oldtitle);
if (&is_supplemental_title($title)) {
($title,$foldertitle,$renametitle) = &Apache::loncommon::parse_supplemental_title($title);
@@ -3877,7 +3704,7 @@ sub entryline {
my $line=&Apache::loncommon::start_data_table_row();
my ($form_start,$form_end,$form_common,$form_param);
# Edit commands
- my ($esc_path, $path, $symb, $shownsymb);
+ my ($esc_path, $path, $symb);
if ($env{'form.folderpath'}) {
$esc_path=&escape($env{'form.folderpath'});
$path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"');
@@ -3947,7 +3774,6 @@ END
'rn' => 'Rename',
'cp' => 'Copy',
'ex' => 'External Resource',
- 'et' => 'External Tool',
'ed' => 'Edit',
'pr' => 'Preview',
'sv' => 'Save',
@@ -3967,7 +3793,6 @@ END
|/aboutme$
|/navmaps$
|/bulletinboard$
- |/ext\.tool$
|\.html$)}x)
|| $isexternal) {
$skip_confirm = 1;
@@ -4134,8 +3959,6 @@ END
if (($ENV{'SERVER_PORT'} == 443) && ($exturl !~ /^https:/)) {
$nomodal = 1;
}
- } elsif ($url=~m{^/adm/$coursedom/$coursenum/\d+/ext\.tool$}) {
- $url='/adm/wrapper'.$url;
} elsif ($url eq "/public/$coursedom/$coursenum/syllabus") {
if (($ENV{'SERVER_PORT'} == 443) &&
($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ m{^http://})) {
@@ -4146,7 +3969,7 @@ END
}
}
if (&Apache::lonnet::symbverify($symb,$url)) {
- $shownsymb = $symb;
+ my $shownsymb = $symb;
if ($isexternal) {
$url =~ s/\#[^#]+$//;
if ($container eq 'page') {
@@ -4181,7 +4004,7 @@ END
}
}
if ($checkencrypt) {
- $shownsymb = &Apache::lonenc::encrypted($symb);
+ my $shownsymb = &Apache::lonenc::encrypted($symb);
my $shownurl = &Apache::lonenc::encrypted($url);
if (&Apache::lonnet::symbverify($shownsymb,$shownurl)) {
$url = $shownurl.(($shownurl=~/\?/)?'&':'?').'symb='.&escape($shownsymb);
@@ -4312,17 +4135,12 @@ $form_common."\n".
$form_end;
}
} elsif ($supplementalflag && !$allowed) {
- my $isexttool;
- if ($url=~m{^/adm/$coursedom/$coursenum/\d+/ext\.tool$}) {
- $url='/adm/wrapper'.$url;
- $isexttool = 1;
- }
$url .= ($url =~ /\?/) ? '&':'?';
$url .= 'folderpath='.&HTML::Entities::encode($esc_path,'<>&"');
if ($title) {
$url .= '&title='.&HTML::Entities::encode($renametitle,'<>&"');
}
- if ((($isexternal) || ($isexttool)) && $orderidx) {
+ if ($isexternal && $orderidx) {
$url .= '&idx='.$orderidx;
}
if ($anchor ne '') {
@@ -4336,13 +4154,7 @@ $form_end;
if ($isexternal) {
($editlink,$extresform) =
&Apache::lonextresedit::extedit_form(0,$residx,$orig_url,$title,$pathitem,
- undef,undef,undef,undef,undef,undef,
- undef,$disabled);
- } elsif ($orig_url =~ m{^/adm/$coursedom/$coursenum/\d+/ext\.tool$}) {
- ($editlink,$extresform) =
- &Apache::lonextresedit::extedit_form(0,$residx,$orig_url,$title,$pathitem,
- undef,undef,undef,'tool',$coursedom,
- $coursenum,$ltitoolsref,$disabled);
+ undef,undef,undef,$disabled);
} elsif (!$isfolder && !$ispage) {
my ($cfile,$home,$switchserver,$forceedit,$forceview) =
&Apache::lonnet::can_edit_resource($fileloc,$coursenum,$coursedom,$orig_url);
@@ -4355,7 +4167,7 @@ $form_end;
&Apache::lonhtmlcommon::jump_to_editres($cfile,$home,
$switchserver,
$forceedit,
- undef,$symb,$shownsymb,
+ undef,$symb,
&escape($env{'form.folderpath'}),
$renametitle,$hostname,
'','',1,$suppanchor);
@@ -4553,8 +4365,6 @@ sub new_timebased_suffix {
$errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new folder/page.');
} elsif ($type eq 'smppg') {
$errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new simple page.');
- } elsif ($type eq 'exttool') {
- $errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new external tool.');
} else {
$errtext = &mt('Failed to acquire a unique timestamp-based suffix for the new discussion board.');
}
@@ -4583,9 +4393,6 @@ sub new_timebased_suffix {
} elsif ($type eq 'smppg') {
$locknotfreed .=
&mt('This will prevent creation of additional simple pages in this course.');
- } elsif ($type eq 'exttool') {
- $locknotfreed .=
- &mt('This will prevent creation of additional external tools in this course.');
} else {
$locknotfreed .=
&mt('This will prevent creation of additional discussion boards in this course.');
@@ -4769,48 +4576,6 @@ sub list_symbs {
$r->print(&endContentScreen());
}
-sub short_urls {
- my ($r,$canedit) = @_;
- my $crstype = &Apache::loncommon::course_type();
- my $formname = 'shortenurl';
- $r->print(&Apache::loncommon::start_page('Display/Set Shortened URLs'));
- $r->print(&Apache::lonhtmlcommon::breadcrumbs('Shortened URLs'));
- $r->print(&startContentScreen('tools'));
- my ($navmap,$errormsg) =
- &Apache::loncourserespicker::get_navmap_object($crstype,'shorturls');
- my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
- my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
- my (%maps,%resources,%titles);
- if (!ref($navmap)) {
- $r->print($errormsg.
- &endContentScreen());
- return '';
- } else {
- $r->print('
'.&mt('Created [quant,_1,URL]',$numnew).'
'); - } - if ((ref($errors) eq 'ARRAY') && (@{$errors} > 0)) { - $r->print(&mt('The following errors occurred when processing your request to create shortened URLs:').''.$error.'
'); @@ -6304,11 +6051,6 @@ SNFFORM &Apache::lonextresedit::extedit_form(1,0,undef,undef,$pathitem, $help{'Adding_External_Resource'}, undef,undef,$disabled); - my $supexttoolform = - &Apache::lonextresedit::extedit_form(1,0,undef,undef,$pathitem, - $help{'Adding_External_Tool'}, - undef,undef,'tool',$coursedom, - $coursenum,\%ltitools,$disabled); my $supnewsylform=(<'.$error.'
'); } else { @@ -6603,7 +6339,6 @@ sub generate_admin_menu { 'vc' => 'Verify Content', 'cv' => 'Check/Set Resource Versions', 'ls' => 'List Resource Identifiers', - 'ct' => 'Display/Set Shortened URLs for Deep-linking', 'imse' => 'Export contents to IMS Archive', 'dcd' => "Copy $crstype Content to Authoring Space", ); @@ -6654,13 +6389,6 @@ sub generate_admin_menu { icon => 'symbs.png', linktitle => "List the unique identifier used for each resource instance in your $lc_crstype" }, - { linktext => $lt{'ct'}, - url => "javascript:injectData(document.courseverify,'dummy','shorturls','$lt{'ct'}')", - permission => 'F', - help => 'Docs_Short_URLs', - icon => 'shorturls.png', - linktitle => "Set shortened URLs for a resource or folder in your $lc_crstype for use in deep-linking" - }, ] }); if ($canedit) { @@ -6791,7 +6519,7 @@ END } sub editing_js { - my ($udom,$uname,$supplementalflag,$coursedom,$coursenum,$posslti, + my ($udom,$uname,$supplementalflag,$coursedom,$coursenum, $canedit,$hostname,$navmapref) = @_; my %js_lt = &Apache::lonlocal::texthash( p_mnf => 'Name of New Folder', @@ -6908,17 +6636,11 @@ sub editing_js { } my $fieldsets = "'ext','doc'"; - if ($posslti) { - $fieldsets .= ",'tool'"; - } unless ($main_container_page) { $fieldsets .=",'ims'"; } if ($supplementalflag) { $fieldsets = "'suppext','suppdoc'"; - if ($posslti) { - $fieldsets .= ",'supptool'"; - } } my $jsmakefunctions; @@ -7115,19 +6837,6 @@ function toggleUpload(caller) { } } document.getElementById('upload'+blocks[i]+'form').style.display=disp; - if ((caller == 'tool') || (caller == 'supptool')) { - if (disp == 'block') { - if (document.getElementById('LC_exttoolid')) { - var toolselector = document.getElementById('LC_exttoolid'); - var suppflag = 0; - if (caller == 'supptool') { - suppflag = 1; - } - currForm = document.getElementById('new'+caller); - updateExttool(toolselector,currForm,suppflag); - } - } - } } resize_scrollbox('contentscroll','1','1'); return;