--- loncom/interface/lonhtmlcommon.pm 2023/10/06 15:24:21 1.358.2.19.2.9
+++ loncom/interface/lonhtmlcommon.pm 2024/10/21 15:06:06 1.358.2.23
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.358.2.19.2.9 2023/10/06 15:24:21 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.358.2.23 2024/10/21 15:06:06 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -78,11 +78,7 @@ sub java_not_enabled {
sub coursepreflink {
my ($text,$category)=@_;
if (&Apache::lonnet::allowed('opa',$env{'request.course.id'})) {
- my $target =' target="_top"';
- if (($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self')) {
- $target = '';
- }
- return '&"').'">'.$text.'';
+ return '&"').'">'.$text.'';
} else {
return '';
}
@@ -105,11 +101,7 @@ sub direct_parm_link {
$filter=&entity_encode($filter);
$part=&entity_encode($part);
if (($symb) && (&Apache::lonnet::allowed('opa')) && ($target ne 'tex')) {
- my $target=' target="_top"';
- if (($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self')) {
- $target = '';
- }
- return "$linktext";
+ return "$linktext";
} else {
return $linktext;
}
@@ -856,14 +848,13 @@ parameter setting wizard.
##############################################
sub pjump_javascript_definition {
my $Str = <
-
-
+
+
+
@@ -1687,29 +1678,13 @@ sub show_return_link {
unless ($env{'request.course.id'}) { return 0; }
if ($env{'request.noversionuri'}=~m{^/priv/} ||
$env{'request.uri'}=~m{^/priv/}) { return 1; }
- return if (($env{'request.noversionuri'} eq '/adm/supplemental') &&
- ($env{'form.folder'} ne 'supplemental'));
- return if (($env{'form.folderpath'} ne '') &&
- (($env{'request.noversionuri'} =~ m{^/adm/$match_domain/$match_username/aboutme$}) ||
- ($env{'request.noversionuri'} =~ m{^/public/$match_domain/$match_courseid/syllabus$})));
+ return if ($env{'request.noversionuri'} eq '/adm/supplemental');
+
if (($env{'request.noversionuri'} =~ m{^/adm/viewclasslist($|\?)})
|| ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) {
return if ($env{'form.register'});
}
- if ((($env{'request.symb'} ne '') || ($env{'form.folderpath'} ne '')) &&
- ($env{'request.noversionuri'} =~m{^/adm/coursedocs/showdoc/uploaded/($match_domain)/($match_courseid)/(docs|supplemental)/})) {
- my ($cdom,$cnum,$area) = ($1,$2,$3);
- if (($env{'course.'.$env{'request.course.id'}.'.domain'} eq $cdom) &&
- ($env{'course.'.$env{'request.course.id'}.'.num'} eq $cnum)) {
- if (($env{'request.symb'}) && ($area eq 'docs')) {
- my ($map,$resid,$url) = &Apache::lonnet::decode_symb($env{'request.symb'});
- return if ($env{'request.noversionuri'} eq '/adm/coursedocs/showdoc/'.$url);
- } elsif (($env{'form.folderpath'}) && ($area eq 'supplemental')) {
- return;
- }
- }
- }
return (($env{'request.noversionuri'}=~m{^/(res|public)/} &&
$env{'request.symb'} eq '')
||
@@ -1718,7 +1693,7 @@ sub show_return_link {
(($env{'request.noversionuri'}=~/^\/adm\//) &&
($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&
($env{'request.noversionuri'}!~
- m{^/adm/.*/(smppg|bulletinboard|ext\.tool)($|\?)})
+ m{^/adm/.*/(smppg|bulletinboard)($|\?)})
));
}
@@ -1797,13 +1772,19 @@ sub dash_to_minus_js {
document.addEventListener("DOMContentLoaded", (event) => {
const numresp = document.querySelectorAll("input.LC_numresponse_text");
if (numresp.length > 0) {
- numresp.forEach((el) => {
+ Array.from(numresp).forEach((el) => {
el.addEventListener("paste", (e) => {
e.preventDefault();
e.stopPropagation();
let p = (e.clipboardData || window.clipboardData).getData("text");
p.toString();
- p = p.replace(/\p{Dash}/gu, '-');
+ var regex;
+ try
+ {
+ regex = new RegExp ("\\p{Dash}", "gu");
+ }
+ catch (e) { regex = new RegExp ("[\\u058A\\u05BE\\u1400\\u1806\\u2010-\\u2015\\u2212\\u2E3A\\u2E3B\\u2E5D\\u301C\\uFE58\\uFE63\\uFF0D]","g"); }
+ p = p.replace(regex,'-');
putInText(p);
});
});
@@ -1847,7 +1828,6 @@ Inputs: $component (the text on the righ
row, using loncommon::help_open_topic() to generate the link.
$topic_help_text (text to include in the link in the optional help item
on the right side of the breadcrumbs row.
- $links_target optionally includes the target (_top, _parent or _self)
Returns a string containing breadcrumbs for the current page.
@@ -1876,7 +1856,7 @@ returns: nothing
sub breadcrumbs {
my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt,
- $CourseBreadcrumbs,$topic_help,$topic_help_text,$links_target) = @_;
+ $CourseBreadcrumbs,$topic_help,$topic_help_text) = @_;
#
$css_class ||= 'LC_breadcrumbs';
@@ -1892,16 +1872,6 @@ returns: nothing
# The first one should be the course or a menu link
if (!defined($menulink)) { $menulink=1; }
if ($menulink) {
- if ($env{'request.course.id'}) {
- my ($menucoll,$deeplinkmenu,$menuref) = &Apache::loncommon::menucoll_in_effect();
- if (($menucoll) && (ref($menuref) eq 'HASH')) {
- if ($menuref->{'main'} eq 'n') {
- undef($menulink);
- }
- }
- }
- }
- if ($menulink) {
my $description = 'Menu';
my $no_mt_descr = 0;
if ((exists($env{'request.course.id'})) &&
@@ -1919,15 +1889,9 @@ returns: nothing
}
}
}
- my $target = '_top';
- if ($links_target) {
- $target = $links_target;
- } elsif (($env{'request.deeplink.login'}) && ($env{'request.deeplink.target'} eq '_self')) {
- $target = '';
- }
$menulink = { href =>'/adm/menu',
title =>'Go to main menu',
- target =>$target,
+ target =>'_top',
text =>$description,
no_mt =>$no_mt_descr, };
if($last) {
@@ -1945,8 +1909,8 @@ returns: nothing
title => &mt('Back to most recent content resource'),
class => 'LC_menubuttons_link',
};
- if ($links_target) {
- $hashref->{'target'} = $links_target;
+ if ($env{'request.noversionuri'} eq '/adm/searchcat') {
+ $hashref->{'target'} = '_top';
}
$links=&htmltag( 'a','
',
$hashref);
@@ -1997,12 +1961,11 @@ returns: nothing
if ($faq ne '' || $component_help ne '' || $bug ne '') {
$icons .= &Apache::loncommon::help_open_menu($component,
$component_help,
- $faq,$bug,'','','','',
- $links_target);
+ $faq,$bug);
}
if ($topic_help && $topic_help_text) {
$icons .= ' '.&Apache::loncommon::help_open_topic($topic_help,&mt($topic_help_text),'',
- undef,600,'',$links_target);
+ undef,600);
}
#
@@ -2180,7 +2143,7 @@ returns: nothing
} # End of scope for @Crumbs
sub docs_breadcrumbs {
- my ($allowed,$crstype,$contenteditor,$title,$precleared,$checklinkprot)=@_;
+ my ($allowed,$crstype,$contenteditor,$title,$precleared)=@_;
my ($folderpath,@folders,$supplementalflag);
@folders = split('&',$env{'form.folderpath'});
if ($env{'form.folderpath'} =~ /^supplemental/) {
@@ -2206,10 +2169,8 @@ sub docs_breadcrumbs {
# each of randompick number, hidden, encrypted, random order, is_page
# are appended with ":"s to the foldername
$name=~s/\:(\d*)\:(\w*)\:(\w*):(\d*)\:?(\d*)$//;
- if ($contenteditor) {
- if ($supplementalflag) {
- if ($2) { $ishidden=1; }
- } else {
+ unless ($supplementalflag) {
+ if ($contenteditor) {
if ($1 ne '') {
$randompick=$1;
} else {
@@ -2250,17 +2211,9 @@ sub docs_breadcrumbs {
$plain=~s/\>\;\s*$//;
}
my $menulink = 0;
- if (!$allowed && !$contenteditor && !$supplementalflag) {
+ if (!$allowed && !$contenteditor) {
$menulink = 1;
}
- if ($checklinkprot) {
- if ($env{'request.deeplink.login'}) {
- my $linkprotout = &Apache::lonmenu::linkprot_exit();
- if ($linkprotout) {
- &Apache::lonhtmlcommon::add_breadcrumb_tool('tools',$linkprotout);
- }
- }
- }
return (&breadcrumbs(undef,undef,$menulink,'nohelp',undef,undef,
$contenteditor),
$randompick,$ishidden,$isencrypted,$plain,
@@ -3556,7 +3509,7 @@ sub jump_to_editres {
if ($forcereg) {
$cfile .= '®ister=1';
}
- $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."','$target')";
+ $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."','$target');";
}
} else {
unless ($cfile =~ m{^/priv/}) {