[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / ecrire / action / instituer_langue_objet.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2016 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 /**
16 * Modifier la langue d'un objet
17 * @param string $objet
18 * @param int $id
19 * @param int $id_rubrique
20 * @param string $changer_lang
21 * @param string $serveur
22 * @return string
23 */
24 function action_instituer_langue_objet_dist($objet, $id, $id_rubrique, $changer_lang, $serveur='') {
25 if ($changer_lang) {
26 $table_objet_sql = table_objet_sql($objet);
27 $id_table_objet = id_table_objet($objet);
28 $trouver_table = charger_fonction('trouver_table', 'base');
29 $desc = $trouver_table($table_objet_sql, $serveur);
30
31 $set = array();
32 if (isset($desc['field']['langue_choisie'])){
33 $set['langue_choisie'] = 'oui';
34 }
35
36 if ($changer_lang != "herit") {
37 $set['lang'] = $changer_lang;
38 sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id),'',$serveur);
39 include_spip('inc/rubriques'); // pour calculer_langues_rubriques et calculer_langues_utilisees
40 if ($table_objet_sql == 'spip_rubriques') {
41 calculer_langues_rubriques();
42 }
43 $langues = calculer_langues_utilisees($serveur);
44 ecrire_meta('langues_utilisees', $langues);
45 }
46 else {
47 $langue_parent = sql_getfetsel("lang", "spip_rubriques", "id_rubrique=" . intval($id_rubrique));
48 if (!$langue_parent)
49 $langue_parent = $GLOBALS['meta']['langue_site'];
50 $changer_lang = $langue_parent;
51 $set['lang'] = $changer_lang;
52 if (isset($set['langue_choisie'])){
53 $set['langue_choisie'] = 'non';
54 }
55 sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id),'',$serveur);
56 if ($table_objet_sql == 'spip_rubriques') {
57 include_spip('inc/rubriques');
58 calculer_langues_rubriques();
59 }
60 }
61 }
62 return $changer_lang;
63 }