[SPIP] ~maj 3.0.10 --> 3.0.14
[lhc/web/www.git] / www / plugins-dist / porte_plume / action / porte_plume_previsu.php
1 <?php
2 /**
3 * Gestion de l'action porte_plume_previsu
4 *
5 * @plugin Porte Plume pour SPIP
6 * @license GPL
7 * @package SPIP\PortePlume\Actions
8 */
9
10 if (!defined("_ECRIRE_INC_VERSION")) return;
11
12 /**
13 * Action affichant la prévisualisation de porte plume
14 *
15 * Pas besoin de sécuriser outre mesure ici, on ne réalise donc qu'un
16 * recuperer_fond
17 *
18 * On passe par cette action pour éviter les redirection et la perte du $_POST de
19 * $forcer_lang=true;
20 * cf : ecrire/public.php ligne 80
21 */
22 function action_porte_plume_previsu_dist() {
23
24 // $_POST a ete sanitise par SPIP
25 // et le fond injecte des interdire_scripts pour empecher les injections PHP
26 // le js est bloque ou non selon les reglages de SPIP et si on est ou non dans l'espace prive
27 $contexte = $_POST;
28
29 // mais il faut avoir le droit de previsualiser
30 // (par defaut le droit d'aller dans ecrire/)
31 if (!autoriser('previsualiser','porteplume'))
32 $contexte = array();
33
34 header('Content-type: text/html; charset='.pp_charset());
35 echo recuperer_fond('prive/porte_plume_preview', $contexte);
36 }
37
38 /**
39 * Retourner le charset SQL
40 *
41 * Retourne le charset SQL si on le connait, en priorité
42 * sinon, on utilise le charset de l'affichage HTML.
43 *
44 * Cependant, on peut forcer un charset donné avec une constante :
45 * define('PORTE_PLUME_PREVIEW_CHARSET','utf-8');
46 *
47 * @return string Nom du charset (ex: 'utf-8')
48 */
49 function pp_charset() {
50 if (defined('PORTE_PLUME_PREVIEW_CHARSET')) {
51 return PORTE_PLUME_PREVIEW_CHARSET;
52 }
53
54 $charset = $GLOBALS['meta']['charset'];
55 $charset_sql = isset($GLOBALS['charset_sql_base']) ? $GLOBALS['charset_sql_base'] : '';
56 if ($charset_sql == 'utf8') {
57 $charset_sql = 'utf-8';
58 }
59 return $charset_sql ? $charset_sql : $charset;
60 }
61
62 ?>