Diff for /loncom/interface/loncommon.pm between versions 1.99 and 1.110

version 1.99, 2003/05/13 00:52:46 version 1.110, 2003/07/25 10:44:36
Line 329  sub studentbrowser_javascript { Line 329  sub studentbrowser_javascript {
         }          }
         url += 'form=' + formname + '&unameelement='+uname+          url += 'form=' + formname + '&unameelement='+uname+
                                     '&udomelement='+udom;                                      '&udomelement='+udom;
         var title = 'Student Browser';          var title = 'Student_Browser';
         var options = 'scrollbars=1,resizable=1,menubar=0';          var options = 'scrollbars=1,resizable=1,menubar=0';
         options += ',width=700,height=600';          options += ',width=700,height=600';
         stdeditbrowser = open(url,title,options,'1');          stdeditbrowser = open(url,title,options,'1');
Line 363  sub coursebrowser_javascript { Line 363  sub coursebrowser_javascript {
         }          }
         url += 'form=' + formname + '&cnumelement='+uname+          url += 'form=' + formname + '&cnumelement='+uname+
                                     '&cdomelement='+udom;                                      '&cdomelement='+udom;
         var title = 'Course Browser';          var title = 'Course_Browser';
         var options = 'scrollbars=1,resizable=1,menubar=0';          var options = 'scrollbars=1,resizable=1,menubar=0';
         options += ',width=700,height=600';          options += ',width=700,height=600';
         stdeditbrowser = open(url,title,options,'1');          stdeditbrowser = open(url,title,options,'1');
Line 549  sub help_open_topic { Line 549  sub help_open_topic {
     my ($topic, $text, $stayOnPage, $width, $height) = @_;      my ($topic, $text, $stayOnPage, $width, $height) = @_;
     $text = "" if (not defined $text);      $text = "" if (not defined $text);
     $stayOnPage = 0 if (not defined $stayOnPage);      $stayOnPage = 0 if (not defined $stayOnPage);
     if ($ENV{'browser.interface'} eq 'textual') {      if ($ENV{'browser.interface'} eq 'textual' ||
    $ENV{'environment.remote'} eq 'off' ) {
  $stayOnPage=1;   $stayOnPage=1;
     }      }
     $width = 350 if (not defined $width);      $width = 350 if (not defined $width);
Line 586  ENDTEMPLATE Line 587  ENDTEMPLATE
   
 }  }
   
   # This is a quicky function for Latex cheatsheet editing, since it 
   # appears in at least four places
   sub helpLatexCheatsheet {
       my $other = shift;
       my $addOther = '';
       if ($other) {
    $addOther = Apache::loncommon::help_open_topic($other, shift,
          undef, undef, 600) .
      '</td><td>';
       }
       return '<table><tr><td>'.
    $addOther .
    &Apache::loncommon::help_open_topic("Greek_Symbols",'Greek Symbols',
       undef,undef,600)
    .'</td><td>'.
    &Apache::loncommon::help_open_topic("Other_Symbols",'Other Symbols',
       undef,undef,600)
    .'</td></tr></table>';
   }
   
 =pod  =pod
   
 =item csv_translate($text)   =item csv_translate($text) 
