--- loncom/interface/loncommon.pm 2003/11/04 21:21:35 1.143
+++ loncom/interface/loncommon.pm 2003/11/08 01:45:26 1.145
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.143 2003/11/04 21:21:35 matthew Exp $
+# $Id: loncommon.pm,v 1.145 2003/11/08 01:45:26 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -91,50 +91,19 @@ my %category_extensions;
my %designhash;
# ---------------------------------------------- Thesaurus variables
-
-# FIXME: I don't think it's necessary to document these things;
-# they're privately used - Jeremy
-
-=pod
-
-=over 4
-
-=item * %Keywords
-
-A hash used by &keyword to determine if a word is considered a keyword.
-
-=item * $thesaurus_db_file
-
-Scalar containing the full path to the thesaurus database.
-
-=back
-
-=cut
+#
+# %Keywords:
+# A hash used by &keyword to determine if a word is considered a keyword.
+# $thesaurus_db_file
+# Scalar containing the full path to the thesaurus database.
my %Keywords;
my $thesaurus_db_file;
-# ----------------------------------------------------------------------- BEGIN
-
-# FIXME: I don't think this needs to be documented, it prepares
-# private data structures - Jeremy
-=pod
-
-=head1 General Subroutines
-
-=over 4
-
-=item * BEGIN()
-
-Initialize values from language.tab, copyright.tab, filetypes.tab,
-thesaurus.tab, and filecategories.tab.
-
-=back
-
-=cut
-
-# ----------------------------------------------------------------------- BEGIN
-
+#
+# Initialize values from language.tab, copyright.tab, filetypes.tab,
+# thesaurus.tab, and filecategories.tab.
+#
BEGIN {
# Variable initialization
$thesaurus_db_file = $Apache::lonnet::perlvar{'lonTabDir'}."/thesaurus.db";
@@ -235,6 +204,10 @@ BEGIN {
=pod
+=head1 General Subroutines
+
+=over 4
+
=head1 HTML and Javascript Functions
=over 4
@@ -1088,10 +1061,10 @@ END
sub authform_authorwarning{
my $result='';
- $result=<<"END";
-As a general rule, only authors or co-authors should be filesystem
-authenticated (which allows access to the server filesystem).
-END
+ $result=''.
+ &mt('As a general rule, only authors or co-authors should be '.
+ 'filesystem authenticated '.
+ '(which allows access to the server filesystem).')." \n";
return $result;
}
@@ -1101,12 +1074,10 @@ sub authform_nochange{
kerb_def_dom => 'MSU.EDU',
@_,
);
- my $result='';
- $result.=<<"END";
-
-Do not change login data
-END
+ my $result = &mt('[_1] Do not change login data',
+ ' ');
return $result;
}
@@ -1117,24 +1088,23 @@ sub authform_kerberos{
kerb_def_auth => 'krb4',
@_,
);
- my $result='';
- my $check4;
- my $check5;
+ my ($check4,$check5);
if ($in{'kerb_def_auth'} eq 'krb5') {
$check5 = " checked=\"on\"";
} else {
$check4 = " checked=\"on\"";
}
- $result.=<<"END";
-
-Kerberos authenticated with domain
-
- Version 4
- Version 5
-END
+ my $jscall = "javascript:changed_radio('krb',$in{'formname'});";
+ my $result .= &mt
+ ('[_1] Kerberos authenticated with domain [_2] '.
+ '[_3] Version 4 [_4] Version 5',
+ ' ',
+ ' ',
+ ' ',
+ ' ');
return $result;
}
@@ -1144,15 +1114,13 @@ sub authform_internal{
kerb_def_dom => 'MSU.EDU',
@_,
);
- my $result='';
- $result.=<<"END";
-
-Internally authenticated (with initial password
- )
-END
+ my $jscall = "javascript:changed_radio('int',$args{'formname'});";
+ my $result.=&mt
+ ('[_1] Internally authenticated (with initial password [_2])',
+ ' ',
+ ' ');
return $result;
}
@@ -1162,15 +1130,12 @@ sub authform_local{
kerb_def_dom => 'MSU.EDU',
@_,
);
- my $result='';
- $result.=<<"END";
-
-Local Authentication with argument
-
-END
+ my $jscall = "javascript:changed_radio('loc',$in{'formname'});";
+ my $result.=&mt('[_1] Local Authentication with arguement [_2]',
+ ' ',
+ ' ');
return $result;
}
@@ -1180,15 +1145,13 @@ sub authform_filesystem{
kerb_def_dom => 'MSU.EDU',
@_,
);
- my $result='';
- $result.=<<"END";
-
-Filesystem authenticated (with initial password
- )
-END
+ my $jscall = "javascript:changed_radio('fsys',$in{'formname'});";
+ my $result.= &mt
+ ('[_1] Filesystem Authenticated (with initial password [_2])',
+ ' ',
+ ' ');
return $result;
}
@@ -1536,6 +1499,16 @@ sub languagedescription {
($supported_language{$code}?' ('.&mt('interface available').')':'');
}
+sub plainlanguagedescription {
+ my $code=shift;
+ return $language{$code};
+}
+
+sub supportedlanguagecode {
+ my $code=shift;
+ return $supported_language{$code};
+}
+
=pod
=item * copyrightids()
@@ -2510,26 +2483,39 @@ sub record_sep {
return %components;
}
+######################################################
+######################################################
+
=pod
=item * upfile_select_html()
-return HTML code to select file and specify its type
+Return HTML code to select a file from the users machine and specify
+the file type.
=cut
+######################################################
+######################################################
sub upfile_select_html {
- return (<<'ENDUPFORM');
-
- Type:
-CSV (comma separated values, spreadsheet)
-Space separated
-Tabulator separated
-HTML/XML
-
-ENDUPFORM
+ my %Types = (
+ csv => &mt('CSV (comma separated values, spreadsheet)'),
+ space => &mt('Space separated'),
+ tab => &mt('Tabulator separated'),
+# xml => &mt('HTML/XML'),
+ );
+ my $Str = ' '.
+ ' Type: ';
+ foreach my $type (sort(keys(%Types))) {
+ $Str .= ''.$Types{$type}." \n";
+ }
+ $Str .= " \n";
+ return $Str;
}
+######################################################
+######################################################
+
=pod
=item * csv_print_samples($r,$records)
@@ -2540,15 +2526,18 @@ Apache Request ref, $records is an array
=cut
+######################################################
+######################################################
sub csv_print_samples {
my ($r,$records) = @_;
my (%sone,%stwo,%sthree);
%sone=&record_sep($$records[0]);
if (defined($$records[1])) {%stwo=&record_sep($$records[1]);}
if (defined($$records[2])) {%sthree=&record_sep($$records[2]);}
-
- $r->print('Samples
');
- foreach (sort({$a <=> $b} keys(%sone))) { $r->print('Column '.($_+1).' '); }
+ #
+ $r->print(&mt('Samples').'');
+ foreach (sort({$a <=> $b} keys(%sone))) {
+ $r->print(''.&mt('Column [_1]',($_+1)).' '); }
$r->print(' ');
foreach my $hash (\%sone,\%stwo,\%sthree) {
$r->print('');
@@ -2562,23 +2551,31 @@ sub csv_print_samples {
$r->print('
'."\n");
}
+######################################################
+######################################################
+
=pod
=item * csv_print_select_table($r,$records,$d)
Prints a table to create associations between values and table columns.
+
$r is an Apache Request ref,
$records is an arrayref from &Apache::loncommon::upfile_record_sep,
$d is an array of 2 element arrays (internal name, displayed name)
=cut
+######################################################
+######################################################
sub csv_print_select_table {
my ($r,$records,$d) = @_;
my $i=0;my %sone;
%sone=&record_sep($$records[0]);
- $r->print('Associate columns with student attributes.'."\n".
- 'Attribute Column '."\n");
+ $r->print(&mt('Associate columns with student attributes.')."\n".
+ ''.
+ ''.&mt('Attribute').' '.
+ ''.&mt('Column').' '."\n");
foreach (@$d) {
my ($value,$display)=@{ $_ };
$r->print(''.$display.' ');
@@ -2596,6 +2593,9 @@ sub csv_print_select_table {
return $i;
}
+######################################################
+######################################################
+
=pod
=item * csv_samples_select_table($r,$records,$d)
@@ -2608,22 +2608,25 @@ $d is an array of 2 element arrays (inte
=cut
+######################################################
+######################################################
sub csv_samples_select_table {
my ($r,$records,$d) = @_;
my %sone; my %stwo; my %sthree;
my $i=0;
-
- $r->print('Field Samples ');
+ #
+ $r->print(''.
+ &mt('Field').' '.&mt('Samples').' ');
%sone=&record_sep($$records[0]);
if (defined($$records[1])) {%stwo=&record_sep($$records[1]);}
if (defined($$records[2])) {%sthree=&record_sep($$records[2]);}
-
+ #
foreach (sort keys %sone) {
- $r->print('print('');
foreach (@$d) {
my ($value,$display)=@{ $_ };
- $r->print(''.$display.' ');
+ $r->print(''.$display.' ');
}
$r->print(' ');
if (defined($sone{$_})) { $r->print($sone{$_}."\n"); }
@@ -2636,6 +2639,9 @@ sub csv_samples_select_table {
return($i);
}
+######################################################
+######################################################
+
=pod
=item clean_excel_name($name)
@@ -2644,6 +2650,8 @@ Returns a replacement for $name which do
=cut
+######################################################
+######################################################
sub clean_excel_name {
my ($name) = @_;
$name =~ s/[:\*\?\/\\]//g;