Spaces:
No application file
No application file
namespace Mautic\CoreBundle\Event; | |
use Mautic\CoreBundle\Translation\Translator; | |
use Symfony\Contracts\EventDispatcher\Event; | |
class GlobalSearchEvent extends Event | |
{ | |
/** | |
* @var array | |
*/ | |
protected $results = []; | |
protected string $searchString; | |
/** | |
* @param string $searchString | |
* @param Translator $translator | |
*/ | |
public function __construct( | |
$searchString, | |
protected $translator | |
) { | |
$this->searchString = strtolower(trim(strip_tags($searchString))); | |
} | |
/** | |
* Returns the string to be searched. | |
*/ | |
public function getSearchString(): string | |
{ | |
return $this->searchString; | |
} | |
/** | |
* Add an array of results from a search query to be listed in right side panel | |
* Each result should be the ENTIRE html to be rendered. | |
* | |
* @param string $header String name for section header | |
* @param array $results Array of HTML output that will be wrapped in <li /> elements | |
*/ | |
public function addResults($header, array $results): void | |
{ | |
$header = $this->translator->trans($header); | |
$this->results[$header] = $results; | |
} | |
/** | |
* Returns the results. | |
* | |
* @return array | |
*/ | |
public function getResults() | |
{ | |
uksort($this->results, 'strnatcmp'); | |
return $this->results; | |
} | |
} | |