Diff for /loncom/interface/loncommon.pm between versions 1.336 and 1.339

version 1.336, 2006/04/14 20:12:35 version 1.339, 2006/04/18 19:18:17
Line 2753  Inputs: Line 2753  Inputs:
 =item * $notopbar, if true, keep the 'what is this' info but remove the  =item * $notopbar, if true, keep the 'what is this' info but remove the
                    navigational links                     navigational links
   
 =item * $bgcolor, used to override the bg coor on a webpage to a specific value  =item * $bgcolor, used to override the bgcolor on a webpage to a specific value
   
   =item * $notitle, if true keep the nav controls, but remove the title bar
   
   
 =back  =back
   
Line 2766  other decorations will be returned. Line 2769  other decorations will be returned.
   
 sub bodytag {  sub bodytag {
     my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle,      my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle,
  $notopbar,$bgcolor)=@_;   $notopbar,$bgcolor,$notitle)=@_;
   
     $title=&mt($title);      $title=&mt($title);
   
     $function = &get_users_function() if (!$function);      $function = &get_users_function() if (!$function);
     my $img=&designparm($function.'.img',$domain);      my $img =    &designparm($function.'.img',$domain);
     my $pgbg= $bgcolor || &designparm($function.'.pgbg',$domain);      my $tabbg =  &designparm($function.'.tabbg',$domain);
     my $tabbg=&designparm($function.'.tabbg',$domain);      my $font =   &designparm($function.'.font',$domain);
     my $font=&designparm($function.'.font',$domain);      my $sidebg = &designparm($function.'.sidebg',$domain);
     my $link=&designparm($function.'.link',$domain);      my $pgbg   = $bgcolor || &designparm($function.'.pgbg',$domain);
     my $alink=&designparm($function.'.alink',$domain);  
     my $vlink=&designparm($function.'.vlink',$domain);      my %design = ( 'style'   => 'margin-top: 0px',
     my $sidebg=&designparm($function.'.sidebg',$domain);     'bgcolor' => $pgbg,
 # Accessibility font enhance     'text'    => $font,
     my $addstyle='';                     'alink'   => &designparm($function.'.alink',$domain),
     if ($env{'browser.fontenhance'} eq 'on') {     'vlink'   => &designparm($function.'.vlink',$domain),
  $addstyle=' font-size: x-large;';     'link'    => &designparm($function.'.link',$domain),);
     }      @$addentries{keys(%design)} = @design{keys(%design)};
   
  # role and realm   # role and realm
     my ($role,$realm)      my ($role,$realm)
        =&Apache::lonnet::plaintext((split(/\./,$env{'request.role'}))[0]);         =&Apache::lonnet::plaintext((split(/\./,$env{'request.role'}))[0]);
Line 2810  form, .inline { display: inline; } Line 2816  form, .inline { display: inline; }
 .center { text-align: center; }  .center { text-align: center; }
 .filename {font-family: monospace;}  .filename {font-family: monospace;}
 </style>  </style>
 <body bgcolor="$pgbg" text="$font" alink="$alink" vlink="$vlink" link="$link"  <body $extra_body_attr>
 style="margin-top: 0px;$addstyle" $extra_body_attr>  
 END  END
   
     $bodytag .= &Apache::lontexconvert::init_math_support();      $bodytag .= &Apache::lontexconvert::init_math_support();
