function load() { $sql = "SELECT \t\titem_key,\n get_content_item(" . Database::SqlString($this->code) . ", item_key) AS content\n FROM \t\tcontent_item\n WHERE\t\t1 = 1 "; if (!is_null($this->keyFilter)) { $sql .= "AND item_key LIKE '" . $this->keyFilter . "%' "; } foreach ($this->db->getResultset($sql) as $row) { $this->items[$row['item_key']] = $row['content']; } }
function getProvidersRs() { if ($this->locMode == self::LOCMODE_RADIAL) { $distanceCall = 'distance_km(p.latitude,p.longitude,' . Database::SqlNumeric($this->lat1) . "," . Database::SqlNumeric($this->lng1) . ')'; } $sql = "SELECT p.id,\n p.partner_reference,\n p.name,\n p.address_1,\n p.address_2,\n p.address_3,\n p.address_postref,\n p.latitude,\n p.longitude,\n op.id AS online_provider_id "; if ($this->locMode == self::LOCMODE_RADIAL) { $sql .= "," . $distanceCall . " AS distance "; } else { $sql .= ",null AS distance "; } $sql .= "FROM provider AS p\n LEFT OUTER JOIN online_provider AS op ON p.id = op.provider_id\n WHERE p.active = 'T'\n AND p.partner_code = " . Database::SqlString(Config::Get(Application::CONFIG_PARTNERCODE)) . " "; switch ($this->locMode) { case self::LOCMODE_RADIAL: $sql .= "AND " . $distanceCall . " < " . self::SEARCH_RADIUS . " "; break; case self::LOCMODE_BOUNDS: $sql .= "AND p.latitude BETWEEN " . $this->lat1 . " AND " . $this->lat2 . " "; $sql .= "AND p.longitude BETWEEN " . $this->lng1 . " AND " . $this->lng2 . " "; break; } if (!is_null($this->categoryId)) { $sql .= "AND p.id IN (SELECT s.provider_id\n FROM service AS s\n INNER JOIN service_category_cache AS scc ON s.id = scc.service_id\n WHERE scc.category_id = " . Database::SqlInt($this->categoryId) . ") "; } //HACK: making sure email/sms option enabled for requests $sql .= "AND (p.email_requests = 'T' OR p.sms_requests = 'T') "; //sorting if ($this->locMode == self::LOCMODE_RADIAL) { $sql .= "ORDER BY " . $distanceCall . " ASC "; } else { $sql .= "ORDER BY p.name ASC "; } //get $rs = $this->db->getResultset($sql); return $rs; }