Inpsyde\MultilingualPress\Installation\Updater::import_active_languages PHP Method

import_active_languages() private method

Imports all active languages from the according network option into the languages table.
private import_active_languages ( ) : void
return void
    private function import_active_languages()
    {
        $languages = (array) get_network_option(null, 'inpsyde_multilingual', []);
        if (!$languages) {
            return;
        }
        $table = $this->languages_table->name();
        $query = "SELECT ID FROM {$table} WHERE wp_locale = %s OR iso_639_1 = %s";
        array_walk($languages, function (array $language) use($table, $query) {
            $language_id = $this->db->get_var($this->db->prepare($query, $language['lang'], $language['lang']));
            if ($language_id) {
                $this->db->update($table, ['priority' => 10], ['ID' => $language_id]);
                return;
            }
            if (!isset($language['lang'])) {
                $language['lang'] = '';
            }
            if (!isset($language['text'])) {
                $language['text'] = '';
            }
            $this->db->insert($table, ['english_name' => '' === $language['text'] ? $language['lang'] : $language['text'], 'wp_locale' => $language['lang'], 'http_name' => str_replace('_', '-', $language['lang'])]);
        });
    }