#! /usr/bin/perl -w use warnings; use strict; use CGI; use CGI::Carp qw ( fatalsToBrowser ); use DB_File; use Fcntl; use File::Basename; print "Content-Type:text/html\n\n"; ######################open the settings file my $query = new CGI; my $status = $query->param("status"); my $lgfilename = $query->param("lgfilename"); my %sts; my $settingsfile="$ENV{'DOCUMENT_ROOT'}/cgi-bin/test/ex/settings/settings.txt";# tie %sts hash to settings file in settings.txt tie (%sts, "DB_File", $settingsfile) or die "Can't open $settingsfile: $!\n"; ######################open the language file my $langdir=$sts{'1'}; my %lng; my $lfile="$ENV{'DOCUMENT_ROOT'}/cgi-bin/test/ex/language/$sts{'1'}";# tie %lng hash to language file in ???language.txt tie (%lng, "DB_File", $lfile) or die "Cant open $lfile: $!\n"; my $count = scalar keys %lng; #################### print qq~ $lng{'19'} ~; print qq~

$lng{'1'}

$lng{'2'}

$lng{'3'}
$lng{'4'}

$lng{'5'}
$lng{'10'}


$lng{'6'}
$lng{'7'}
$lng{'8'}



~; $lgfilename =~ s/\b([a-z])(\w+)\b/\u$1$2/g; if($status eq "old"){ print qq~



$lng{'13'}
$lng{'15'} $lgfilename ~; } if($status eq "new"){ print qq~



$lng{'14'}
$lng{'16'} $lgfilename ~; } print qq~

~; untie %lng; untie %sts; # Clears buffers, then saves, closes, and unlocks file ##make the new "form-on-the-fly open(AAA,">makelangfile.pl")or die "Cant create newlangform.pl $!"; print AAA"\#! /usr/bin/perl -w\n"; print AAA"use warnings\;\n"; print AAA"use strict\;\n"; print AAA"use CGI\;\n"; print AAA"use CGI::Carp qw ( fatalsToBrowser )\;\n"; print AAA"use DB_File\;\n"; print AAA"use Fcntl\;\n"; print AAA"use File::Basename;\n"; print AAA"print\"Content-Type:text/html\\n\\n\"\;\n"; print AAA"my \$query = new CGI\;\n"; print AAA"my \$existing_lang_file = \$query->param(\"existing_lang_file\")\;\n"; print AAA"my \$new_lang = \$query->param(\"new_lang\")\;\n"; print AAA"my \%sts\;\n"; ##open the settings file print AAA"my \%sts\;\n"; print AAA"my \$settingsfile=\"\$ENV{\'DOCUMENT_ROOT\'}/cgi-bin/test/ex/settings/settings.txt\"\;\n";# tie %sts hash to settings file in settings.txt print AAA"tie (\%sts, \"DB_File\", \$settingsfile) or die \"Cant open \$settingsfile: \$!\\n\"\;\n"; ##open the language file print AAA"my \%lng\;\n"; print AAA"my \$lngfile=\"\$ENV{\'DOCUMENT_ROOT\'}/cgi-bin/test/ex/language/\$sts{\'1\'}\"\;\n";# tie %lng hash to language file in ??language.txt print AAA"tie (\%lng, \"DB_File\", \$lngfile) or die \"Can't open \$lngfile: \$!\\n\"\;\n"; #################### print AAA"print qq~\n"; print AAA"\n"; print AAA" \n"; print AAA" \n"; print AAA" \$lng{\'19\'}\n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; ################# for($b=0;$b<$count;$b++){$a=$b+1; #figure how many entries for form ################# #print AAA"print qq~\n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; #print AAA"~\;\n"; }#end the "count" forloop #print AAA"print qq~\n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; print AAA" \n"; print AAA"
\n"; print AAA"

\n"; print AAA" \$lng{'9'}\n"; print AAA"

\n"; print AAA"
\n"; print AAA"

\n"; print AAA"
\$lng{'$a'}
\n"; print AAA"

\n"; print AAA"

\n"; print AAA"
\n"; print AAA"

\n"; print AAA" \n"; print AAA"

\n"; print AAA"

