spip_nursit/ecrire/exec/puce_statut.php
2023-06-01 17:30:12 +02:00

76 lines
2.3 KiB
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 des puces d'action rapide
*
* @package SPIP\Core\Puce_statut
**/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
include_spip('inc/presentation');
/**
* Gestion de l'affichage ajax des puces d'action rapide
*
* Récupère l'identifiant id et le type d'objet dans les données postées
* et appelle la fonction de traitement de cet exec.
*
* @uses exec_puce_statut_args()
* @return string Code HTML
**/
function exec_puce_statut_dist() {
exec_puce_statut_args(_request('id'), _request('type'));
}
/**
* Traitement de l'affichage ajax des puces d'action rapide
*
* Appelle la fonction de traitement des puces statuts
* après avoir retrouvé le statut en cours de l'objet
* et son parent (une rubrique)
*
* @uses inc_puce_statut_dist()
* @uses ajax_retour()
*
* @param int $id
* Identifiant de l'objet
* @param string $type
* Type d'objet
* @return string Code HTML
**/
function exec_puce_statut_args($id, $type) {
$id = intval($id);
if ($table_objet_sql = table_objet_sql($type)
and $d = lister_tables_objets_sql($table_objet_sql)
and isset($d['statut_textes_instituer'])
and $d['statut_textes_instituer']
) {
$prim = id_table_objet($type);
if (isset($d['field']['id_rubrique'])) {
$select = "id_rubrique,statut";
} else {
$select = "0 as id_rubrique,statut";
}
$r = sql_fetsel($select, $table_objet_sql, "$prim=$id");
$statut = $r['statut'];
$id_rubrique = $r['id_rubrique'];
} else {
$id_rubrique = $id;
$statut = 'prop'; // arbitraire
}
$puce_statut = charger_fonction('puce_statut', 'inc');
ajax_retour($puce_statut($id, $statut, $id_rubrique, $type, true));
}