コード例 #1
0
ファイル: ProductCount.php プロジェクト: saiber/livecart
 public function getCountByPrices($includeAppliedFilters)
 {
     // get price filters
     $k = 0;
     $filters = array();
     $config = $this->application->getConfig();
     while ($config->isValueSet('PRICE_FILTER_NAME_' . ++$k)) {
         if ($config->get('PRICE_FILTER_NAME_' . $k) && !is_array($config->get('PRICE_FILTER_NAME_' . $k))) {
             $from = $config->get('PRICE_FILTER_FROM_' . $k);
             $to = $config->get('PRICE_FILTER_TO_' . $k);
             if ($to) {
                 $filters[$k] = array($from, $to);
             }
         }
     }
     if (!$filters) {
         return array();
     }
     // get product counts
     $selectFilter = $this->productFilter->getSelectFilter(!$includeAppliedFilters);
     $selectFilter->removeFieldList();
     $selectFilter->setLimit(0);
     $query = new ARSelectQueryBuilder();
     $query->includeTable('Product');
     $query->joinTable('ProductPrice', 'Product', 'productID AND (ProductPrice.currencyID = "' . $this->application->getDefaultCurrencyCode() . '")', 'ID');
     $query->joinTable('Category', 'Product', 'ID', 'categoryID');
     foreach ($filters as $key => $filter) {
         $query->addField('SUM(ProductPrice.price >= ' . $filter[0] . ' AND ProductPrice.price <= ' . $filter[1] . ')', null, $key);
     }
     $query->setFilter($selectFilter);
     $data = ActiveRecordModel::getDataBySQL($query->getPreparedStatement(ActiveRecordModel::getDBConnection()));
     //$data = array_diff($data[0], array(0));
     return $data[0];
 }
コード例 #2
0
ファイル: DatabaseSessionHandler.php プロジェクト: saiber/www
 public function open()
 {
     try {
         $this->db = ActiveRecordModel::getDBConnection();
         $this->db->sessionHandler = $this;
         return true;
     } catch (SQLException $e) {
         return false;
     }
 }