diff options
author | Andrew Dolgov <[email protected]> | 2015-06-19 10:12:47 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2015-06-19 10:12:47 +0300 |
commit | 3318d324105ee222a54afc94076878c12b588c24 (patch) | |
tree | a12222c9add62f165946cf6b03a6cd7e885350d8 /plugins/af_lang_detect/init.php | |
parent | 724e08f1c01bb60681616e3b1ddc14bc0648de3a (diff) |
move language detection to a plugin, remove config.php constant
Diffstat (limited to 'plugins/af_lang_detect/init.php')
-rw-r--r-- | plugins/af_lang_detect/init.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/plugins/af_lang_detect/init.php b/plugins/af_lang_detect/init.php new file mode 100644 index 000000000..3f2eb29f8 --- /dev/null +++ b/plugins/af_lang_detect/init.php @@ -0,0 +1,46 @@ +<?php +class Af_Lang_Detect extends Plugin { + private $host; + private $lang; + + function about() { + return array(1.0, + "Detect article language", + "fox"); + } + + function init($host) { + $this->host = $host; + + $host->add_hook($host::HOOK_ARTICLE_FILTER, $this); + + require_once __DIR__ . "/languagedetect/LanguageDetect.php"; + + $this->lang = new Text_LanguageDetect(); + $this->lang->setNameMode(2); + } + + function hook_article_filter($article) { + + if ($this->lang) { + $entry_language = $this->lang->detect($article['title'] . " " . $article['content'], 1); + + if (count($entry_language) > 0) { + $possible = array_keys($entry_language); + $entry_language = $possible[0]; + + _debug("detected language: $entry_language"); + + $article["language"] = $entry_language; + } + } + + return $article; + } + + function api_version() { + return 2; + } + +} +?> |