Diff for /loncom/interface/loncommon.pm between versions 1.564.2.4 and 1.567

version 1.564.2.4, 2007/08/30 23:02:03 version 1.567, 2007/08/23 22:21:15
Line 1084  sub changable_area { Line 1084  sub changable_area {
   
 =pod  =pod
   
   =item * resize_textarea_js
   
   emits the needed javascript to resize a textarea to be as big as possible
   
   creates a function resize_textrea that takes two IDs first should be
   the id of the element to resize, second should be the id of a div that
   surrounds everything that comes after the textarea, this routine needs
   to be attached to the <body> for the onload and onresize events.
   
   
   =cut
   
   sub resize_textarea_js {
       return <<"RESIZE";
       <script type="text/javascript">
   var Geometry = {};
   function init_geometry() {
       if (Geometry.init) { return };
       Geometry.init=1;
       if (window.innerHeight) {
    Geometry.getViewportHeight = function() { return window.innerHeight; };
       }
       else if (document.documentElement && document.documentElement.clientHeight) {
    Geometry.getViewportHeight = 
       function() { return document.documentElement.clientHeight; };
       }
       else if (document.body.clientHeight) {
    Geometry.getViewportHeight = 
       function() { return document.body.clientHeight; };
       }
   }
   
   function resize_textarea(textarea_id,bottom_id) {
       init_geometry();
       var textarea        = document.getElementById(textarea_id);
       //alert(textarea);
   
       var textarea_top    = textarea.offsetTop;
       var textarea_height = textarea.offsetHeight;
       var bottom          = document.getElementById(bottom_id);
       var bottom_top      = bottom.offsetTop;
       var bottom_height   = bottom.offsetHeight;
       var window_height   = Geometry.getViewportHeight();
       var fudge           = 23; 
       var new_height      = window_height-fudge-textarea_top-bottom_height;
       if (new_height < 300) {
    new_height = 300;
       }
       textarea.style.height=new_height+'px';
   }
   </script>
   RESIZE
   
   }
   
   =pod
   
 =back  =back
     
 =head1 Excel and CSV file utility routines  =head1 Excel and CSV file utility routines
Line 3458  sub bodytag { Line 3515  sub bodytag {
     if (!$realm) { $realm='&nbsp;'; }      if (!$realm) { $realm='&nbsp;'; }
 # Set messages  # Set messages
     my $messages=&domainlogo($domain);      my $messages=&domainlogo($domain);
   # Port for miniserver
       my $lonhttpdPort=$Apache::lonnet::perlvar{'lonhttpdPort'};
       if (!defined($lonhttpdPort)) { $lonhttpdPort='8080'; }
   
     my $extra_body_attr = &make_attr_string($forcereg,\%design);      my $extra_body_attr = &make_attr_string($forcereg,\%design);
   
Line 3575  ENDROLE Line 3635  ENDROLE
   
     my $imgsrc = $img;      my $imgsrc = $img;
     if ($img =~ /^\/adm/) {      if ($img =~ /^\/adm/) {
         $imgsrc = &lonhttpdurl($img);          $imgsrc = 'http://'.$ENV{'HTTP_HOST'}.':'.$lonhttpdPort.$img;
     }      }
     my $upperleft='<img src="'.$imgsrc.'" alt="'.$function.'" />';      my $upperleft='<img src="'.$imgsrc.'" alt="'.$function.'" />';
   
Line 6922  sub check_clone { Line 6982  sub check_clone {
  $args->{'crstype'});   $args->{'crstype'});
     } else {      } else {
  my %clonedesc = &Apache::lonnet::coursedescription($cloneid,{'one_time' => 1});   my %clonedesc = &Apache::lonnet::coursedescription($cloneid,{'one_time' => 1});
  if ($env{'request.role.domain'} eq $args->{'clonedomain'}) {   if ($env{'request.role.domain'} eq $args->{'form.clonedomain'}) {
     $can_clone = 1;      $can_clone = 1;
  } else {   } else {
     my %clonehash = &Apache::lonnet::get('environment',['cloners'],      my %clonehash = &Apache::lonnet::get('environment',['cloners'],
Line 7302  sub icon { Line 7362  sub icon {
     return &lonhttpdurl($iconname);      return &lonhttpdurl($iconname);
 }   } 
   
 sub lonhttpd_port {  
     my $lonhttpd_port=$Apache::lonnet::perlvar{'lonhttpdPort'};  
     if (!defined($lonhttpd_port)) { $lonhttpd_port='8080'; }  
     # IE doesn't like a secure page getting images from a non-secure  
     # port (when logging we haven't parsed the browser type so default  
     # back to secure  
     if ((!exists($env{'browser.type'}) || $env{'browser.type'} eq 'explorer')  
  && $ENV{'SERVER_PORT'} == 443) {  
  return 443;  
     }  
     return $lonhttpd_port;  
   
 }  
   
 sub lonhttpdurl {  sub lonhttpdurl {
     my ($url)=@_;      my ($url)=@_;
       my $lonhttpd_port=$Apache::lonnet::perlvar{'lonhttpdPort'};
     my $lonhttpd_port = &lonhttpd_port();      if (!defined($lonhttpd_port)) { $lonhttpd_port='8080'; }
     if ($lonhttpd_port == 443) {  
  return 'https://'.$ENV{'SERVER_NAME'}.$url;  
     }  
     return 'http://'.$ENV{'SERVER_NAME'}.':'.$lonhttpd_port.$url;      return 'http://'.$ENV{'SERVER_NAME'}.':'.$lonhttpd_port.$url;
 }  }
   

Removed from v.1.564.2.4  
changed lines
  Added in v.1.567


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