version 1.6, 2004/07/27 23:35:34
|
version 1.17, 2006/07/03 13:40:42
|
Line 33 package Apache::lonspeller;
|
Line 33 package Apache::lonspeller;
|
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Text::Aspell; |
use Text::Aspell; |
use Apache::lonlocal; |
use Apache::lonlocal; |
|
use Apache::lonnet; |
|
use Apache::lontexconvert(); |
use HTML::LCParser; |
use HTML::LCParser; |
use strict; |
use strict; |
|
|
Line 40 my $speller;
|
Line 42 my $speller;
|
my $insidelink; |
my $insidelink; |
|
|
sub spellcheck_language { |
sub spellcheck_language { |
if ($ENV{'form.lang'}) { return $ENV{'form.lang'}; } |
if ($env{'form.lang'}) { return $env{'form.lang'}; } |
if (&mt('spellcheck_lang') ne 'spellcheck_lang') { |
if (&mt('spellcheck_lang') ne 'spellcheck_lang') { |
return &mt('spellcheck_lang'); |
return &mt('spellcheck_lang'); |
} |
} |
Line 52 sub set_language {
|
Line 54 sub set_language {
|
$speller->set_option('lang',$lang); |
$speller->set_option('lang',$lang); |
} |
} |
|
|
|
{ |
|
my $uniq; |
|
sub get_uniq { |
|
return ++$uniq; |
|
} |
|
} |
|
|
sub textsection { |
sub textsection { |
my $input=shift; |
my $input=shift; |
my $output=''; |
my $output=''; |
Line 62 sub textsection {
|
Line 71 sub textsection {
|
$output.=$word; |
$output.=$word; |
} else { |
} else { |
my $suggestions=join(' ',$speller->suggest($word)); |
my $suggestions=join(' ',$speller->suggest($word)); |
$suggestions=~s/\'/\\\'/gs; |
$suggestions = &Apache::loncommon::js_ready($suggestions); |
if (($suggestions) && (!$insidelink)) { |
if (($suggestions) && (!$insidelink)) { |
$output.='<a href="javascript:alert('."'". |
my $start_page= |
$suggestions."');". |
&Apache::loncommon::start_page('Speller Suggestions',undef, |
'">'; |
{'only_body' => 1, |
|
'js_ready' => 1, |
|
'bgcolor' => '#FFFFFF'}); |
|
my $end_page= |
|
&Apache::loncommon::end_page({'js_ready' => 1,}); |
|
my $num = &get_uniq(); |
|
my $info ='<h3>'.$word.'</h3>'.$suggestions; |
|
$output .= "<script type=\"text/javascript\"> |
|
//<!-- |
|
function LONCAPA_lonspeller_$num() { |
|
spellwin=open(".&Apache::lonhtmlcommon::javascript_nothing().",'spellwin','width=140,height=280,resizable=yes,scrollbars=yes,location=no,menubar=no,toolbar=no'); |
|
spellwin.".&Apache::lonhtmlcommon::javascript_docopen()."; |
|
spellwin.document.writeln('$start_page $info $end_page'); |
|
spellwin.document.close(); |
|
spellwin.focus(); |
|
} |
|
//--> |
|
</script><a href=\"javascript:LONCAPA_lonspeller_$num();void(0);\">"; |
} |
} |
$output.='<font color="red">'.$word.'</font>'; |
$output.='<font color="red">'.$word.'</font>'; |
if (($suggestions) && (!$insidelink)) { $output.='</a>'; } |
if (($suggestions) && (!$insidelink)) { $output.='</a>'; } |
Line 123 sub handler {
|
Line 149 sub handler {
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); |
|
|
&initspeller(); |
&initspeller(); |
$r->print('<html><head><title>'. |
my $start_page = |
&mt('Spell Checker'). |
&Apache::loncommon::start_page('Spell Checker',undef, |
'</title></head><body bgcolor="#DDDDDD">'. |
{'only_body' => 1, |
&markeduptext($ENV{'form.text'}). |
'bgcolor' => '#DDDDDD'}); |
'</body></html>'); |
$r->print($start_page. |
|
&Apache::lontexconvert::msgtexconverted( |
|
&markeduptext($env{'form.text'})). |
|
&Apache::loncommon::end_page()); |
return OK; |
return OK; |
} |
} |
|
|