/**
  * Add filter by attribute rated price
  *
  * @param Mage_CatalogSearch_Model_Mysql4_Advanced_Collection $collection
  * @param Mage_Catalog_Model_Resource_Eav_Attribute $attribute
  * @param string|array $value
  * @param int $rate
  *
  * @return bool
  */
 public function addRatedPriceFilter($collection, $attribute, $value, $rate = 1)
 {
     $adapter = $this->_getReadAdapter();
     $conditions = array();
     if (strlen($value['from']) > 0) {
         $conditions[] = $adapter->quoteInto('price_index.min_price %s * %s >= ?', $value['from']);
     }
     if (strlen($value['to']) > 0) {
         $conditions[] = $adapter->quoteInto('price_index.min_price %s * %s <= ?', $value['to']);
     }
     if (!$conditions) {
         return false;
     }
     $collection->addPriceData();
     $select = $collection->getSelect();
     $response = $this->_dispatchPreparePriceEvent($select);
     $additional = join('', $response->getAdditionalCalculations());
     foreach ($conditions as $condition) {
         $select->where(sprintf($condition, $additional, $rate));
     }
     return true;
 }