]> git.openstreetmap.org Git - nominatim.git/blobdiff - lib/SearchContext.php
move country list to SearchContext
[nominatim.git] / lib / SearchContext.php
index 7552ae992a9df85882bf046f2e1be4587694df51..f5eab95ac5d8d7dd4e5d8ce59903f0a6c240d67d 100644 (file)
@@ -22,6 +22,8 @@ class SearchContext
     public $sqlViewboxSmall = '';
     public $sqlViewboxLarge = '';
     public $sqlViewboxCentre = '';
+    public $sqlCountryList = '';
+    private $sqlExcludeList = '';
 
     public function hasNearPoint()
     {
@@ -91,6 +93,16 @@ class SearchContext
         $this->sqlViewboxLarge = "'".$sGeom."'::geometry";
     }
 
+    public function setExcludeList($aExcluded)
+    {
+        $this->sqlExcludeList = ' not in ('.join(',', $aExcluded).')';
+    }
+
+    public function setCountryList($aCountries)
+    {
+        $this->sqlCountryList = '('.join(',', array_map('addQuotes', $aCountries)).')';
+    }
+
     /**
      * Extract a coordinate point from a query string.
      *
@@ -138,4 +150,13 @@ class SearchContext
 
         return $sSQL;
     }
+
+    public function excludeSQL($sVariable)
+    {
+        if ($this->sqlExcludeList) {
+            return $sVariable.$this->sqlExcludeList;
+        }
+
+        return '';
+    }
 }