Line 2825  END Line 2830  END
     } elsif ($env{'browser.interface'} eq 'textual') {      } elsif ($env{'browser.interface'} eq 'textual') {
 # Accessibility  # Accessibility
                       
         return $bodytag.&Apache::lonmenu::menubuttons($forcereg,$forcereg).   $bodytag.=&Apache::lonmenu::menubuttons($forcereg,$forcereg);
                '<h1>LON-CAPA: '.$title.'</h1>';   if (!$notitle) {
       $bodytag.='<h1>LON-CAPA: '.$title.'</h1>';
    }
    return $bodytag;
     } elsif ($env{'environment.remote'} eq 'off') {      } elsif ($env{'environment.remote'} eq 'off') {
 # No Remote  # No Remote
  my $roleinfo=(<<ENDROLE);   my $roleinfo=(<<ENDROLE);
Line 2875  ENDROLE Line 2883  ENDROLE
             }              }
     $forcereg=1;      $forcereg=1;
         }          }
         my $titletable = '<table bgcolor="'.$pgbg.'" width="100%" border="0" '.          my $titletable;
    if (!$notitle) {
       $titletable =
    '<table bgcolor="'.$pgbg.'" width="100%" border="0" '.
                          'cellspacing="3" cellpadding="3">'.                           'cellspacing="3" cellpadding="3">'.
                          '<tr><td bgcolor="'.$tabbg.'">'.                           '<tr><td bgcolor="'.$tabbg.'">'.
                          $titleinfo.'</td>'.$roleinfo.'</tr></table>';                           $titleinfo.'</td>'.$roleinfo.'</tr></table>';
         if ($env{'request.state'} eq 'construct') {   }
    if ($env{'request.state'} eq 'construct') {
             if ($notopbar) {              if ($notopbar) {
                 $bodytag .= $titletable;                  $bodytag .= $titletable;
             } else {              } else {
                 $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$forcereg,$titletable);                  $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$forcereg,
     $titletable);
             }              }
  } else {   } else {
             if ($notopbar) {              if ($notopbar) {
Line 2916  ENDROLE Line 2929  ENDROLE
     # Explicit link to get inline menu      # Explicit link to get inline menu
     my $menu='<br /><font size="2" face="Arial, Helvetica, sans-serif">&nbsp;<a href="/adm/remote?action=collapse">'.&mt('Switch to Inline Menu Mode').'</a></font>';      my $menu='<br /><font size="2" face="Arial, Helvetica, sans-serif">&nbsp;<a href="/adm/remote?action=collapse">'.&mt('Switch to Inline Menu Mode').'</a></font>';
     #      #
       if ($notitle) {
    return $bodytag;
       }
     return(<<ENDBODY);      return(<<ENDBODY);
 $bodytag  $bodytag
 <table width="100%" cellspacing="0" border="0" cellpadding="0">  <table width="100%" cellspacing="0" border="0" cellpadding="0">
Line 2954  sub make_attr_string { Line 2970  sub make_attr_string {
     }      }
   
     if ($register) {      if ($register) {
  $attr_ref->{'onload'}   = &Apache::lonmenu::loadevents().   my ($on_load,$on_unload);
     $attr_ref->{'onload'};   foreach my $key (keys(%{$attr_ref})) {
  $attr_ref->{'onunload'} = &Apache::lonmenu::unloadevents().      if      (lc($key) eq 'onload') {
     $attr_ref->{'onunload'};   $on_load.=$attr_ref->{$key}.';';
    delete($attr_ref->{$key});
   
       } elsif (lc($key) eq 'onunload') {
    $on_unload.=$attr_ref->{$key}.';';
    delete($attr_ref->{$key});
       }
    }
    $attr_ref->{'onload'}  =
       &Apache::lonmenu::loadevents().  $on_load;
    $attr_ref->{'onunload'}=
       &Apache::lonmenu::unloadevents().$on_unload;
     }      }
   
   # Accessibility font enhance
       if ($env{'browser.fontenhance'} eq 'on') {
    my $style;
    foreach my $key (keys(%{$attr_ref})) {
       if (lc($key) eq 'style') {
    $style.=$attr_ref->{$key}.';';
    delete($attr_ref->{$key});
       }
    }
    $attr_ref->{'style'}=$style.'; font-size: x-large;';
       }
   
       if ($env{'browser.blackwhite'} eq 'on') {
    delete($attr_ref->{'font'});
    delete($attr_ref->{'link'});
    delete($attr_ref->{'alink'});
    delete($attr_ref->{'vlink'});
    delete($attr_ref->{'bgcolor'});
    delete($attr_ref->{'background'});
       }
   
     my $attr_string;      my $attr_string;
     foreach my $attr (keys(%$attr_ref)) {      foreach my $attr (keys(%$attr_ref)) {
  $attr_string .= " $attr=\"".$attr_ref->{$attr}.'" ';   $attr_string .= " $attr=\"".$attr_ref->{$attr}.'" ';
Line 3013  Inputs: $title - optional title for the Line 3062  Inputs: $title - optional title for the
         $args - optional arguments          $args - optional arguments
             force_register - if is true call registerurl so the remote is               force_register - if is true call registerurl so the remote is 
                              informed                               informed
                                
             redirect - array ref of seconds before redirect occurs              redirect - array ref of seconds before redirect occurs
                                     url to redirect to                                      url to redirect to
                            (side effect of setting                              (side effect of setting 
Line 3121  Inputs: $title - optional title for the Line 3169  Inputs: $title - optional title for the
                                     is not auto translated like the $title is                                      is not auto translated like the $title is
                   frameset       -> if true will start with a <frameset>                    frameset       -> if true will start with a <frameset>
                                     rather than <body>                                      rather than <body>
                     no_title       -> if true the title bar won't be shown
                     skip_phases    -> hash ref of 
                                       head -> skip the <html><head> generation
                                       body -> skip all <body> generation
   
 =back  =back
   
 =cut  =cut
Line 3136  sub start_page { Line 3189  sub start_page {
     }      }
   
     $env{'internal.start_page'}++;      $env{'internal.start_page'}++;
     my $result =       my $result;
  &Apache::lonxml::xmlbegin().      if (! exists($args->{'skip_phases'}{'head'}) ) {
  &headtag($title,$head_extra,\%head_args).&endheadtag();   $result.=
     if ($args->{'frameset'}) {      &Apache::lonxml::xmlbegin().
  my $attr_string = &make_attr_string($args->{'force_register'},      &headtag($title,$head_extra,\%head_args).&endheadtag();
     $args->{'add_entries'});      }
  $result .= "\n<frameset $attr_string>\n";      
     } else {      if (! exists($args->{'skip_phases'}{'body'}) ) {
  $result .=   if ($args->{'frameset'}) {
     &bodytag($title,       my $attr_string = &make_attr_string($args->{'force_register'},
      $args->{'function'},       $args->{'add_entries'},   $args->{'add_entries'});
      $args->{'only_body'},      $args->{'domain'},      $result .= "\n<frameset $attr_string>\n";
      $args->{'force_register'}, $args->{'body_title'},   } else {
      $args->{'no_nav_bar'},     $args->{'bgcolor'});      $result .=
    &bodytag($title, 
    $args->{'function'},       $args->{'add_entries'},
    $args->{'only_body'},      $args->{'domain'},
    $args->{'force_register'}, $args->{'body_title'},
    $args->{'no_nav_bar'},     $args->{'bgcolor'},
    $args->{'no_title'});
    }
     }      }
   
     if ($args->{'js_ready'}) {      if ($args->{'js_ready'}) {
  $result = &js_ready($result);   $result = &js_ready($result);
     }      }

Removed from v.1.336  
changed lines
  Added in v.1.339


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