/**
  * @param Tx_Typo3Agencies_Domain_Model_Filter $filter
  * @param Tx_Typo3Agencies_Domain_Model_Order $order
  * @return array|\Tx_Extbase_Persistence_QueryResultInterface
  */
 public function findByNameOrCity(Tx_Typo3Agencies_Domain_Model_Filter $filter, Tx_Typo3Agencies_Domain_Model_Order $order)
 {
     $query = $this->createQuery();
     $searchString = '%' . mysql_real_escape_string($filter->getLocation()) . '%';
     if ($order) {
         $ordering = $order->getOrderings();
         $query->setOrderings($ordering);
     }
     $query->matching($query->logicalAnd(array($query->equals('approved', TRUE), $query->logicalOr(array($query->equals('payed_until_date', 0), $query->greaterThanOrEqual('payed_until_date', time()))), $query->logicalOr(array($query->like('name', $searchString), $query->like('city', $searchString))))));
     return $query->execute();
 }