https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=38646

--- Comment #2 from MichaƂ <[email protected]> ---
Also I was thinking of alternative approach to handle AdvancedSearchLanguages,
but it seemed more sketchy and with ~200 langs performance of FIND_IN_SET
shouldn't be any problem whatsoever.

The alternative idea was:

    my @search_langs;
    my $language_list_cond = '';
    my $language_list = $isFiltered ?
C4::Context->preference("AdvancedSearchLanguages") : undef;
    if ($language_list) {
        @search_langs = split(/,|\|/, $language_list);
        my $params = join ', ' => ('?') x @search_langs;
        $language_list_cond = 'AND language_rfc4646_to_iso639.iso639_2_code IN
($params)';
    }

#...

    -- Grab ISO code for language
    INNER JOIN language_rfc4646_to_iso639
    ON language_rfc4646_to_iso639.rfc4646_subtag =
language_subtag_registry.subtag
    AND language_rfc4646_to_iso639.iso639_2_code IS NOT NULL
    ${language_list_cond}

#...

    if ($language_list) {
        $sth->execute(@search_langs, $current_language);
    } else {
        $sth->execute($current_language);
    }

^Unless someone believes the above is better?

-- 
You are receiving this mail because:
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list
[email protected]
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to