First attempt at language support in news feeds, a=chris

Chris Pollett [2012-09-08 07:Sep:th]
First attempt at language support in news feeds, a=chris
Filename
controllers/search_controller.php
lib/locale_functions.php
models/source_model.php
diff --git a/controllers/search_controller.php b/controllers/search_controller.php
index 47eda8642..59c6af010 100755
--- a/controllers/search_controller.php
+++ b/controllers/search_controller.php
@@ -152,7 +152,12 @@ class SearchController extends Controller implements CrawlConstants
             }
             if($this->subsearch_name == "news" &&
                 (!isset($_REQUEST['q']) || $_REQUEST['q']=="")) {
-                $_REQUEST['q'] = "lang:".getLocaleTag();
+                $lang = getLocaleTag();
+                $lang_parts = explode("-", $lang);
+                if(isset($lang_parts[0])){
+                    $lang = $lang_parts[0];
+                }
+                $_REQUEST['q'] = "lang:".$lang;
                 $no_query = true;
             }
         }
diff --git a/lib/locale_functions.php b/lib/locale_functions.php
index 6f7c5f64f..0427bfc72 100644
--- a/lib/locale_functions.php
+++ b/lib/locale_functions.php
@@ -38,7 +38,6 @@
  */
 require_once BASE_DIR."/models/locale_model.php";

-
 /**
  *  Attempts to guess the user's locale based on the request, session,
  *  and user-agent data
diff --git a/models/source_model.php b/models/source_model.php
index f15c07f86..b5799ef0d 100644
--- a/models/source_model.php
+++ b/models/source_model.php
@@ -320,7 +320,12 @@ class SourceModel extends Model
                     $raw_guid."d". substr(crawlHash(
                     UrlParser::getHost($item["LINK"])."/",true), 1);
                 $meta_ids = array("media:news", "media:news:".
-                    urlencode($source_name), "lang:".$lang);
+                    urlencode($source_name));
+                $lang_parts = explode("-", $lang);
+                $meta_ids[] = 'lang:'.$lang_parts[0];
+                if(isset($lang_parts[1])){
+                    $meta_ids[] = 'lang:'.$lang;
+                }
                 $feed_shard->addDocumentWords($doc_keys, $item['PUBDATE'],
                     $word_lists, $meta_ids, true, false);
             }
@@ -379,8 +384,12 @@ class SourceModel extends Model
         $doc_keys = crawlHash($item["link"], true) .
             $raw_guid."d". substr(crawlHash(
             UrlParser::getHost($item["link"])."/",true), 1);
-        $meta_ids = array("media:news", "media:news:".urlencode($source_name),
-            "lang:".$lang);
+        $meta_ids = array("media:news", "media:news:".urlencode($source_name));
+        $lang_parts = explode("-", $lang);
+        $meta_ids[] = 'lang:'.$lang_parts[0];
+        if(isset($lang_parts[1])){
+            $meta_ids[] = 'lang:'.$lang;
+        }
         $feed_shard->addDocumentWords($doc_keys, $item['pubDate'], $word_lists,
             $meta_ids, true, false);
     }
ViewGit