source: spip-zone/_core_/plugins/forum/forum_fonctions.php @ 86324

Last change on this file since 86324 was 79783, checked in by denisb@…, 7 years ago

feliĉan novan jaron 2014 !

File size: 2.5 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2014                                                *
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 * Définit les fonctions utiles du plugin forum
15 *
16 * @package SPIP\Forum\Fonctions
17**/
18
19if (!defined("_ECRIRE_INC_VERSION")) return;
20
21
22include_spip('public/forum');
23
24/**
25 * Un filtre appliqué à `#PARAMETRES_FORUM`, qui donne l'adresse de la page
26 * de réponse
27 *
28 * @example
29 *     ```
30 *     [<p class="repondre">
31 *          <a href="(#PARAMETRES_FORUM|url_reponse_forum)">
32 *          <:repondre_article:>
33 *          </a>
34 *      </p>]
35 *      ```
36 *
37 * @filtre
38 * @see balise_PARAMETRES_FORUM_dist()
39 *
40 * @param string $parametres
41 * @return string URL de la page de réponse
42 */
43function filtre_url_reponse_forum($parametres) {
44        if (!$parametres) return '';
45        return generer_url_public('forum', $parametres);
46}
47
48/**
49 * Un filtre qui, étant donné un `#PARAMETRES_FORUM`, retourne une URL de suivi rss
50 * dudit forum
51 *
52 * Attention : appliqué à un `#PARAMETRES_FORUM` complexe (`id_article=x&id_forum=y`)
53 * ça retourne une URL de suivi du thread `y` (que le thread existe ou non)
54 *
55 * @filtre
56 * @see balise_PARAMETRES_FORUM_dist()
57 *
58 * @param string $param
59 * @return string URL pour le suivi RSS
60 */
61function filtre_url_rss_forum($param) {
62        if (!preg_match(',.*(id_(\w*?))=([0-9]+),S', $param, $regs)) return '';
63        list(,$k,$t,$v) = $regs;
64        if ($t == 'forum') $k = 'id_' . ($t = 'thread');
65        return generer_url_public("rss_forum_$t", array($k => $v));
66}
67
68/**
69 * Empêche l'exécution de code HTML
70 *
71 * Permet si la constante `_INTERDIRE_TEXTE_HTML`  est définie
72 * (ce n'est pas le cas par défaut) d'échapper les balises HTML
73 * d'un texte (de sorte qu'elles seront affichées et non traitées par
74 * le navigateur).
75 *
76 * @see forum_declarer_tables_interfaces()
77 *
78 * @param string $texte
79 * @return string
80**/
81function interdit_html($texte){
82        if (defined('_INTERDIRE_TEXTE_HTML'))
83                $texte = str_replace("<","&lt;",$texte);
84        return $texte;
85}
86?>
Note: See TracBrowser for help on using the repository browser.