]> git.wh0rd.org - tt-rss.git/blobdiff - include/rssfuncs.php
make language detection optional (closes #779)
[tt-rss.git] / include / rssfuncs.php
index c0d81c351a2fb76ba40351cc08d3d29402fd55ac..13d6baeab99bea508de3cde15697724ad058a338 100644 (file)
                                while ($tline = db_fetch_assoc($tmp_result)) {
                                        if($debug) _debug(" => " . $tline["last_updated"] . ", " . $tline["id"] . " " . $tline["owner_uid"]);
                                        update_rss_feed($tline["id"], true);
+                                       _debug_suppress(false);
                                        ++$nf;
                                }
                        }
 
                $debug_enabled = defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug'];
 
+               _debug_suppress(!$debug_enabled);
                _debug("start", $debug_enabled);
 
                $result = db_query("SELECT id,update_interval,auth_login,
                        $rss->init();
                }
 
-               require_once "lib/languagedetect/LanguageDetect.php";
+               if (DETECT_ARTICLE_LANGUAGE) {
+                       require_once "lib/languagedetect/LanguageDetect.php";
 
-               $lang = new Text_LanguageDetect();
-               $lang->setNameMode(2);
+                       $lang = new Text_LanguageDetect();
+                       $lang->setNameMode(2);
+               }
 
 //             print_r($rss);
 
                                        print "\n";
                                }
 
-                               $entry_language = $lang->detect($entry_content, 1);
+                               $entry_language = "";
+
+                               if (DETECT_ARTICLE_LANGUAGE) {
+                                       $entry_language = $lang->detect($entry_title . " " . $entry_content, 1);
 
-                               if (count($entry_language) > 0) {
-                                       $entry_language = array_keys($entry_language);
-                                       $entry_language = db_escape_string($entry_language[0]);
+                                       if (count($entry_language) > 0) {
+                                               $entry_language = array_keys($entry_language);
+                                               $entry_language = db_escape_string(substr($entry_language[0], 0, 2));
 
-                                       _debug("detected language: $entry_language", $debug_enabled);
+                                               _debug("detected language: $entry_language", $debug_enabled);
+                                       }
                                }
 
                                $entry_comments = $item->get_comments_url();
                                        "tags" => $entry_tags,
                                        "plugin_data" => $entry_plugin_data,
                                        "author" => $entry_author,
-                                       "stored" => $stored_article);
+                                       "stored" => $stored_article,
+                                       "feed" => array("id" => $feed,
+                                               "fetch_url" => $fetch_url,
+                                               "site_url" => $site_url)
+                                       );
 
                                foreach ($pluginhost->get_hooks(PluginHost::HOOK_ARTICLE_FILTER) as $plugin) {
                                        $article = $plugin->hook_article_filter($article);
                                if (is_array($encs)) {
                                        foreach ($encs as $e) {
                                                $e_item = array(
-                                                       $e->link, $e->type, $e->length);
+                                                       $e->link, $e->type, $e->length, $e->title);
                                                array_push($enclosures, $e_item);
                                        }
                                }
 
                                db_query("BEGIN");
 
+//                             debugging
+//                             db_query("DELETE FROM ttrss_enclosures WHERE post_id = '$entry_ref_id'");
+
                                foreach ($enclosures as $enc) {
                                        $enc_url = db_escape_string($enc[0]);
                                        $enc_type = db_escape_string($enc[1]);
                                        $enc_dur = db_escape_string($enc[2]);
+                                       $enc_title = db_escape_string($enc[3]);
 
                                        $result = db_query("SELECT id FROM ttrss_enclosures
                                                WHERE content_url = '$enc_url' AND post_id = '$entry_ref_id'");
                                        if (db_num_rows($result) == 0) {
                                                db_query("INSERT INTO ttrss_enclosures
                                                        (content_url, content_type, title, duration, post_id) VALUES
-                                                       ('$enc_url', '$enc_type', '', '$enc_dur', '$entry_ref_id')");
+                                                       ('$enc_url', '$enc_type', '$enc_title', '$enc_dur', '$entry_ref_id')");
                                        }
                                }
 
                $rc = cleanup_tags( 14, 50000);
 
                _debug("Cleaned $rc cached tags.");
+
+               PluginHost::getInstance()->run_hooks(PluginHost::HOOK_HOUSE_KEEPING, "hook_house_keeping", "");
+
        }
 ?>