Diff for /loncom/interface/loncommon.pm between versions 1.104 and 1.111

version 1.104, 2003/06/18 15:50:07 version 1.111, 2003/08/13 20:40:31
Line 311  END Line 311  END
 }  }
   
 sub studentbrowser_javascript {  sub studentbrowser_javascript {
    unless ($ENV{'request.course.id'}) { return ''; }       unless (
    unless (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {              (($ENV{'request.course.id'}) && 
         return '';               (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})))
    }           || ($ENV{'request.role'}=~/^(au|dc|su)/)
             ) { return ''; }  
    return (<<'ENDSTDBRW');     return (<<'ENDSTDBRW');
 <script type="text/javascript" language="Javascript" >  <script type="text/javascript" language="Javascript" >
     var stdeditbrowser;      var stdeditbrowser;
     function openstdbrowser(formname,uname,udom) {      function openstdbrowser(formname,uname,udom,roleflag) {
         var url = '/adm/pickstudent?';          var url = '/adm/pickstudent?';
         var filter;          var filter;
         eval('filter=document.'+formname+'.'+uname+'.value;');          eval('filter=document.'+formname+'.'+uname+'.value;');
Line 329  sub studentbrowser_javascript { Line 330  sub studentbrowser_javascript {
         }          }
         url += 'form=' + formname + '&unameelement='+uname+          url += 'form=' + formname + '&unameelement='+uname+
                                     '&udomelement='+udom;                                      '&udomelement='+udom;
    if (roleflag) { url+="&roles=1"; }
         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';
Line 340  ENDSTDBRW Line 342  ENDSTDBRW
 }  }
   
 sub selectstudent_link {  sub selectstudent_link {
     my ($form,$unameele,$udomele)=@_;     my ($form,$unameele,$udomele)=@_;
    unless ($ENV{'request.course.id'}) { return ''; }       if ($ENV{'request.course.id'}) {  
    unless (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {         unless (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {
         return '';     return '';
    }         }
     return "<a href='".'javascript:openstdbrowser("'.$form.'","'.$unameele.         return "<a href='".'javascript:openstdbrowser("'.$form.'","'.$unameele.
         '","'.$udomele.'");'."'>Select User</a>";          '","'.$udomele.'");'."'>Select User</a>";
      }
      if ($ENV{'request.role'}=~/^(au|dc|su)/) {
          return "<a href='".'javascript:openstdbrowser("'.$form.'","'.$unameele.
           '","'.$udomele.'",1);'."'>Select User</a>";
      }
      return '';
 }  }
   
 sub coursebrowser_javascript {  sub coursebrowser_javascript {
Line 549  sub help_open_topic { Line 557  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 595  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 1361  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 1491  sub get_previous_attempt { Line 1522  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 1502  sub get_student_view { Line 1568  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 1514  sub get_student_view { Line 1581  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;
 }  }
   
Line 1661  Returns: value of designparamter $which Line 1729  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 1725  sub bodytag { Line 1804  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]);

Removed from v.1.104  
changed lines
  Added in v.1.111


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