Diff for /loncom/interface/loncommon.pm between versions 1.1088 and 1.1091

version 1.1088, 2012/08/06 11:09:10 version 1.1091, 2012/08/14 10:22:25
Line 70  use Apache::lonclonecourse(); Line 70  use Apache::lonclonecourse();
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
 use DateTime::TimeZone;  use DateTime::TimeZone;
 use DateTime::Locale::Catalog;  use DateTime::Locale::Catalog;
   use Text::Aspell;
   
 # ---------------------------------------------- Designs  # ---------------------------------------------- Designs
 use vars qw(%defaultdesign);  use vars qw(%defaultdesign);
Line 1016  sub list_languages { Line 1017  sub list_languages {
  if ($code) {   if ($code) {
     my $selector    = $supported_codes{$id};      my $selector    = $supported_codes{$id};
     my $description = &plainlanguagedescription($id);      my $description = &plainlanguagedescription($id);
     &Apache::lonnet::logthis("pushing $selector : $description");  
     push (@lang_choices, [$selector, $description]);      push (@lang_choices, [$selector, $description]);
  }   }
     }      }
Line 3016  sub get_related_words { Line 3016  sub get_related_words {
     untie %thesaurus_db;      untie %thesaurus_db;
     return @Words;      return @Words;
 }  }
   ###############################################################
   #
   #  Spell checking
   #
   
 =pod  =pod
   
   =head1 Spell checking
   
   =over 4
   
   =item * &check_spelling($wordlist $language)
   
   Takes a string containing words and feeds it to an external
   spellcheck program via a pipeline. Returns a string containing
   them mis-spelled words.
   
   Parameters:
   
   =over 4
   
   =item - $wordlist
   
   String that will be fed into the spellcheck program.
   
   =item - $language
   
   Language string that specifies the language for which the spell
   check will be performed.
   
 =back  =back
   
   =back
   
   Note: This sub assumes that aspell is installed.
   
   
 =cut  =cut
   
   
   =pod
   
   =back
   
   =cut
   
   sub check_spelling {
       my ($wordlist, $language) = @_;
       my @misspellings;
       
       # Generate the speller and set the langauge.
       # if explicitly selected:
   
       my $speller = Text::Aspell->new;
       if ($language) {
    $speller->set_option('lang', $language);
       }
   
       # Turn the word list into an array of words by splittingon whitespace
   
       my @words = split(/\s+/, $wordlist);
   
       foreach my $word (@words) {
    if(! $speller->check($word)) {
       push(@misspellings, $word);
    }
       }
       return join(' ', @misspellings);
       
   }
   
 # -------------------------------------------------------------- Plaintext name  # -------------------------------------------------------------- Plaintext name
 =pod  =pod
   

Removed from v.1.1088  
changed lines
  Added in v.1.1091


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>