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'])]);
});
}