\n"; print AAA" \n"; print AAA"\n"; print AAA"~\;\n"; print AAA"untie \%lng\;\n"; print AAA"untie \%sts\;\n"; # Clears buffers, then saves, closes, and unlocks file close(AAA); ######################Build Final Processing Page open(BBB,">processlangfile.pl") or die "Cant build the processlangfile.pl file $!"; print BBB"\#! /usr/bin/perl -w\n"; print BBB"use warnings\;\n"; print BBB"use strict\;\n"; print BBB"use CGI\;\n"; print BBB"use CGI::Carp qw ( fatalsToBrowser )\;\n"; print BBB"use DB_File\;\n"; print BBB"use Fcntl\;\n"; print BBB"use File::Basename;\n"; print BBB"my \$query = new CGI\;\n"; print BBB"my \$new_lang = \$query->param(\"new_lang\")\;\n"; for($b=0;$b<$count;$b++){$a=$b+1; #figure how many entries for form print BBB"my \$newlang$a = \$query->param(\"newlang$a\")\;\n"; } ##open the settings file print BBB"my \%sts\;\n"; print BBB"my \$settingsfile=\"\$ENV{\'DOCUMENT_ROOT\'}/cgi-bin/test/ex/settings/settings.txt\"\;\n";# tie %sts hash to settings file in settings.txt print BBB"tie (\%sts, \"DB_File\", \$settingsfile) or die \"Cant open \$settingsfile: \$!\\n\"\;\n"; ##open the language file print BBB"my \%lng\;\n"; print BBB"my \$lngfile=\"\$ENV{\'DOCUMENT_ROOT\'}/cgi-bin/test/ex/language/\$sts{\'1\'}\"\;\n";# tie %lng hash to language file in ??language.txt print BBB"tie (\%lng, \"DB_File\", \$lngfile) or die \"Cant open \$lngfile: \$!\\n\"\;\n"; print BBB"my \$newlanguagefile\;\n"; print BBB"my \$lcnew_lang =lc(\$new_lang)\;\n"; print BBB"\$new_lang =~ s/.txt*//g\;\n";#remove the ".txt" from the name print BBB"my \$status\;\n"; print BBB"if(\$new_lang eq \"\"){\n";#make it all lower case print BBB"\$newlanguagefile=\"\$sts{\'1\'}\"\;\n"; print BBB"\$status=\"old\"\;\n"; print BBB"}\n"; print BBB"elsif(\$new_lang ne \"\"){\n"; print BBB"\$newlanguagefile=\"\$new_lang\"\;\n"; print BBB"\$status=\"new\"\;\n"; print BBB"}\n"; ###########################################PRINT OUT THE NEW INFORMATION for($b=0;$b<$count;$b++){$a=$b+1; #figure how many entries for form print BBB"my \$final$a\;\n"; print BBB"if(\$newlang$a ne \"\"){\$final$a=\"\$newlang$a\"\;}\n"; print BBB"elsif(\$newlang$a eq \"\"){\$final$a=\"\$lng{\'$a\'}\"\;}\n"; } print BBB"untie \%lng\;\n"; # delete any existing language.txt file print BBB"unlink \$lngfile\;\n"; # tie %lng(language) hash to and create db file in color.txt print BBB"tie (\%lng, \"DB_File\", \$lngfile, O_CREAT) or die \"Cant open \$lngfile: \$!\\n\"\;\n"; # (re)evaluate db in language.txt by evaluating key/value pairs in \%lng hash as follows\n"; print BBB"\%lng=(\n"; for($b=0;$b<$count;$b++){$a=$b+1; print BBB"\'$a\' => \"\$final$a\",\n"; } print BBB")\;\n"; print BBB"\$newlanguagefile =~ s/.txt*//g\;\n"; print BBB"my \$newlanguagefile=lc(\$newlanguagefile)\;\n"; print BBB"open(EEE,\">values/\$newlanguagefile.txt\")or die\"No Can Do \$!\"\;\n"; for($b=0;$b<$count;$b++){$a=$b+1; #figure how many entries for form print BBB"print EEE\"\\\$lng{\\\'$a\\\'} = \$final$a\\n\"\;\n"; } print BBB"close(EEE)\;\n"; print BBB"untie \%lng\;\n"; print BBB"untie \%sts\;\n"; # Clears buffers, then saves, closes, and unlocks file print BBB"print\"Location:newlangform.pl?status=\$status\;lgfilename=\$newlanguagefile\\n\\n\"\;\n"; close(BBB);