8716bafb8364900b9964079b4e000b5a200bc2c2
[lhc/web/www.git] / www / ecrire / exec / puce_statut.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2017 *
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 /**
14 * Gestion des puces d'action rapide
15 *
16 * @package SPIP\Core\Puce_statut
17 **/
18
19 if (!defined('_ECRIRE_INC_VERSION')) {
20 return;
21 }
22
23 include_spip('inc/presentation');
24
25 /**
26 * Gestion de l'affichage ajax des puces d'action rapide
27 *
28 * Récupère l'identifiant id et le type d'objet dans les données postées
29 * et appelle la fonction de traitement de cet exec.
30 *
31 * @uses exec_puce_statut_args()
32 * @return string Code HTML
33 **/
34 function exec_puce_statut_dist() {
35 exec_puce_statut_args(_request('id'), _request('type'));
36 }
37
38 /**
39 * Traitement de l'affichage ajax des puces d'action rapide
40 *
41 * Appelle la fonction de traitement des puces statuts
42 * après avoir retrouvé le statut en cours de l'objet
43 * et son parent (une rubrique)
44 *
45 * @uses inc_puce_statut_dist()
46 * @uses ajax_retour()
47 *
48 * @param int $id
49 * Identifiant de l'objet
50 * @param string $type
51 * Type d'objet
52 * @return string Code HTML
53 **/
54 function exec_puce_statut_args($id, $type) {
55 $id = intval($id);
56 if ($table_objet_sql = table_objet_sql($type)
57 and $d = lister_tables_objets_sql($table_objet_sql)
58 and isset($d['statut_textes_instituer'])
59 and $d['statut_textes_instituer']
60 ) {
61 $prim = id_table_objet($type);
62 if (isset($d['field']['id_rubrique'])) {
63 $select = "id_rubrique,statut";
64 } else {
65 $select = "0 as id_rubrique,statut";
66 }
67 $r = sql_fetsel($select, $table_objet_sql, "$prim=$id");
68 $statut = $r['statut'];
69 $id_rubrique = $r['id_rubrique'];
70 } else {
71 $id_rubrique = $id;
72 $statut = 'prop'; // arbitraire
73 }
74 $puce_statut = charger_fonction('puce_statut', 'inc');
75 ajax_retour($puce_statut($id, $statut, $id_rubrique, $type, true));
76 }