--- loncom/interface/loncommon.pm 2003/09/17 16:50:58 1.119 +++ loncom/interface/loncommon.pm 2003/10/09 22:07:08 1.127 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.119 2003/09/17 16:50:58 www Exp $ +# $Id: loncommon.pm,v 1.127 2003/10/09 22:07:08 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -80,6 +80,7 @@ my $readit; # ----------------------------------------------- Filetypes/Languages/Copyright my %language; +my %supported_language; my %cprtag; my %fe; my %fd; my %category_extensions; @@ -146,8 +147,11 @@ BEGIN { while (<$fh>) { next if /^\#/; chomp; - my ($key,$two,$country,$three,$enc,$val)=(split(/\t/,$_)); + my ($key,$two,$country,$three,$enc,$val,$sup)=(split(/\t/,$_)); $language{$key}=$val.' - '.$enc; + if ($sup) { + $supported_language{$key}=$sup; + } } } } @@ -1505,7 +1509,10 @@ returns description of a specified langu =cut sub languagedescription { - return $language{shift(@_)}; + my $code=shift; + return ($supported_language{$code}?'* ':''). + $language{$code}. + ($supported_language{$code}?' ('.&mt('interface available').')':''); } =pod @@ -1661,7 +1668,6 @@ sub preferred_languages { push (@genlanguages,(split(/(\-|\_)/,$_))[0]); } } - &Apache::lonnet::logthis('Lang: '.join(',',@genlanguages)); return @genlanguages; } @@ -2322,6 +2328,14 @@ sub no_cache { #$r->header_out("Expires" => $date); } +sub content_type { + my ($r,$type,$charset) = @_; + unless ($charset) { + $charset=&Apache::lonlocal::current_encoding; + } + $r->content_type($type.($charset?'; charset='.$charset:'')); +} + =pod =item * add_to_env($name,$value) @@ -2645,6 +2659,60 @@ sub check_if_partid_hidden { return undef; } +############################################################ +############################################################ + +=pod + +=item DrawGraph + +Returns a link to cgi-bin/graph + +=cut + +############################################################ +############################################################ +sub DrawGraph { + my ($Title,$xlabel,$ylabel,$Max,$values1,$values2)=@_; + # + my $identifier = time.'_'.int(rand(1000)); + if (! defined($values1) || ref($values1) ne 'ARRAY') { + return ''; + } + # + $Title = '' if (! defined($Title)); + $xlabel = '' if (! defined($xlabel)); + $ylabel = '' if (! defined($ylabel)); + $Title = &Apache::lonnet::escape($Title); + $xlabel = &Apache::lonnet::escape($xlabel); + $ylabel = &Apache::lonnet::escape($ylabel); + # + my $data1 = join(',', @$values1); + my $data2; + if (defined($values2)) { + $data2 = join(',', @$values2); + } + # + my $NumBars = scalar(@$values1); + $Max = 1 if ($Max < 1); + if ( int($Max) < $Max ) { + $Max++; + $Max = int($Max); + } + # + &Apache::lonnet::appenv($identifier.'.title' => $Title, + $identifier.'.xlabel' => $xlabel, + $identifier.'.ylabel' => $ylabel, + $identifier.'.Max' => $Max, + $identifier.'.NumBars' => $NumBars, + $identifier.'.data1' => $data1, + $identifier.'.data2' => $data2); + return ''; +} + +############################################################ +############################################################ + =pod =back