ced0ce7e81cfa704c78f56aca4e31331e11bd369
[lhc/web/www.git] / www / plugins-dist / petitions / petitions_fonctions.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')) {
14 return;
15 }
16
17 /**
18 * Compile la balise `#PETITION` permettant d'afficher, s'il existe,
19 * le texte de pétition associé à l'article.
20 *
21 * Retourne :
22 *
23 * - `''` si l'article courant n'a pas de pétition
24 * - le texte de celle-ci sinon (et `' '` si il est vide)
25 *
26 * @see balise_FORMULAIRE_SIGNATURE()
27 * @link https://www.spip.net/3967
28 *
29 * @param Champ $p
30 * Pile au niveau de la balise
31 * @return Champ
32 * Pile complétée du code à générer
33 */
34 function balise_PETITION_dist($p) {
35 $nom = $p->id_boucle;
36 $p->code = "quete_petitions(" .
37 champ_sql('id_article', $p) .
38 ",'" .
39 $p->boucles[$nom]->type_requete .
40 "','" .
41 $nom .
42 "','" .
43 $p->boucles[$nom]->sql_serveur .
44 "', \$Cache)";
45 $p->interdire_scripts = false;
46
47 return $p;
48 }
49
50 if (!function_exists('quete_petitions')) {
51 /**
52 * retourne le champ 'texte' d'une petition
53 *
54 * @param int $id_article
55 * @param string $table
56 * @param string $id_boucle
57 * @param string $serveur
58 * @param array $cache
59 * @return array|bool|null|string
60 */
61 function quete_petitions($id_article, $table, $id_boucle, $serveur, &$cache) {
62 $retour = sql_getfetsel('texte', 'spip_petitions', ("id_article=" . intval($id_article)), '', array(), '', '',
63 $serveur);
64
65 if ($retour === null) {
66 return '';
67 }
68 # cette page est invalidee par toute petition
69 $cache['varia']['pet' . $id_article] = 1;
70
71 # ne pas retourner '' car le texte sert aussi de presence
72 return $retour ? $retour : ' ';
73 }
74 }