version 1.509.2.5.2.1, 2017/06/13 16:20:43
|
version 1.509.2.9, 2019/02/03 22:25:47
|
Line 643 sub getDescription {
|
Line 643 sub getDescription {
|
} elsif ($slot_status == $res->RESERVABLE) { |
} elsif ($slot_status == $res->RESERVABLE) { |
$slotmsg = &mt('Reservable, reservations close [_1]', |
$slotmsg = &mt('Reservable, reservations close [_1]', |
timeToHumanString($slot_time,'end')); |
timeToHumanString($slot_time,'end')); |
|
} elsif ($slot_status == $res->NEEDS_CHECKIN) { |
|
$slotmsg = &mt('Reserved, check-in needed - ends [_1]', |
|
timeToHumanString($slot_time,'end')); |
} elsif ($slot_status == $res->RESERVABLE_LATER) { |
} elsif ($slot_status == $res->RESERVABLE_LATER) { |
$slotmsg = &mt('Reservable, reservations open [_1]', |
$slotmsg = &mt('Reservable, reservations open [_1]', |
timeToHumanString($slot_time,'start')); |
timeToHumanString($slot_time,'start')); |
Line 938 sub render_resource {
|
Line 941 sub render_resource {
|
# links to open and close the folder |
# links to open and close the folder |
|
|
my $whitespace = $location.'/whitespace_21.gif'; |
my $whitespace = $location.'/whitespace_21.gif'; |
my $linkopen = "<img src='$whitespace' alt='' />"."<a href=\"$link\">"; |
my $linkopen = "<img src='$whitespace' alt='' />"; |
|
my $nomodal; |
|
if (($params->{'modalLink'}) && (!$resource->is_sequence())) { |
|
if ($link =~m{^(?:|/adm/wrapper)/ext/([^#]+)}) { |
|
my $exturl = $1; |
|
if (($ENV{'SERVER_PORT'} == 443) && ($exturl !~ /^https:/)) { |
|
$nomodal = 1; |
|
} |
|
} elsif (($link eq "/public/$LONCAPA::match_domain/$LONCAPA::match_courseid/syllabus") && |
|
($env{'request.course.id'}) && ($ENV{'SERVER_PORT'} == 443) && |
|
($env{'course.'.$env{'request.course.id'}.'.externalsyllabus'} =~ m{^http://})) { |
|
$nomodal = 1; |
|
} |
|
my $esclink = &js_escape($link); |
|
if ($nomodal) { |
|
$linkopen .= "<a href=\"#\" onclick=\"javascript:window.open('$esclink','resourcepreview','height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1'); return false;\" />"; |
|
} else { |
|
$linkopen .= "<a href=\"$link\" onclick=\"javascript:openMyModal('$esclink',600,500,'yes','true'); return false;\">"; |
|
} |
|
} else { |
|
$linkopen .= "<a href=\"$link\">"; |
|
} |
my $linkclose = "</a>"; |
my $linkclose = "</a>"; |
|
|
# Default icon: unknown page |
# Default icon: unknown page |
Line 1063 sub render_resource {
|
Line 1087 sub render_resource {
|
} |
} |
|
|
if (!$params->{'resource_nolink'} && !$resource->is_sequence() && !$resource->is_empty_sequence) { |
if (!$params->{'resource_nolink'} && !$resource->is_sequence() && !$resource->is_empty_sequence) { |
$result .= "$curMarkerBegin<a href=\"$link\">$title$partLabel</a>$curMarkerEnd$editmapLink$nonLinkedText</td>"; |
$linkclose = '</a>'; |
} else { |
if ($params->{'modalLink'}) { |
$result .= "$curMarkerBegin$linkopen$title$partLabel</a>$curMarkerEnd$editmapLink$nonLinkedText</td>"; |
my $esclink = &js_escape($link); |
|
if ($nomodal) { |
|
$linkopen = "<a href=\"#\" onclick=\"javascript:window.open('$esclink','resourcepreview','height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1'); return false;\" />"; |
|
} else { |
|
$linkopen = "<a href=\"$link\" onclick=\"javascript:openMyModal('$esclink',600,500,'yes','true'); return false;\">"; |
|
} |
|
} else { |
|
$linkopen = "<a href=\"$link\">"; |
|
} |
} |
} |
|
$result .= "$curMarkerBegin$linkopen$title$partLabel$linkclose$curMarkerEnd$editmapLink$nonLinkedText</td>"; |
|
|
return $result; |
return $result; |
} |
} |
Line 1420 sub render {
|
Line 1453 sub render {
|
if ($args->{'iterator_map'}) { |
if ($args->{'iterator_map'}) { |
my $map = $args->{'iterator_map'}; |
my $map = $args->{'iterator_map'}; |
$map = $navmap->getResourceByUrl($map); |
$map = $navmap->getResourceByUrl($map); |
my $firstResource = $map->map_start(); |
if (ref($map)) { |
my $finishResource = $map->map_finish(); |
my $firstResource = $map->map_start(); |
|
my $finishResource = $map->map_finish(); |
$args->{'iterator'} = $it = $navmap->getIterator($firstResource, $finishResource, $filterHash, $condition); |
$args->{'iterator'} = $it = $navmap->getIterator($firstResource, $finishResource, $filterHash, $condition); |
|
} else { |
|
return; |
|
} |
} else { |
} else { |
$args->{'iterator'} = $it = $navmap->getIterator(undef, undef, $filterHash, $condition,undef,$args->{'include_top_level_map'}); |
$args->{'iterator'} = $it = $navmap->getIterator(undef, undef, $filterHash, $condition,undef,$args->{'include_top_level_map'}); |
} |
} |
Line 1687 END
|
Line 1723 END
|
} |
} |
|
|
|
|
|
my $inhibitmenu; |
|
if ($args->{'modalLink'}) { |
|
$inhibitmenu = '&inhibitmenu=yes'; |
|
} |
|
|
while (1) { |
while (1) { |
if ($args->{'sort'}) { |
if ($args->{'sort'}) { |
$curRes = shift(@resources); |
$curRes = shift(@resources); |
Line 1823 END
|
Line 1864 END
|
my $srcHasQuestion = $src =~ /\?/; |
my $srcHasQuestion = $src =~ /\?/; |
$args->{"resourceLink"} = $src. |
$args->{"resourceLink"} = $src. |
($srcHasQuestion?'&':'?') . |
($srcHasQuestion?'&':'?') . |
'symb=' . &escape($symb).$anchor; |
'symb=' . &escape($symb).$inhibitmenu.$anchor; |
} |
} |
# Now, we've decided what parts to show. Loop through them and |
# Now, we've decided what parts to show. Loop through them and |
# show them. |
# show them. |
Line 2237 sub generate_email_discuss_status {
|
Line 2278 sub generate_email_discuss_status {
|
foreach my $msgid (@keys) { |
foreach my $msgid (@keys) { |
if ((!$emailstatus{$msgid}) || ($emailstatus{$msgid} eq 'new')) { |
if ((!$emailstatus{$msgid}) || ($emailstatus{$msgid} eq 'new')) { |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid, |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid, |
$symb,$error) = &Apache::lonmsg::unpackmsgid($msgid); |
$symb,$error) = &Apache::lonmsg::unpackmsgid(&LONCAPA::escape($msgid)); |
&Apache::lonenc::check_decrypt(\$symb); |
&Apache::lonenc::check_decrypt(\$symb); |
if (($fromcid ne '') && ($fromcid ne $cid)) { |
if (($fromcid ne '') && ($fromcid ne $cid)) { |
next; |
next; |
Line 4632 sub duedate {
|
Line 4673 sub duedate {
|
my $date; |
my $date; |
my @interval=$self->parmval("interval", $part); |
my @interval=$self->parmval("interval", $part); |
my $due_date=$self->parmval("duedate", $part); |
my $due_date=$self->parmval("duedate", $part); |
if ($interval[0] =~ /^(\d+)/) { |
if ($interval[0] =~ /\d+/) { |
my $timelimit = $1; |
my $first_access=&Apache::lonnet::get_first_access($interval[1], |
my $first_access=&Apache::lonnet::get_first_access($interval[1], |
|
$self->{SYMB}); |
$self->{SYMB}); |
if (defined($first_access)) { |
if (defined($first_access)) { |
my $interval = $first_access+$timelimit; |
my $interval = $first_access+$interval[0]; |
$date = (!$due_date || $interval < $due_date) ? $interval |
$date = (!$due_date || $interval < $due_date) ? $interval |
: $due_date; |
: $due_date; |
} else { |
} else { |
Line 5543 sub check_for_slot {
|
Line 5583 sub check_for_slot {
|
($checkedin,$checkedinslot) = $self->checkedin(); |
($checkedin,$checkedinslot) = $self->checkedin(); |
unless ((grep(/^\Q$checkedin\E/,@proctors)) && |
unless ((grep(/^\Q$checkedin\E/,@proctors)) && |
($checkedinslot eq $slot_name)) { |
($checkedinslot eq $slot_name)) { |
return (NEEDS_CHECKIN,undef,$slot_name); |
return (NEEDS_CHECKIN,$end,$slot_name); |
} |
} |
} |
} |
return (RESERVED,$end,$slot_name); |
return (RESERVED,$end,$slot_name); |