/**
  * Return the sql statement - needed for distance query
  *
  * @param Tx_Typo3Agencies_Domain_Model_Filter $filter The filter the references must apply to
  * @param array $latLong Array of latitude and longitude
  * @param string $nearbyAdditionalWhere
  * @return array The references
  */
 protected function getStatement(Tx_Typo3Agencies_Domain_Model_Filter $filter, $latLong = array(), $nearbyAdditionalWhere = '')
 {
     $where = array();
     $where[] = '(first_name <> \'\' OR last_name <> \'\' OR name <> \'\')';
     // Membership case
     $members = $filter->getMembers();
     $memberArray = array(0);
     if (!empty($members)) {
         foreach ($members as $member) {
             $memberArray[] = intval($member);
         }
     }
     if (!empty($memberArray)) {
         $where[] = 'member IN (' . implode(',', $memberArray) . ')';
     }
     // Service case
     if ($filter->getTrainingService()) {
         $where[] = 'training_service = ' . intval($filter->getTrainingService());
     }
     if ($filter->getHostingService()) {
         $where[] = 'hosting_service = ' . intval($filter->getHostingService());
     }
     if ($filter->getDevelopmentService()) {
         $where[] = 'development_service = ' . intval($filter->getDevelopmentService());
     }
     // Country case
     if ($filter->getCountry()) {
         $where[] = 'country = ' . $GLOBALS['TYPO3_DB']->fullQuoteStr($filter->getCountry(), 'tx_typo3agencies_domain_model_agency');
     }
     if (!empty($latLong) && $nearbyAdditionalWhere != '') {
         $where[] = str_replace(array('###LONGITUDE###', '###LATITUDE###'), array(floatval($latLong['long']), floatval($latLong['lat'])), $nearbyAdditionalWhere);
     }
     if ($filter->getFeUser() > 0) {
         $where[] = '(approved = 1 or FIND_IN_SET(administrator, ' . intval($filter->getFeUser()) . '))';
     } else {
         $where[] = 'approved = 1';
     }
     $sql = 'SELECT * FROM tx_typo3agencies_domain_model_agency WHERE ' . implode(' AND ', $where) . $GLOBALS['TSFE']->sys_page->enableFields('tx_typo3agencies_domain_model_agency') . ' ORDER BY member DESC, name ASC, last_name ASC';
     return $sql;
 }