spip_nursit/ecrire/action/instituer_langue_rubrique.php

59 lines
2 KiB
PHP
Raw Normal View History

2023-06-01 15:30:12 +00:00
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* Action des changements de langue des rubriques
*
* @package SPIP\Core\Edition
**/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Modifie la langue d'une rubrique
**/
function action_instituer_langue_rubrique_dist() {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
$changer_lang = _request('changer_lang');
list($id_rubrique, $id_parent) = preg_split('/\W/', $arg);
if ($changer_lang
and $id_rubrique > 0
and $GLOBALS['meta']['multi_rubriques'] == 'oui'
and ($GLOBALS['meta']['multi_secteurs'] == 'non' or $id_parent == 0)
) {
if ($changer_lang != "herit") {
sql_updateq('spip_rubriques', array('lang' => $changer_lang, 'langue_choisie' => 'oui'),
"id_rubrique=$id_rubrique");
} else {
if ($id_parent == 0) {
$langue_parent = $GLOBALS['meta']['langue_site'];
} else {
$langue_parent = sql_getfetsel("lang", "spip_rubriques", "id_rubrique=$id_parent");
}
sql_updateq('spip_rubriques', array('lang' => $langue_parent, 'langue_choisie' => 'non'),
"id_rubrique=$id_rubrique");
}
include_spip('inc/rubriques');
calculer_langues_rubriques();
// invalider les caches marques de cette rubrique
include_spip('inc/invalideur');
suivre_invalideur("id='rubrique/$id_rubrique'");
}
}