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 .= "