Diff for /loncom/interface/lonnavmaps.pm between versions 1.337 and 1.342

version 1.337, 2005/09/20 07:52:03 version 1.342, 2005/10/01 06:21:12
Line 514  sub getDescription { Line 514  sub getDescription {
         return &mt("Not currently assigned.");          return &mt("Not currently assigned.");
     }      }
     if ($status == $res->OPEN_LATER) {      if ($status == $res->OPEN_LATER) {
         return "Open " . timeToHumanString($res->opendate($part));          return "Open " . timeToHumanString($res->opendate($part),'start');
     }      }
     if ($status == $res->OPEN) {      if ($status == $res->OPEN) {
         if ($res->duedate($part)) {          if ($res->duedate($part)) {
             return &mt("Due")."  " .timeToHumanString($res->duedate($part));              return &mt("Due")."  " .timeToHumanString($res->duedate($part),'end');
         } else {          } else {
             return &mt("Open, no due date");              return &mt("Open, no due date");
         }          }
     }      }
     if ($status == $res->PAST_DUE_ANSWER_LATER) {      if ($status == $res->PAST_DUE_ANSWER_LATER) {
         return &mt("Answer open")." " . timeToHumanString($res->answerdate($part));          return &mt("Answer open")." " . timeToHumanString($res->answerdate($part),'start');
     }      }
     if ($status == $res->PAST_DUE_NO_ANSWER) {      if ($status == $res->PAST_DUE_NO_ANSWER) {
         return &mt("Was due")." " . timeToHumanString($res->duedate($part));          return &mt("Was due")." " . timeToHumanString($res->duedate($part),'end');
     }      }
     if ($status == $res->ANSWER_OPEN || $status == $res->PARTIALLY_CORRECT) {      if ($status == $res->ANSWER_OPEN || $status == $res->PARTIALLY_CORRECT) {
         return &mt("Answer available");          return &mt("Answer available");
Line 549  sub getDescription { Line 549  sub getDescription {
             }              }
         }          }
         if ($res->duedate($part)) {          if ($res->duedate($part)) {
             return &mt("Due")." " . timeToHumanString($res->duedate($part)) .              return &mt("Due")." " . timeToHumanString($res->duedate($part),'end') .
                 " $triesString";                  " $triesString";
         } else {          } else {
             return &mt("No due date")." $triesString";              return &mt("No due date")." $triesString";
Line 603  sub advancedUser { Line 603  sub advancedUser {
 # Very, very, very, VERY English-only... goodness help a localizer on  # Very, very, very, VERY English-only... goodness help a localizer on
 # this func...  # this func...
 sub timeToHumanString {  sub timeToHumanString {
     my ($time) = @_;      my ($time,$type) = @_;
     # zero, '0' and blank are bad times      # zero, '0' and blank are bad times
     if (!$time) {      if (!$time) {
         return &mt('never');          return &mt('never');
Line 684  sub timeToHumanString { Line 684  sub timeToHumanString {
                 $timeStr;                  $timeStr;
         }          }
                   
    my $conjunction='on';
    if ($type eq 'start') {
       $conjunction='at';
    } elsif ($type eq 'end') {
       $conjunction='by';
    }
         # Is it this year?          # Is it this year?
         if ( $time[5] == $now[5]) {          if ( $time[5] == $now[5]) {
             # Return on Month Day, HH:MM meridian              # Return on Month Day, HH:MM meridian
             my $timeStr = strftime("on %A, %b %e at %I:%M %P", localtime($time));              my $timeStr = strftime("$conjunction %A, %b %e at %I:%M %P", localtime($time));
             $timeStr =~ s/12:00 am/00:00/;              $timeStr =~ s/12:00 am/00:00/;
             $timeStr =~ s/12:00 pm/noon/;              $timeStr =~ s/12:00 pm/noon/;
             return $timeStr;              return $timeStr;
         }          }
   
         # Not this year, so show the year          # Not this year, so show the year
         my $timeStr = strftime("on %A, %b %e %Y at %I:%M %P", localtime($time));          my $timeStr = strftime("$conjunction %A, %b %e %Y at %I:%M %P", localtime($time));
         $timeStr =~ s/12:00 am/00:00/;          $timeStr =~ s/12:00 am/00:00/;
         $timeStr =~ s/12:00 pm/noon/;          $timeStr =~ s/12:00 pm/noon/;
         return $timeStr;          return $timeStr;
Line 1127  sub render_resource { Line 1133  sub render_resource {
     if ($resource->randomout()) {      if ($resource->randomout()) {
         $nonLinkedText .= ' <i>(hidden)</i> ';          $nonLinkedText .= ' <i>(hidden)</i> ';
     }      }
       if (!$resource->condval()) {
           $nonLinkedText .= ' <i>(conditionally hidden)</i> ';
       }
           
     # We're done preparing and finally ready to start the rendering      # We're done preparing and finally ready to start the rendering
     my $result = "<td align='left' valign='center'>";      my $result = "<td align='left' valign='center'>";
Line 1401  sub render { Line 1410  sub render {
         # no columns, no nav maps.          # no columns, no nav maps.
         return '';          return '';
     }      }
     my $mustCloseNavMap = 0;  
     my $navmap;      my $navmap;
     if (defined($args->{'navmap'})) {      if (defined($args->{'navmap'})) {
         $navmap = $args->{'navmap'};          $navmap = $args->{'navmap'};
Line 1450  sub render { Line 1458  sub render {
         # Step 1: Check to see if we have a navmap          # Step 1: Check to see if we have a navmap
         if (!defined($navmap)) {          if (!defined($navmap)) {
             $navmap = Apache::lonnavmaps::navmap->new();              $navmap = Apache::lonnavmaps::navmap->new();
             $mustCloseNavMap = 1;      if (!defined($navmap)) {
         }   # no londer in course
    return '<font color="red">No course selected</font><br />
                           <a href="/adm/roles">Select a course</a><br />';
       }
    }
   
         # Step two: Locate what kind of here marker is necessary          # Step two: Locate what kind of here marker is necessary
         # Determine where the "here" marker is and where the screen jumps to.          # Determine where the "here" marker is and where the screen jumps to.
Line 1515  sub render { Line 1527  sub render {
         # Step 1: Check to see if we have a navmap          # Step 1: Check to see if we have a navmap
         if (!defined($navmap)) {          if (!defined($navmap)) {
             $navmap = Apache::lonnavmaps::navmap->new();              $navmap = Apache::lonnavmaps::navmap->new();
             $mustCloseNavMap = 1;  
         }          }
   
         # See if we're being passed a specific map          # See if we're being passed a specific map
Line 3573  sub condition { Line 3584  sub condition {
     my $condition=&Apache::lonnet::directcondval($condid);      my $condition=&Apache::lonnet::directcondval($condid);
     return $condition;      return $condition;
 }  }
   sub condval {
       my $self=shift;
       my $uri=&Apache::lonnet::deversion(&Apache::lonnet::declutter($self->src()));
       my ($pathname,$filename)=($uri=~m|(.*)/([^/]*)|);
       $pathname=~s/^adm\/wrapper\///;    
   
       my $match=($env{'acc.res.'.$env{'request.course.id'}.'.'.$pathname}=~
          /\&\Q$filename\E\:([\d\|]+)\&/);
       if ($match) {
    return &Apache::lonnet::condval($1);
       }
       return 0;
   }
 sub compTitle {  sub compTitle {
     my $self = shift;      my $self = shift;
     my $title = $self->title();      my $title = $self->title();
Line 4144  sub extractParts { Line 4167  sub extractParts {
     }      }
     foreach (split(/\,/,$metadata)) {      foreach (split(/\,/,$metadata)) {
  if ($_ =~ /^(?:part|Task)_(.*)$/) {   if ($_ =~ /^(?:part|Task)_(.*)$/) {
     &Apache::lonnet::logthis($self->src()." part -> ".$1);  
     my $part = $1;      my $part = $1;
     # This floods the logs if it blows up      # This floods the logs if it blows up
     if (defined($parts{$part})) {      if (defined($parts{$part})) {
Line 4765  sub getNext { Line 4787  sub getNext {
     my $to = $self->to();      my $to = $self->to();
     foreach my $branch ( split(/,/, $to) ) {      foreach my $branch ( split(/,/, $to) ) {
         my $choice = $self->{NAV_MAP}->getById($branch);          my $choice = $self->{NAV_MAP}->getById($branch);
         if (!$choice->condition()) { next; }          #if (!$choice->condition()) { next; }
         my $next = $choice->goesto();          my $next = $choice->goesto();
         $next = $self->{NAV_MAP}->getById($next);          $next = $self->{NAV_MAP}->getById($next);
   

Removed from v.1.337  
changed lines
  Added in v.1.342


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>