Make search results more fixed to language, safe search results by default 2, a=chris

Chris Pollett [2019-06-09 02:Jun:th]
Make search results more fixed to language, safe search results by default 2, a=chris
Filename
src/models/PhraseModel.php
diff --git a/src/models/PhraseModel.php b/src/models/PhraseModel.php
index 761fdf95f..8394748c5 100755
--- a/src/models/PhraseModel.php
+++ b/src/models/PhraseModel.php
@@ -1544,7 +1544,23 @@ class PhraseModel extends ParallelModel
             } else {
                 $index_name = $this->index_name;
             }
-            $iterators[0] = new I\NetworkIterator($original_query,
+            $disjunct_phrases = explode("|", $original_query);
+            $out_query = "";
+            $pipe = "";
+            foreach ($disjunct_phrases as $disjunct) {
+                if (!stristr($disjunct, "lang:")) {
+                    $locale_tag = L\guessLocaleFromString($original_query);
+                    $lang_parts = explode("-", $locale_tag);
+                    $disjunct .= " lang:" . $lang_parts[0];
+                }
+                if (!stristr($disjunct, "safe:")) {
+                    $disjunct .= (empty($_SESSION['safe'])) ?
+                        " safe:true" : " safe:" . $_SESSION['safe'];
+                }
+                $out_query .= $pipe . $disjunct;
+                $pipe = "|";
+            }
+            $iterators[0] = new I\NetworkIterator($out_query,
                 $queue_servers, $index_name, $filter, $save_timestamp_name);
         }
         if (!$network_flag) {
ViewGit