Diff for /rat/lonpageflip.pm between versions 1.62 and 1.67

version 1.62, 2006/01/09 18:51:26 version 1.67, 2006/03/19 23:06:00
Line 46  sub cleanup { Line 46  sub cleanup {
     &Apache::lonnet::logthis('Failed cleanup pageflip: hash');      &Apache::lonnet::logthis('Failed cleanup pageflip: hash');
         }          }
     }      }
       return OK;
 }  }
   
 sub addrid {  sub addrid {
Line 83  sub hash_src { Line 84  sub hash_src {
     return ($hash{'src_'.$id},$symb);      return ($hash{'src_'.$id},$symb);
 }  }
   
   # Inputs are a url, adn a hash ref of
   # form name => value pairs
   # takes care of properly adding the form name elements and values to the 
   # the url doing proper escaping of the values and joining with ? or & as 
   # needed
   
   sub add_get_param {
       my ($url,$form_data) = @_;
       my $needs_question_mark = ($url !~ /\?/);
   
       while (my ($name,$value) = each(%$form_data)) {
    if ($needs_question_mark) {
       $url.='?';
       $needs_question_mark = 0;
    } else { 
       $url.='&';
    }
    $url.=$name.'='.&Apache::lonnet::escape($form_data->{$name});
       }
       return $url;
   }
   
 sub move {  sub move {
     my ($rid,$mapurl,$direction)=@_;      my ($rid,$mapurl,$direction)=@_;
     my $startoutrid=$rid;      my $startoutrid=$rid;
Line 97  sub move { Line 120  sub move {
              $rid=$hash{'ids_'.$hash{'map_id_'.(split(/\./,$rid))[0]}};               $rid=$hash{'ids_'.$hash{'map_id_'.(split(/\./,$rid))[0]}};
                   }                    }
   foreach my $id (split(/\,/,$hash{'to_'.$rid})) {    foreach my $id (split(/\,/,$hash{'to_'.$rid})) {
       my $thiscond=       my $condition= $hash{'conditions_'.$hash{'goesto_'.$id}};
       &Apache::lonnet::directcondval($hash{'condid_'.$hash{'undercond_'.$id}});       my $rescond  = &Apache::lonnet::docondval($condition);
                       if ($thiscond>=$mincond) {       my $linkcond = &Apache::lonnet::directcondval($hash{'condid_'.$hash{'undercond_'.$id}});
        my $thiscond = ($rescond<$linkcond)?$rescond:$linkcond;
        if ($thiscond>=$mincond) {
           if ($posnext) {            if ($posnext) {
              $posnext.=','.$id.':'.$thiscond;               $posnext.=','.$id.':'.$thiscond;
                           } else {                            } else {
Line 137  sub move { Line 162  sub move {
              $rid=$hash{'ids_'.$hash{'map_id_'.(split(/\./,$rid))[0]}};               $rid=$hash{'ids_'.$hash{'map_id_'.(split(/\./,$rid))[0]}};
  }   }
  foreach my $id (split(/\,/,$hash{'from_'.$rid})) {   foreach my $id (split(/\,/,$hash{'from_'.$rid})) {
      my $thiscond=       my $condition= $hash{'conditions_'.$hash{'comesfrom_'.$id}};
       &Apache::lonnet::directcondval($hash{'condid_'.$hash{'undercond_'.$id}});       my $rescond  = &Apache::lonnet::docondval($condition);
        my $linkcond = &Apache::lonnet::directcondval($hash{'condid_'.$hash{'undercond_'.$id}});
        my $thiscond = ($rescond<$linkcond)?$rescond:$linkcond;
      if ($thiscond>=$mincond) {       if ($thiscond>=$mincond) {
  if ($posnext) {   if ($posnext) {
              $posnext.=','.$id.':'.$thiscond;               $posnext.=','.$id.':'.$thiscond;
Line 180  sub navlaunch { Line 207  sub navlaunch {
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
     &Apache::loncommon::no_cache($r);      &Apache::loncommon::no_cache($r);
     $r->send_http_header;      $r->send_http_header;
     my $html=&Apache::lonxml::xmlbegin();      $r->print(&Apache::loncommon::start_page('Launched'));   
     $r->print("$html<head>\n");  
     $r->print('</head>'.  
       &Apache::loncommon::bodytag('Launched'));     
     $r->print(<<ENDNAV);      $r->print(<<ENDNAV);
     <p><a href="/adm/flip?postdata=firstres%3a">Goto first resource</a></p>      <p><a href="/adm/flip?postdata=firstres%3a">Goto first resource</a></p>
     <script type="text/javascript">      <script type="text/javascript">
Line 195  sub navlaunch { Line 219  sub navlaunch {
     </script>      </script>
     <p><a href="javascript:collapse();">Collapse external navigation window</a></p>      <p><a href="javascript:collapse();">Collapse external navigation window</a></p>
 ENDNAV  ENDNAV
     $r->print(&Apache::loncommon::endbodytag().'</html>');      $r->print(&Apache::loncommon::end_page());
 }  }
 # ================================================================ Main Handler  # ================================================================ Main Handler
   
Line 394  sub handler { Line 418  sub handler {
   
   &Apache::loncommon::content_type($r,'text/html');    &Apache::loncommon::content_type($r,'text/html');
   my $url='http://'.$ENV{'HTTP_HOST'}.$redirecturl;    my $url='http://'.$ENV{'HTTP_HOST'}.$redirecturl;
   if ($redirectsymb ne '') { $url.='?symb='.&Apache::lonnet::escape($redirectsymb); }    $url = &add_get_param($url, { 'symb' => $redirectsymb});
                   $r->header_out(Location => $url);                    $r->header_out(Location => $url);
                   return REDIRECT;                    return REDIRECT;
       } else {        } else {
Line 413  sub handler { Line 437  sub handler {
      'titleheader' => 'Title',       'titleheader' => 'Title',
      'type' => 'Type');       'type' => 'Type');
                   if ($#possibilities>0) {                    if ($#possibilities>0) {
       my $bodytag=        my $start_page=
                              &Apache::loncommon::bodytag('Multiple Resources');    &Apache::loncommon::start_page('Multiple Resources');
                      $r->print(<<ENDSTART);                       $r->print(<<ENDSTART);
 <head><title>Choose Next Location</title></head>  $start_page
 $bodytag  
 <h3>$lt{'wherenext'}</h3>  <h3>$lt{'wherenext'}</h3>
 <p>  <p>
 $lt{'pick'}:  $lt{'pick'}:
Line 428  ENDSTART Line 451  ENDSTART
                      foreach my $id (@possibilities) {                       foreach my $id (@possibilities) {
                         $r->print(                          $r->print(
                               '<tr><td><a href="'.                                '<tr><td><a href="'.
                               $multichoicehash{'src_'.$id}.'?symb=' .    &add_get_param($multichoicehash{'src_'.$id},
                                   Apache::lonnet::escape($multichoicehash{'symb_'.$id}).'">'.   {'symb' =>
         $multichoicehash{'symb_'.$id},
     }).'">'.
                               $multichoicehash{'title_'.$id}.                                $multichoicehash{'title_'.$id}.
                               '</a></td><td>'.$multichoicehash{'type_'.$id}.                                '</a></td><td>'.$multichoicehash{'type_'.$id}.
       '</td></tr>');        '</td></tr>');
                      }                       }
                      $r->print('</table>');                       $r->print('</table>');
                   } else {                    } else {
       my $bodytag=&Apache::loncommon::bodytag('No Resource');        my $start_page=
     &Apache::loncommon::start_page('No Resource');
       $r->print(<<ENDNONE);        $r->print(<<ENDNONE);
 <head><title>No Resource</title></head>  $start_page
 $bodytag  
 <h3>$lt{'title'}</h3>  <h3>$lt{'title'}</h3>
 <p>$lt{'explain'}</p>  <p>$lt{'explain'}</p>
 ENDNONE  ENDNONE
Line 448  ENDNONE Line 473  ENDNONE
 <ul>  <ul>
 <li><a href="/adm/flip?postdata=return:">$lt{'back'}</a></li>  <li><a href="/adm/flip?postdata=return:">$lt{'back'}</a></li>
 <li><a href="/adm/navmaps">$lt{'nav'}</a></li>  <li><a href="/adm/navmaps">$lt{'nav'}</a></li>
 </ul></body></html>  </ul>
 ENDMENU  ENDMENU
                     $r->print(&Apache::loncommon::end_page());
                   return OK;                    return OK;
       }        }
   } else {    } else {

Removed from v.1.62  
changed lines
  Added in v.1.67


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.