validAliasString($alias)) { $query .= self::$aliasTerm . self::$quoteTerm . $alias . self::$quoteTerm . $this->addDomainTerm($domain); } else { return null; } // send query return $this->query($query); } /** * Methods send an query for the sps-service depends of coordinates * @param array $queryArgs * @return array [num][assoc] */ public function sendSpsCoordinateQuery($queryArgs) { // check arguments of the query if (array_key_exists(\api\SpsApi::$keyPoly, $queryArgs)) { $poly = $queryArgs[\api\SpsApi::$keyPoly]; } else { return null; } $domain = null; if (array_key_exists(\api\SpsApi::$keyDomain, $queryArgs)) { $domain = $queryArgs[\api\SpsApi::$keyDomain]; } // build query string if ($this->validPolyString($poly)) { $query = self::$selectTerm . self::$interSectTermStart . $poly . self::$interSectTermEnd . $this->addDomainTerm($domain); } else { return null; } // send query return $this->query($query); } /** * Method create the correct domain part depends of $domain. If it is a number => did * otherwise => dName * @param string $domain * @return string */ private function addDomainTerm($domain) { $result = null; if ($domain != null && $this->validDomainString($domain)) { if ($this->isDid($domain)) { $result .= self::$andTerm . self::$domainTerm . self::$quoteTerm . $domain . self::$quoteTerm; } else { $result .= self::$andTerm . self::$domainNameTerm . self::$quoteTerm . $domain . self::$quoteTerm; } } return $result; } /** * Method check if the input value for the alias is valid * @param string $alias * @return boolean */ private function validAliasString($alias) { if (\utiliy\StringManager::validSQLString($alias) && ctype_alnum($alias) && strlen($alias) <= self::$aliasMaxLenght) { return TRUE; } return FALSE; } /** * Method check if the input value for the alias is valid * @param string $domain * @return boolean */ private function validDomainString($domain) { if (\utiliy\StringManager::validSQLString($domain) && ctype_alnum($domain) && strlen($domain) <= self::$domainMaxLenght) { return TRUE; } return FALSE; } /** * Method check if the input value for the polygon is valid * @param string $poly * @return boolean */ private function validPolyString($poly) { if (\utiliy\StringManager::validSQLString($poly) && \utiliy\StringManager::startsWith($poly, self::$polyStartStr) && \utiliy\StringManager::endsWith($poly, self::$polyEndStr)) { return TRUE; } return FALSE; } /** * Method check if the ntring is a did * @param string $string * @return boolean */ private function isDid($string) { return ctype_digit($string); } } ?>