app/Http/Controllers/SearchController.php
public function phonetic(ServerRequestInterface $request, Tree $tree): ResponseInterface
    {
        $firstname = $request->get('firstname', '');
        $lastname  = $request->get('lastname', '');
        $place     = $request->get('place', '');
        $soundex   = $request->get('soundex', 'Russell');

        // What trees to seach?
        if (Site::getPreference('ALLOW_CHANGE_GEDCOM') === '1') {
            $all_trees = Tree::getAll();
        } else {
            $all_trees = [$tree];
        }

        $search_tree_names = (array) $request->get('search_trees', []);

        $search_trees = array_filter($all_trees, static function (Tree $tree) use ($search_tree_names): bool {
            return in_array($tree->name(), $search_tree_names, true);
        });

        if (empty($search_trees)) {
            $search_trees = [$tree];
        }

        $individuals = $this->search_service->searchIndividualsPhonetic($soundex, $lastname, $firstname, $place, $search_trees);

        $title = I18N::translate('Phonetic search');

        return $this->viewResponse('search-phonetic-page', [
            'all_trees'    => $all_trees,
            'firstname'    => $firstname,
            'individuals'  => $individuals,
            'lastname'     => $lastname,
            'place'        => $place,
            'search_trees' => $search_trees,
            'soundex'      => $soundex,
            'title'        => $title,
        ]);
    }
public function phonetic(ServerRequestInterface $request, Tree $tree): ResponseInterface
    {
        $firstname = $request->get('firstname', '');
        $lastname  = $request->get('lastname', '');
        $place     = $request->get('place', '');
        $soundex   = $request->get('soundex', 'Russell');

        // What trees to seach?
        if (Site::getPreference('ALLOW_CHANGE_GEDCOM') === '1') {
            $all_trees = Tree::getAll();
        } else {
            $all_trees = [$tree];
        }

        $search_tree_names = (array) $request->get('search_trees', []);

        $search_trees = array_filter($all_trees, static function (Tree $tree) use ($search_tree_names): bool {
            return in_array($tree->name(), $search_tree_names, true);
        });

        if (empty($search_trees)) {
            $search_trees = [$tree];
        }

        $individuals = $this->search_service->searchIndividualsPhonetic($soundex, $lastname, $firstname, $place, $search_trees);

        $title = I18N::translate('Phonetic search');

        return $this->viewResponse('search-phonetic-page', [
            'all_trees'    => $all_trees,
            'firstname'    => $firstname,
            'individuals'  => $individuals,
            'lastname'     => $lastname,
            'place'        => $place,
            'search_trees' => $search_trees,
            'soundex'      => $soundex,
            'title'        => $title,
        ]);
    }
public function phonetic ( ServerRequestInterface $ request , Tree $ tree ) : ResponseInterface { $ firstname = $ request -> get ( 'firstname' , '' ) ; $ lastname = $ request -> get ( 'lastname' , '' ) ; $ place = $ request -> get ( 'place' , '' ) ; $ soundex = $ request -> get ( 'soundex' , 'Russell' ) ; // What trees to seach? if ( Site :: getPreference ( 'ALLOW_CHANGE_GEDCOM' ) === '1' ) { $ all_trees = Tree :: getAll ( ) ; } else { $ all_trees = [ $ tree ] ; } $ search_tree_names = ( array ) $ request -> get ( 'search_trees' , [ ] ) ; $ search_trees = array_filter ( $ all_trees , static function ( Tree $ tree ) use ( $ search_tree_names ) : bool { return in_array ( $ tree -> name ( ) , $ search_tree_names , true ) ; } ) ; if ( empty ( $ search_trees ) ) { $ search_trees = [ $ tree ] ; } $ individuals = $ this -> search_service -> searchIndividualsPhonetic ( $ soundex , $ lastname , $ firstname , $ place , $ search_trees ) ; $ title = I18N :: translate ( 'Phonetic search' ) ; return $ this -> viewResponse ( 'search-phonetic-page' , [ 'all_trees' => $ all_trees , 'firstname' => $ firstname , 'individuals' => $ individuals , 'lastname' => $ lastname , 'place' => $ place , 'search_trees' => $ search_trees , 'soundex' => $ soundex , 'title' => $ title , ] ) ; }
The phonetic search.

@param ServerRequestInterface $request
@param Tree                   $tree

@return ResponseInterface
The phonetic search .