+
+ // BEGIN NAV ROW - PREV/NEXT, DEL PREV/NEXT, LINKS TO INDEX, etc.
+ $nav_row = '<tr><td align="left" colspan="2" style="border: 1px solid '.$color[9].';"><small>';
+
+ // Create Prev & Next links
+ // Handle nested entities first (i.e. Mime Attach parts)
+ if (isset($passed_ent_id) && $passed_ent_id) {
+ // code for navigating through attached message/rfc822 messages
+ $url = set_url_var($PHP_SELF, 'passed_ent_id',0);
+ $entities = array();
+ $entity_count = array();
+ $c = 0;
+
+ foreach($message->parent->entities as $ent) {
+ if ($ent->type0 == 'message' && $ent->type1 == 'rfc822') {
+ $c++;
+ $entity_count[$c] = $ent->entity_id;
+ $entities[$ent->entity_id] = $c;
+ }
+ }
+
+ $prev_link = _("Previous");
+ if($entities[$passed_ent_id] > 1) {
+ $prev_ent_id = $entity_count[$entities[$passed_ent_id] - 1];
+ $prev_link = '<a href="'
+ . set_url_var($PHP_SELF, 'passed_ent_id', $prev_ent_id)
+ . '">' . $prev_link . '</a>';
+ }
+
+ $next_link = _("Next");
+ if($entities[$passed_ent_id] < $c) {
+ $next_ent_id = $entity_count[$entities[$passed_ent_id] + 1];
+ $next_link = '<a href="'
+ . set_url_var($PHP_SELF, 'passed_ent_id', $next_ent_id)
+ . '">' . $next_link . '</a>';
+ }
+
+ $par_ent_id = $message->parent->entity_id;
+ $up_link = '';
+ if ($par_ent_id) {
+ $par_ent_id = substr($par_ent_id,0,-2);
+ if ( $par_ent_id != 0 ) {
+ $up_link = $topbar_delimiter;
+ $url = set_url_var($PHP_SELF, 'passed_ent_id',$par_ent_id);
+ $up_link .= '<a href="'.$url.'">'._("Up").'</a>';
+ }
+ }
+
+ $nav_row .= $prev_link . $up_link . $topbar_delimiter . $next_link;
+ $nav_row .= $double_delimiter . '[<a href="'.$url.'">'._("View Message").'</a>]';
+
+ // Prev/Next links for regular messages
+ } else if ( !(isset($where) && isset($what)) ) {
+ $prev = findPreviousMessage($mbx_response['EXISTS'], $passed_id);
+ $next = findNextMessage($passed_id);
+
+ $prev_link = _("Previous");
+ if ($prev >= 0) {
+ $uri = $base_uri . 'src/read_body.php?passed_id='.$prev.
+ '&mailbox='.$urlMailbox.'&sort='.$sort.
+ '&startMessage='.$startMessage.'&show_more=0';
+ $prev_link = '<a href="'.$uri.'">'.$prev_link.'</a>';
+ }
+
+ $next_link = _("Next");
+ if ($next >= 0) {
+ $uri = $base_uri . 'src/read_body.php?passed_id='.$next.
+ '&mailbox='.$urlMailbox.'&sort='.$sort.
+ '&startMessage='.$startMessage.'&show_more=0';
+ $next_link = '<a href="'.$uri.'">'.$next_link.'</a>';
+ }
+
+ // Only bother with Delete & Prev and Delete & Next IF
+ // top display is enabled.
+ if ( $delete_prev_next_display == 1 ) {
+ $del_prev_link = _("Delete & Prev");
+ if ($prev >= 0) {
+ $uri = $base_uri . 'src/read_body.php?passed_id='.$prev.
+ '&mailbox='.$urlMailbox.'&sort='.$sort.
+ '&startMessage='.$startMessage.'&show_more=0'.
+ '&delete_id='.$passed_id;
+ $del_prev_link = '<a href="'.$uri.'">'.$del_prev_link.'</a>';
+ }
+
+ $del_next_link = _("Delete & Next");
+ if ($next >= 0) {
+ $uri = $base_uri . 'src/read_body.php?passed_id='.$next.
+ '&mailbox='.$urlMailbox.'&sort='.$sort.
+ '&startMessage='.$startMessage.'&show_more=0'.
+ '&delete_id='.$passed_id;
+ $del_next_link = '<a href="'.$uri.'">'.$del_next_link.'</a>';
+ }
+ }
+
+ $nav_row .= '['.$prev_link.$topbar_delimiter.$next_link.']';
+ if ( isset($del_prev_link) && isset($del_next_link) )
+ $nav_row .= $double_delimiter.'['.$del_prev_link.$topbar_delimiter.$del_next_link.']';
+ }
+
+ // Start with Search Results or Message List link.