Line 1332  sub aboutmewrapper { Line 1353  sub aboutmewrapper {
   
   
 sub syllabuswrapper {  sub syllabuswrapper {
     my ($link,$un,$do,$tf)=@_;      my ($linktext,$coursedir,$domain,$fontcolor)=@_;
     if ($tf) { $link='<font color="'.$tf.'">'.$link.'</font>'; }      if ($fontcolor) { 
     return "<a href='/public/$do/$un/syllabus'>$link</a>";          $linktext='<font color="'.$fontcolor.'">'.$linktext.'</font>'; 
       }
       return "<a href='/public/$domain/$coursedir/syllabus'>$linktext</a>";
 }  }
   
 # ---------------------------------------------------------------- Language IDs  # ---------------------------------------------------------------- Language IDs
Line 1358  sub display_languages { Line 1381  sub display_languages {
     $languages{$_}=1;      $languages{$_}=1;
         }          }
     }      }
       if ($ENV{'course.'.$ENV{'request.course.id'}.'.languages'}) {
    foreach (split(/\s*(\,|\;|\:)\s*/,
    $ENV{'course.'.$ENV{'request.course.id'}.'.languages'})) {
       $languages{$_}=1;
           }
       }
     &get_unprocessed_cgi($ENV{'QUERY_STRING'},['displaylanguage']);      &get_unprocessed_cgi($ENV{'QUERY_STRING'},['displaylanguage']);
     if ($ENV{'form.displaylanguage'}) {      if ($ENV{'form.displaylanguage'}) {
  foreach (split(/\s*(\,|\;|\:)\s*/,$ENV{'form.displaylanguage'})) {   foreach (split(/\s*(\,|\;|\:)\s*/,$ENV{'form.displaylanguage'})) {
Line 1485  sub get_previous_attempt { Line 1514  sub get_previous_attempt {
   }    }
 }  }
   
   sub relative_to_absolute {
       my ($url,$output)=@_;
       my $parser=HTML::TokeParser->new(\$output);
       my $token;
       my $thisdir=$url;
       my @rlinks=();
       while ($token=$parser->get_token) {
    if ($token->[0] eq 'S') {
       if ($token->[1] eq 'a') {
    if ($token->[2]->{'href'}) {
       $rlinks[$#rlinks+1]=$token->[2]->{'href'};
    }
       } elsif ($token->[1] eq 'img' || $token->[1] eq 'embed' ) {
    $rlinks[$#rlinks+1]=$token->[2]->{'src'};
       } elsif ($token->[1] eq 'base') {
    $thisdir=$token->[2]->{'href'};
       }
    }
       }
       $thisdir=~s-/[^/]*$--;
       foreach (@rlinks) {
    unless (($_=~/^http:\/\//i) ||
    ($_=~/^\//) ||
    ($_=~/^javascript:/i) ||
    ($_=~/^mailto:/i) ||
    ($_=~/^\#/)) {
       my $newlocation=&Apache::lonnet::hreflocation($thisdir,$_);
       $output=~s/(\"|\'|\=\s*)$_(\"|\'|\s|\>)/$1$newlocation$2/;
    }
       }
   # -------------------------------------------------- Deal with Applet codebases
       $output=~s/(\<applet[^\>]+)(codebase\=[^\S\>]+)*([^\>]*)\>/$1.($2?$2:' codebase="'.$thisdir.'"').$3.'>'/gei;
       return $output;
   }
   
 sub get_student_view {  sub get_student_view {
   my ($symb,$username,$domain,$courseid,$target) = @_;    my ($symb,$username,$domain,$courseid,$target) = @_;
   my ($map,$id,$feedurl) = split(/___/,$symb);    my ($map,$id,$feedurl) = split(/___/,$symb);
Line 1496  sub get_student_view { Line 1560  sub get_student_view {
   }    }
   if ($target eq 'tex') {$moreenv{'form.grade_target'} = 'tex';}    if ($target eq 'tex') {$moreenv{'form.grade_target'} = 'tex';}
   &Apache::lonnet::appenv(%moreenv);    &Apache::lonnet::appenv(%moreenv);
   my $userview=&Apache::lonnet::ssi('/res/'.$feedurl);    $feedurl=&Apache::lonnet::clutter($feedurl);
     my $userview=&Apache::lonnet::ssi_body($feedurl);
   &Apache::lonnet::delenv('form.grade_');    &Apache::lonnet::delenv('form.grade_');
   foreach my $element (@elements) {    foreach my $element (@elements) {
     $ENV{'form.grade_'.$element}=$old{$element};      $ENV{'form.grade_'.$element}=$old{$element};
Line 1508  sub get_student_view { Line 1573  sub get_student_view {
   $userview=~s/\<head\>//gi;    $userview=~s/\<head\>//gi;
   $userview=~s/\<\/head\>//gi;    $userview=~s/\<\/head\>//gi;
   $userview=~s/action\s*\=/would_be_action\=/gi;    $userview=~s/action\s*\=/would_be_action\=/gi;
     $userview=&relative_to_absolute($feedurl,$userview);
   return $userview;    return $userview;
 }  }
   
 sub get_student_answers {  sub get_student_answers {
   my ($symb,$username,$domain,$courseid) = @_;    my ($symb,$username,$domain,$courseid,%form) = @_;
   my ($map,$id,$feedurl) = split(/___/,$symb);    my ($map,$id,$feedurl) = split(/___/,$symb);
   my (%old,%moreenv);    my (%old,%moreenv);
   my @elements=('symb','courseid','domain','username');    my @elements=('symb','courseid','domain','username');
Line 1522  sub get_student_answers { Line 1588  sub get_student_answers {
   }    }
   $moreenv{'form.grade_target'}='answer';    $moreenv{'form.grade_target'}='answer';
   &Apache::lonnet::appenv(%moreenv);    &Apache::lonnet::appenv(%moreenv);
   my $userview=&Apache::lonnet::ssi('/res/'.$feedurl);    my $userview=&Apache::lonnet::ssi('/res/'.$feedurl,%form);
   &Apache::lonnet::delenv('form.grade_');    &Apache::lonnet::delenv('form.grade_');
   foreach my $element (@elements) {    foreach my $element (@elements) {
     $ENV{'form.grade_'.$element}=$old{$element};      $ENV{'form.grade_'.$element}=$old{$element};
Line 1655  Returns: value of designparamter $which Line 1721  Returns: value of designparamter $which
 ##############################################  ##############################################
 sub designparm {  sub designparm {
     my ($which,$domain)=@_;      my ($which,$domain)=@_;
       if ($ENV{'browser.blackwhite'} eq 'on') {
    if ($which=~/\.(font|alink|vlink|link)$/) {
       return '#000000';
    }
    if ($which=~/\.(pgbg|sidebg)$/) {
       return '#FFFFFF';
    }
    if ($which=~/\.tabbg$/) {
       return '#CCCCCC';
    }
       }
     if ($ENV{'environment.color.'.$which}) {      if ($ENV{'environment.color.'.$which}) {
  return $ENV{'environment.color.'.$which};   return $ENV{'environment.color.'.$which};
     }      }
Line 1719  sub bodytag { Line 1796  sub bodytag {
     my $alink=&designparm($function.'.alink',$domain);      my $alink=&designparm($function.'.alink',$domain);
     my $vlink=&designparm($function.'.vlink',$domain);      my $vlink=&designparm($function.'.vlink',$domain);
     my $sidebg=&designparm($function.'.sidebg',$domain);      my $sidebg=&designparm($function.'.sidebg',$domain);
   # Accessibility font enhance
       unless ($addentries) { $addentries=''; }
       if ($ENV{'browser.fontenhance'} eq 'on') {
    $addentries.=' style="font-size: x-large"';
       }
  # 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 1731  sub bodytag { Line 1812  sub bodytag {
     unless ($realm) { $realm='&nbsp;'; }      unless ($realm) { $realm='&nbsp;'; }
 # Set messages  # Set messages
     my $messages=&domainlogo($domain);      my $messages=&domainlogo($domain);
 # Output  # Port for miniserver
     my $lonhttpdPort=$Apache::lonnet::perlvar{'lonhttpdPort'};      my $lonhttpdPort=$Apache::lonnet::perlvar{'lonhttpdPort'};
     if (!defined($lonhttpdPort)) { $lonhttpdPort='8080'; }      if (!defined($lonhttpdPort)) { $lonhttpdPort='8080'; }
   # construct main body tag
     my $bodytag = <<END;      my $bodytag = <<END;
 <body bgcolor="$pgbg" text="$font" alink="$alink" vlink="$vlink" link="$link"  <body bgcolor="$pgbg" text="$font" alink="$alink" vlink="$vlink" link="$link"
 $addentries>  $addentries>

Removed from v.1.99  
changed lines
  Added in v.1.110


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