コード例 #1
0
 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'];
     }
 }
コード例 #2
0
 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;
 }