/**
  * translate fullText criteria
  *
  * @param Tx_PtExtlist_Domain_QueryObject_Criteria $criteria
  * @return string
  */
 public static function translateCriteria(Tx_PtExtlist_Domain_QueryObject_Criteria $criteria)
 {
     $connection = $GLOBALS['TYPO3_DB'];
     /** @var TYPO3\CMS\Core\Database\DatabaseConnection $connection */
     $searchString = $criteria->getSearchString();
     if ($criteria->getSearchParameter('booleanMode')) {
         $booleanMode = $criteria->getSearchParameter('booleanMode') ? ' IN BOOLEAN MODE' : '';
         if ($criteria->getSearchParameter('booleanModeWrapWithStars')) {
             if (substr($searchString, 0, 1) != '*') {
                 $searchString = '*' . $searchString;
             }
             if (substr($searchString, -1, 1) != '*') {
                 $searchString .= '*';
             }
         }
     }
     $searchString = $connection->fullQuoteStr($searchString, '');
     return sprintf('MATCH (%s) AGAINST (%s%s)', Tx_PtExtlist_Utility_DbUtils::getSelectPartByFieldConfigCollection($criteria->getFields()), $searchString, $booleanMode);
 }