static function getCityId($city) { $sql = self::$db->quote(lingua::getKeywords($city)); $sql = "SELECT city_id\n FROM city\n WHERE search={$sql}\n LIMIT 1"; $sql = self::$db->query($sql)->fetchAll(PDO::FETCH_NUM); return $sql ? $sql[0][0] : 0; }
function compose($o) { $db = patchworkPath('data/geodb.sqlite3'); $db = new PDO("sqlite:{$db}"); $sql = $this->get->q; $sql = '*' == $sql ? '' : lingua::getKeywords($sql); $sql = substr($db->quote($sql), 1, -1); switch ($a = substr($sql, 0, 3)) { case 'agi': case 'ayi': if ('os ' == substr($sql, 3, 3)) { $sql = substr($sql, 5); $sql = "search GLOB 'agios{$sql}*' OR search GLOB 'ayios{$sql}*'"; break; } case 'st ': $sql = 'saint ' . substr($sql, 3); default: $sql = '' === $sql ? 1 : "search GLOB '{$sql}*'"; } $sql = "SELECT city_id, city FROM city WHERE {$sql} ORDER BY rowid"; $o->cities = new loop_city_($db, $sql, 15); return $o; }