uawdijnntqw1x1x1
IP : 216.73.217.142
Hostname : webm002.cluster111.gra.hosting.ovh.net
Kernel : Linux webm002.cluster111.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
atelierpru
/
provence
/
6bf95
/
..
/
plugins
/
..
/
ecrire
/
plugins
/
..
/
action
/
referencer_traduction.php
/
/
<?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. * \***************************************************************************/ /** * Gestion de l'action referencer_traduction gérant les liens de traductions * * @package SPIP\Core\Action */ if (!defined('_ECRIRE_INC_VERSION')) { return; } /** * Définir le lien de traduction vers un objet de réference * * Plusieurs cas : * - id_trad=0 : déréference le lien de traduction de id_objet * - id_trad=NN : référence le lien de traduction de id_objet vers NN * - id_objet=id_trad actuel et id_trad=new_id_trad : modifie la référence * de tout le groupe de traduction * * @param string $objet * Type d'objet * @param int $id_objet * Identifiant de l'objet * @param int $id_trad * Identifiant de la référence de traduction * @return bool * - False si on ne trouve pas l'objet de référence * - True sinon */ function action_referencer_traduction_dist($objet, $id_objet, $id_trad) { // ne rien faire si id_trad est ambigu if (!is_numeric($id_trad)) { return false; } $table_objet_sql = table_objet_sql($objet); $id_table_objet = id_table_objet($objet); // on a fourni un id_trad : affectation ou modification du groupe de trad if ($id_trad) { // selectionner l'objet cible, qui doit etre different de nous-meme, // et quitter s'il n'existe pas $id_lier = sql_getfetsel('id_trad', $table_objet_sql, "$id_table_objet=" . intval($id_trad) . " AND NOT($id_table_objet=" . intval($id_objet) . ")"); if ($id_lier === null) { spip_log("echec lien de trad vers objet $objet/$id_objet incorrect ($id_trad)"); return false; } // $id_lier est le numero du groupe de traduction // Si l'objet vise n'est pas deja traduit, son identifiant devient // le nouvel id_trad de ce nouveau groupe et on l'affecte aux deux // objets if ($id_lier == 0) { sql_updateq($table_objet_sql, array("id_trad" => $id_trad), "$id_table_objet IN ($id_trad, $id_objet)"); } // si id_lier = id_objet alors on veut changer la reference de tout le groupe de trad elseif ($id_lier == $id_objet) { sql_updateq($table_objet_sql, array("id_trad" => $id_trad), "id_trad = $id_lier"); } // sinon ajouter notre objet dans le groupe else { sql_updateq($table_objet_sql, array("id_trad" => $id_lier), "$id_table_objet=" . intval($id_objet)); } } // on a fourni un id_trad nul : sortir id_objet du groupe de trad else { $old_id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$id_table_objet=" . intval($id_objet)); // supprimer le lien de traduction sql_updateq($table_objet_sql, array("id_trad" => 0), "$id_table_objet=" . intval($id_objet)); // Verifier si l'ancien groupe ne comporte plus qu'un seul objet. Alors mettre a zero. $cpt = sql_countsel($table_objet_sql, "id_trad=" . intval($old_id_trad)); if ($cpt == 1) { sql_updateq($table_objet_sql, array("id_trad" => 0), "id_trad=" . intval($old_id_trad)); } } return true; }
/home/atelierpru/provence/6bf95/../plugins/../ecrire/plugins/../action/referencer_traduction.php