version 1.2, 2004/07/22 19:43:46
|
version 1.4, 2004/07/22 23:50:55
|
Line 35 use Apache::lonlocal;
|
Line 35 use Apache::lonlocal;
|
use strict; |
use strict; |
my $speller; |
my $speller; |
|
|
|
sub spellcheck_language { |
|
if ($ENV{'form.lang'}) { return $ENV{'form.lang'}; } |
|
if (&mt('spellcheck_lang') ne 'spellcheck_lang') { |
|
return &mt('spellcheck_lang'); |
|
} |
|
return 'en_US'; |
|
} |
|
|
|
sub set_language { |
|
my $lang=&spellcheck_language(); |
|
$speller->set_option('lang',$lang); |
|
} |
|
|
sub markeduptext { |
sub markeduptext { |
my $input=shift; |
my $input=shift; |
my $output=''; |
my $output=''; |
|
&set_language(); |
foreach my $word (split(/\W+/,$input)) { |
foreach my $word (split(/\W+/,$input)) { |
if ($speller->check($word)) { |
if ($speller->check($word)) { |
$output.=$word.' '; |
$output.=$word.' '; |
Line 58 sub markeduptext {
|
Line 72 sub markeduptext {
|
return $output; |
return $output; |
} |
} |
|
|
|
sub initspeller { |
|
unless (defined($speller)) { |
|
$speller = Text::Aspell->new; |
|
$speller->set_option('lang','en_US'); |
|
$speller->set_option('sug-mode','fast'); |
|
} |
|
} |
|
|
|
sub handler { |
|
my $r = shift; |
|
&Apache::loncommon::content_type($r,'text/html'); |
|
$r->send_http_header; |
|
return OK if $r->header_only; |
|
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); |
|
|
|
&initspeller(); |
|
$r->print('<html><head><title>'. |
|
&mt('Spell Checker'). |
|
'</title></head><body bgcolor="#DDDDDD">'. |
|
&markeduptext($ENV{'form.text'}). |
|
'</body></html>'); |
|
return OK; |
|
} |
|
|
BEGIN { |
BEGIN { |
$speller = Text::Aspell->new; |
&initspeller(); |
$speller->set_option('lang','en_US'); |
|
$speller->set_option('sug-mode','fast'); |
|
# $speller->set_option('mode','sgml'); |
|
} |
} |
|
|
1; |
1; |