1 ) { $selection = (is_null(_request('multi_objets')) ? explode(',', $GLOBALS['meta']['langues_multilingue']) : _request('langues_auth')); $valeurs['_langues'] = saisie_langues_utiles('langues_auth', $selection ? $selection : array()); $valeurs['_nb_langues_selection'] = count($selection); } return $valeurs; } function formulaires_configurer_multilinguisme_traiter_dist() { $res = array('editable' => true); // un checkbox seul de name X non coche n'est pas poste. // on verifie le champ X_check qui indique que la checkbox etait presente dans le formulaire. foreach (array('multi_secteurs') as $m) { if (!is_null(_request($m . '_check'))) { ecrire_meta($m, _request($m) ? 'oui' : 'non'); } } foreach (array('multi_objets', 'gerer_trad_objets') as $m) { if (!is_null($v = _request($m))) { // join et enlever la valeur vide '' ecrire_meta($m, implode(',', array_diff($v, array('')))); } } if ($i = _request('langues_auth') and is_array($i)) { $i = array_unique(array_merge($i, explode(',', $GLOBALS['meta']['langues_utilisees']))); ecrire_meta('langues_multilingue', implode(',', $i)); } $res['message_ok'] = _T('config_info_enregistree'); return $res; } /** * Tester si une table supporte les langues (champ lang) * * @param string $table_sql * @return string */ function table_supporte_lang($table_sql) { $trouver_table = charger_fonction('trouver_table', 'base'); $desc = $trouver_table($table_sql); if (!$desc or !isset($desc['field']['lang'])) { return ''; } return ' '; } /** * Tester si une table supporte les traductions (champ id_trad) * * @param string $table_sql * @return string */ function table_supporte_trad($table_sql) { $trouver_table = charger_fonction('trouver_table', 'base'); $desc = $trouver_table($table_sql); if (!$desc or !isset($desc['field']['id_trad'])) { return ''; } return ' '; } function saisie_langues_utiles($name, $selection) { include_spip('inc/lang_liste'); $langues = $GLOBALS['codes_langues']; $langues_installees = explode(',', $GLOBALS['meta']['langues_proposees']); $langues_trad = array_flip($langues_installees); $langues_bloquees = explode(',', $GLOBALS['meta']['langues_utilisees']); $res = ''; $i = 0; foreach ($langues_bloquees as $code_langue) { $nom_langue = $langues[$code_langue]; $res .= "
  • " . "" // necessaire ... . "" . "" . '
  • '; } if ($res) { $res = "
    "; } $res .= "
    "; return $res; }