Diff for /loncom/interface/loncommon.pm between versions 1.578 and 1.584

version 1.578, 2007/09/03 15:34:12 version 1.584, 2007/09/11 23:36:46
Line 860  sub help_menu_js { Line 860  sub help_menu_js {
  'js_ready'    => 1,   'js_ready'    => 1,
  'add_entries' => {   'add_entries' => {
     'border' => '0',      'border' => '0',
     'rows'   => "105,*",},});      'rows'   => "110,*",},});
     my $end_page =      my $end_page =
         &Apache::loncommon::end_page({'frameset' => 1,          &Apache::loncommon::end_page({'frameset' => 1,
       'js_ready' => 1,});        'js_ready' => 1,});
Line 2531  sub preferred_languages { Line 2531  sub preferred_languages {
  @languages=(@languages,   @languages=(@languages,
     split(/\s*(\,|\;|\:)\s*/,$env{'environment.languages'}));      split(/\s*(\,|\;|\:)\s*/,$env{'environment.languages'}));
     }      }
     my $browser=(split(/\;/,$ENV{'HTTP_ACCEPT_LANGUAGE'}))[0];      my $browser=$ENV{'HTTP_ACCEPT_LANGUAGE'};
     if ($browser) {      if ($browser) {
  @languages=(@languages,split(/\s*(\,|\;|\:)\s*/,$browser));   my @browser = 
       map { (split(/\s*;\s*/,$_))[0] } (split(/\s*,\s*/,$browser));
    push(@languages,@browser);
     }      }
     if (&Apache::lonnet::domain($env{'user.domain'},'lang_def')) {      if (&Apache::lonnet::domain($env{'user.domain'},'lang_def')) {
  @languages=(@languages,   @languages=(@languages,
Line 2555  sub preferred_languages { Line 2557  sub preferred_languages {
     my @genlanguages;      my @genlanguages;
     foreach my $lang (@languages) {      foreach my $lang (@languages) {
  unless ($lang=~/\w/) { next; }   unless ($lang=~/\w/) { next; }
  push (@genlanguages,$lang);   push(@genlanguages,$lang);
  if ($lang=~/(\-|\_)/) {   if ($lang=~/(\-|\_)/) {
     push(@genlanguages,(split(/(\-|\_)/,$lang))[0]);      push(@genlanguages,(split(/(\-|\_)/,$lang))[0]);
  }   }
     }      }
       #uniqueify the languages list
       my %count;
       @genlanguages = map { $count{$_}++ == 0 ? $_ : () } @genlanguages;
     return @genlanguages;      return @genlanguages;
 }  }
   
   sub languages {
       my ($possible_langs) = @_;
       my @preferred_langs = &preferred_languages();
       if (!ref($possible_langs)) {
    if( wantarray ) {
       return @preferred_langs;
    } else {
       return $preferred_langs[0];
    }
       }
       my %possibilities = map { $_ => 1 } (@$possible_langs);
       my @preferred_possibilities;
       foreach my $preferred_lang (@preferred_langs) {
    if (exists($possibilities{$preferred_lang})) {
       push(@preferred_possibilities, $preferred_lang);
    }
       }
       if( wantarray ) {
    return @preferred_possibilities;
       }
       return $preferred_possibilities[0];
   }
   
 ###############################################################  ###############################################################
 ##               Student Answer Attempts                     ##  ##               Student Answer Attempts                     ##
 ###############################################################  ###############################################################
Line 2637  sub get_previous_attempt { Line 2665  sub get_previous_attempt {
  for ($version=1;$version<=$returnhash{'version'};$version++) {   for ($version=1;$version<=$returnhash{'version'};$version++) {
   $prevattempts.='</tr><tr bgcolor="#ffffe6"><td>Transaction '.$version.'</td>';    $prevattempts.='</tr><tr bgcolor="#ffffe6"><td>Transaction '.$version.'</td>';
     foreach my $key (sort(keys(%lasthash))) {      foreach my $key (sort(keys(%lasthash))) {
        my $value;   my $value = &format_previous_attempt_value($key,
        if ($key =~ /timestamp/) {     $returnhash{$version.':'.$key});
   $value=scalar(localtime($returnhash{$version.':'.$key}));   $prevattempts.='<td>'.$value.'&nbsp;</td>';   
        } else {  
   $value=$returnhash{$version.':'.$key};  
        }  
        $prevattempts.='<td>'.&unescape($value).'&nbsp;</td>';     
     }      }
  }   }
       }        }
       $prevattempts.='</tr><tr bgcolor="#ffffe6"><td>Current</td>';        $prevattempts.='</tr><tr bgcolor="#ffffe6"><td>Current</td>';
       foreach my $key (sort(keys(%lasthash))) {        foreach my $key (sort(keys(%lasthash))) {
  my $value;   my $value = &format_previous_attempt_value($key,$lasthash{$key});
  if ($key =~ /timestamp/) {  
   $value=scalar(localtime($lasthash{$key}));  
  } else {  
   $value=$lasthash{$key};  
  }  
  $value=&unescape($value);  
  if ($key =~/$regexp$/ && (defined &$gradesub)) {$value = &$gradesub($value)}   if ($key =~/$regexp$/ && (defined &$gradesub)) {$value = &$gradesub($value)}
  $prevattempts.='<td>'.$value.'&nbsp;</td>';   $prevattempts.='<td>'.$value.'&nbsp;</td>';
       }        }
Line 2668  sub get_previous_attempt { Line 2686  sub get_previous_attempt {
   }    }
 }  }
   
   sub format_previous_attempt_value {
       my ($key,$value) = @_;
       if ($key =~ /timestamp/) {
    $value = &Apache::lonlocal::locallocaltime($value);
       } elsif (ref($value) eq 'ARRAY') {
    $value = '('.join(', ', @{ $value }).')';
       } else {
    $value = &unescape($value);
       }
       return $value;
   }
   
   
 sub relative_to_absolute {  sub relative_to_absolute {
     my ($url,$output)=@_;      my ($url,$output)=@_;
     my $parser=HTML::TokeParser->new(\$output);      my $parser=HTML::TokeParser->new(\$output);
Line 4330  table#LC_helpmenu_links a:hover { Line 4361  table#LC_helpmenu_links a:hover {
   border: 1px solid #8888FF;    border: 1px solid #8888FF;
   background: #CCCCFF;    background: #CCCCFF;
 }  }
   
 table.LC_pick_box {  table.LC_pick_box {
   width: 100%;  
   border-collapse: separate;    border-collapse: separate;
   background: white;    background: white;
   border: 1px solid black;    border: 1px solid black;
Line 4345  table.LC_pick_box td.LC_pick_box_title { Line 4374  table.LC_pick_box td.LC_pick_box_title {
   width: 184px;    width: 184px;
   padding: 8px;    padding: 8px;
 }  }
   table.LC_pick_box td.LC_pick_box_value {
     text-align: left;
     padding: 8px;
   }
   table.LC_pick_box td.LC_pick_box_select {
     text-align: left;
     padding: 8px;
   }
 table.LC_pick_box td.LC_pick_box_separator {  table.LC_pick_box td.LC_pick_box_separator {
   padding: 0px;    padding: 0px;
   height: 1px;    height: 1px;
Line 4353  table.LC_pick_box td.LC_pick_box_separat Line 4390  table.LC_pick_box td.LC_pick_box_separat
 table.LC_pick_box td.LC_pick_box_submit {  table.LC_pick_box td.LC_pick_box_submit {
   text-align: right;    text-align: right;
 }  }
   table.LC_pick_box td.LC_evenrow_value {
     text-align: left;
     padding: 8px;
     background-color: $data_table_light;
   }
   table.LC_pick_box td.LC_oddrow_value {
     text-align: left;
     padding: 8px;
     background-color: $data_table_light;
   }
   table.LC_helpform_receipt {
     width: 620px;
     border-collapse: separate;
     background: white;
     border: 1px solid black;
     border-spacing: 1px;
   }
   table.LC_helpform_receipt td.LC_pick_box_title {
     background: $tabbg;
     font-weight: bold;
     text-align: right;
     width: 184px;
     padding: 8px;
   }
   table.LC_helpform_receipt td.LC_evenrow_value {
     text-align: left;
     padding: 8px;
     background-color: $data_table_light;
   }
   table.LC_helpform_receipt td.LC_oddrow_value {
     text-align: left;
     padding: 8px;
     background-color: $data_table_light;
   }
   table.LC_helpform_receipt td.LC_pick_box_separator {
     padding: 0px;
     height: 1px;
     background: black;
   }
   span.LC_helpform_receipt_cat {
     font-weight: bold;
   }
 table.LC_group_priv_box {  table.LC_group_priv_box {
   background: white;    background: white;
   border: 1px solid black;    border: 1px solid black;
Line 4569  table.LC_docs_adddocs th { Line 4647  table.LC_docs_adddocs th {
   background: #DDDDDD;    background: #DDDDDD;
 }  }
   
   table.LC_sty_begin {
     background: #BBFFBB;
   }
   table.LC_sty_end {
     background: #FFBBBB;
   }
   
 END  END
 }  }
   
Line 5604  sub user_picker { Line 5689  sub user_picker {
     my $currdom = $dom;      my $currdom = $dom;
     my %curr_selected = (      my %curr_selected = (
                         srchin => 'dom',                          srchin => 'dom',
                         srchby => 'uname',                          srchby => 'lastname',
                       );                        );
     my $srchterm;      my $srchterm;
     if (ref($srch) eq 'HASH') {      if (ref($srch) eq 'HASH') {
Line 5666  sub user_picker { Line 5751  sub user_picker {
     $srchinsel .= "\n  </select>\n";      $srchinsel .= "\n  </select>\n";
   
     my $srchbysel =  ' <select name="srchby">';      my $srchbysel =  ' <select name="srchby">';
     foreach my $option ('uname','lastname','lastfirst') {      foreach my $option ('lastname','lastfirst','uname') {
         if ($curr_selected{'srchby'} eq $option) {          if ($curr_selected{'srchby'} eq $option) {
             $srchbysel .= '              $srchbysel .= '
    <option value="'.$option.'" selected="selected">'.$lt{$option}.'</option>';     <option value="'.$option.'" selected="selected">'.$lt{$option}.'</option>';
Line 5678  sub user_picker { Line 5763  sub user_picker {
     $srchbysel .= "\n  </select>\n";      $srchbysel .= "\n  </select>\n";
   
     my $srchtypesel = ' <select name="srchtype">';      my $srchtypesel = ' <select name="srchtype">';
     foreach my $option ('exact','begins','contains') {      foreach my $option ('begins','contains','exact') {
         if ($curr_selected{'srchtype'} eq $option) {          if ($curr_selected{'srchtype'} eq $option) {
             $srchtypesel .= '              $srchtypesel .= '
    <option value="'.$option.'" selected="selected">'.$lt{$option}.'</option>';     <option value="'.$option.'" selected="selected">'.$lt{$option}.'</option>';

Removed from v.1.578  
changed lines
  Added in v.1.584


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