version 1.477, 2011/12/25 20:41:53
|
version 1.484, 2012/05/07 19:43:44
|
Line 225 automatically.
|
Line 225 automatically.
|
|
|
=over 4 |
=over 4 |
|
|
=item * B<iterator: default: constructs one from %env |
=item * B<iterator>: default: constructs one from %env |
|
|
A reference to a fresh ::iterator to use from the navmaps. The |
A reference to a fresh ::iterator to use from the navmaps. The |
rendering will reflect the options passed to the iterator, so you can |
rendering will reflect the options passed to the iterator, so you can |
Line 1398 sub render {
|
Line 1398 sub render {
|
} |
} |
} |
} |
|
|
|
|
# (re-)Locate the jump point, if any |
# (re-)Locate the jump point, if any |
# Note this does not take filtering or hidden into account... need |
# Note this does not take filtering or hidden into account... need |
# to be fixed? |
# to be fixed? |
Line 1466 sub render {
|
Line 1465 sub render {
|
$link .= '&register='.$env{'form.register'}; |
$link .= '&register='.$env{'form.register'}; |
} |
} |
if ($args->{'caller'} eq 'navmapsdisplay') { |
if ($args->{'caller'} eq 'navmapsdisplay') { |
&add_linkitem($args->{'linkitems'},'changefolder', |
unless ($args->{'notools'}) { |
"location.href='$link'",$text); |
&add_linkitem($args->{'linkitems'},'changefolder', |
|
"location.href='$link'",$text); |
|
} |
} else { |
} else { |
$result.= '<a href="'.$link.'">'.&mt($text).'</a>'; |
$result.= '<a href="'.$link.'">'.&mt($text).'</a>'; |
} |
} |
Line 1475 sub render {
|
Line 1476 sub render {
|
} |
} |
|
|
# Check for any unread discussions in all resources. |
# Check for any unread discussions in all resources. |
if ($args->{'caller'} eq 'navmapsdisplay') { |
if (($args->{'caller'} eq 'navmapsdisplay') && (!$args->{'notools'})) { |
&add_linkitem($args->{'linkitems'},'clearbubbles', |
&add_linkitem($args->{'linkitems'},'clearbubbles', |
'document.clearbubbles.submit()', |
'document.clearbubbles.submit()', |
'Mark all posts read'); |
'Mark all posts read'); |
Line 1507 END
|
Line 1508 END
|
} |
} |
} |
} |
$result.='</form>'; |
$result.='</form>'; |
if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) { |
} |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
if (($args->{'caller'} eq 'navmapsdisplay') && |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
(&Apache::lonnet::allowed('mdc',$env{'request.course.id'}))) { |
if ($env{'course.'.$env{'request.course.id'}.'.url'} eq |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
"uploaded/$cdom/$cnum/default.sequence") { |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
&add_linkitem($args->{'linkitems'},'edittoplevel', |
if ($env{'course.'.$env{'request.course.id'}.'.url'} eq |
"javascript:gocmd('/adm/coursedocs','editdocs');", |
"uploaded/$cdom/$cnum/default.sequence") { |
'Content Editor'); |
&add_linkitem($args->{'linkitems'},'edittoplevel', |
} |
"javascript:gocmd('/adm/coursedocs','editdocs');", |
|
'Content Editor'); |
} |
} |
} |
} |
|
|
Line 1652 END
|
Line 1654 END
|
$curRes = shift(@resources); |
$curRes = shift(@resources); |
} else { |
} else { |
$curRes = $it->next($closeAllPages); |
$curRes = $it->next($closeAllPages); |
|
|
} |
} |
if (!$curRes) { last; } |
if (!$curRes) { last; } |
|
|
Line 1859 sub add_linkitem {
|
Line 1860 sub add_linkitem {
|
|
|
sub show_linkitems_toolbar { |
sub show_linkitems_toolbar { |
my ($args,$condition) = @_; |
my ($args,$condition) = @_; |
my $result = |
my $result; |
'<table><tr><td>'. |
|
&Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT'). |
|
'</td>'. |
|
'<td> </td>'. |
|
'<td class="LC_middle">'.&mt('Tools:').'</td>'; |
|
if (ref($args) eq 'HASH') { |
if (ref($args) eq 'HASH') { |
if (ref($args->{'linkitems'}) eq 'HASH') { |
if (ref($args->{'linkitems'}) eq 'HASH') { |
|
my $numlinks = scalar(keys(%{$args->{'linkitems'}})); |
|
if ($numlinks > 1) { |
|
$result = '<td>'. |
|
&Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen', |
|
undef,'RAT'). |
|
'</td>'. |
|
'<td> </td>'. |
|
'<td class="LC_middle">'.&mt('Tools:').'</td>'; |
|
} |
|
$result .= '<td align="left">'."\n". |
|
'<span class="LC_nobreak">'."\n". |
|
'<ul id="LC_toolbar">'; |
my @linkorder = ('firsthomework','everything','uncompleted', |
my @linkorder = ('firsthomework','everything','uncompleted', |
'changefolder','clearbubbles','edittoplevel'); |
'changefolder','clearbubbles','edittoplevel'); |
$result .='<td align="left">'."\n". |
|
'<span class="LC_nobreak">'."\n". |
|
'<ul id="LC_toolbar">'; |
|
foreach my $link (@linkorder) { |
foreach my $link (@linkorder) { |
my $link_id = 'LC_content_toolbar_'.$link; |
|
if (ref($args->{'linkitems'}{$link}) eq 'HASH') { |
if (ref($args->{'linkitems'}{$link}) eq 'HASH') { |
if ($args->{'linkitems'}{$link}{'text'} ne '') { |
if ($args->{'linkitems'}{$link}{'text'} ne '') { |
$args->{'linkitems'}{$link}{'cmd'}=~s/"/'/g; |
$args->{'linkitems'}{$link}{'cmd'}=~s/"/'/g; |
if ($args->{'linkitems'}{$link}{'cmd'}) { |
if ($args->{'linkitems'}{$link}{'cmd'}) { |
|
my $link_id = 'LC_content_toolbar_'.$link; |
if ($link eq 'changefolder') { |
if ($link eq 'changefolder') { |
if ($condition) { |
if ($condition) { |
$link_id='LC_content_toolbar_changefolder_toggled'; |
$link_id='LC_content_toolbar_changefolder_toggled'; |
Line 1896 sub show_linkitems_toolbar {
|
Line 1901 sub show_linkitems_toolbar {
|
} |
} |
} |
} |
$result .= '</ul>'. |
$result .= '</ul>'. |
'</span></td>'."\n"; |
'</span></td>'; |
|
if (($numlinks==1) && (exists($args->{'linkitems'}{'edittoplevel'}))) { |
|
$result .= '<td><a href="'.$args->{'linkitems'}{'edittoplevel'}{'cmd'}.'">'. |
|
&mt('Content Editor').'</a></td>'; |
|
} |
} |
} |
if ($args->{'sort_html'}) { |
if ($args->{'sort_html'}) { |
$result .= '<td> </td><td> </td><td> </td>'. |
$result .= '<td> </td><td> </td><td> </td>'. |
'<td align="right">'.$args->{'sort_html'}.'</td>'; |
'<td align="right">'.$args->{'sort_html'}.'</td>'; |
} |
} |
} |
} |
$result .= '</tr></table>'; |
if ($result) { |
|
$result = "<table><tr>$result</tr></table>"; |
|
} |
return $result; |
return $result; |
} |
} |
|
|
Line 2013 sub new {
|
Line 2024 sub new {
|
# assume there are course hashes for the specific requested user@domamin: |
# assume there are course hashes for the specific requested user@domamin: |
# |
# |
|
|
if ( ($self->{USERNAME} eq $env{'user.name'}) && ($self->{DOMAIN} eq $env{'user.domain'})) { |
if (($self->{USERNAME} eq $env{'user.name'}) && ($self->{DOMAIN} eq $env{'user.domain'})) { |
|
|
# tie the nav hash |
# tie the nav hash |
|
|
Line 2039 sub new {
|
Line 2050 sub new {
|
$self->change_user($self->{USERNAME}, $self->{DOMAIN}); |
$self->change_user($self->{USERNAME}, $self->{DOMAIN}); |
} |
} |
|
|
my $d = Data::Dumper->new([$self]); |
|
|
|
return $self; |
return $self; |
} |
} |
|
|
Line 2092 sub change_user {
|
Line 2101 sub change_user {
|
} |
} |
|
|
$self->{PARM_HASH} = \%parm_hash; |
$self->{PARM_HASH} = \%parm_hash; |
|
|
|
|
|
|
|
|
Line 3086 sub new {
|
Line 3094 sub new {
|
my $firstResource = $resource->map_start(); |
my $firstResource = $resource->map_start(); |
my $finishResource = $resource->map_finish(); |
my $finishResource = $resource->map_finish(); |
my $result; |
my $result; |
my $rdump = Data::Dumper->new([$result]); |
return |
$result = Apache::lonnavmaps::iterator->new($self->{NAV_MAP}, $firstResource, |
Apache::lonnavmaps::iterator->new($self->{NAV_MAP}, $firstResource, |
$finishResource, $self->{FILTER}, |
$finishResource, $self->{FILTER}, |
$self->{ALREADY_SEEN}, |
$self->{ALREADY_SEEN}, |
$self->{CONDITION}, |
$self->{CONDITION}, |
$self->{FORCE_TOP}); |
$self->{FORCE_TOP}); |
return $result; |
|
|
|
|
|
} |
} |
|
|
# Set up some bookkeeping information. |
# Set up some bookkeeping information. |
Line 3113 sub new {
|
Line 3118 sub new {
|
$self->{ALREADY_SEEN}->{$self->{FIRST_RESOURCE}->{ID}} = 1; |
$self->{ALREADY_SEEN}->{$self->{FIRST_RESOURCE}->{ID}} = 1; |
|
|
bless ($self); |
bless ($self); |
my $selfDump = Data::Dumper->new([$self]); |
|
|
|
return $self; |
return $self; |
} |
} |
|
|
Line 3130 sub next {
|
Line 3133 sub next {
|
if ($self->{RETURN_0} && !$self->{HAVE_RETURNED_0}) { |
if ($self->{RETURN_0} && !$self->{HAVE_RETURNED_0}) { |
$self->{HAVE_RETURNED_0} = 1; |
$self->{HAVE_RETURNED_0} = 1; |
my $nextTopLevel = $self->{NAV_MAP}->getById('0.0'); |
my $nextTopLevel = $self->{NAV_MAP}->getById('0.0'); |
|
|
return $self->{NAV_MAP}->getById('0.0'); |
return $self->{NAV_MAP}->getById('0.0'); |
} |
} |
if ($self->{RETURN_0} && !$self->{HAVE_RETURNED_0_BEGIN_MAP}) { |
if ($self->{RETURN_0} && !$self->{HAVE_RETURNED_0_BEGIN_MAP}) { |
Line 3156 sub next {
|
Line 3158 sub next {
|
if (defined($self->{FORCE_NEXT})) { |
if (defined($self->{FORCE_NEXT})) { |
my $tmp = $self->{FORCE_NEXT}; |
my $tmp = $self->{FORCE_NEXT}; |
$self->{FORCE_NEXT} = undef; |
$self->{FORCE_NEXT} = undef; |
|
|
return $tmp; |
return $tmp; |
} |
} |
|
|
Line 3278 sub next {
|
Line 3279 sub next {
|
return $self->next($closeAllPages); |
return $self->next($closeAllPages); |
} |
} |
|
|
my $hereResource = $self->{HERE}; |
|
|
|
return $self->{HERE}; |
return $self->{HERE}; |
|
|
} |
} |
Line 3446 sub next {
|
Line 3445 sub next {
|
my $nextUnfiltered; |
my $nextUnfiltered; |
if ($self->{DIRECTION} == FORWARD()) { |
if ($self->{DIRECTION} == FORWARD()) { |
$nextUnfiltered = $self->{HERE}->getNext(); |
$nextUnfiltered = $self->{HERE}->getNext(); |
|
|
} else { |
} else { |
$nextUnfiltered = $self->{HERE}->getPrevious(); |
$nextUnfiltered = $self->{HERE}->getPrevious(); |
} |
} |
Line 3601 sub new {
|
Line 3599 sub new {
|
$self->{NAV_MAP}->{RESOURCE_CACHE}->{$self->{ID}} = $self; |
$self->{NAV_MAP}->{RESOURCE_CACHE}->{$self->{ID}} = $self; |
$self->{RESOURCE_ERROR} = 0; |
$self->{RESOURCE_ERROR} = 0; |
|
|
|
$self->{DUEDATE_CACHE} = undef; |
|
|
# A hash that can be used by two-pass algorithms to store data |
# A hash that can be used by two-pass algorithms to store data |
# about this resource in. Not used by the resource object |
# about this resource in. Not used by the resource object |
# directly. |
# directly. |
Line 4137 sub printable {
|
Line 4137 sub printable {
|
|
|
# Get the print open/close dates for the resource. |
# Get the print open/close dates for the resource. |
|
|
my $start = $self->parmval("prinstartdate", $part); |
my $start = $self->parmval("printstartdate", $part); |
my $end = $self->parmval("printenddate", $part); |
my $end = $self->parmval("printenddate", $part); |
|
|
# The following cases apply: |
# The following cases apply: |
Line 4239 sub checkedin {
|
Line 4239 sub checkedin {
|
|
|
sub duedate { |
sub duedate { |
(my $self, my $part) = @_; |
(my $self, my $part) = @_; |
|
if (defined ($self->{DUEDATE_CACHE}->{$part})) { |
|
return $self->{DUEDATE_CACHE}->{$part}; |
|
} |
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); |
Line 4255 sub duedate {
|
Line 4258 sub duedate {
|
} else { |
} else { |
$date = $due_date; |
$date = $due_date; |
} |
} |
|
$self->{DUEDATE_CACHE}->{$part} = $date; |
return $date; |
return $date; |
} |
} |
sub handgrade { |
sub handgrade { |