source: spip-zone/_core_/plugins/porte_plume/porte_plume_start.js_fonctions.php @ 93621

Last change on this file since 93621 was 93621, checked in by cedric@…, 5 years ago

Indentation et regles de codage selon http://www.spip.net/fr_article3497.html#regles_codage

File size: 2.1 KB
Line 
1<?php
2
3/**
4 * Déclarations de fonctions servant à la construction du javascript
5 *
6 * @plugin Porte Plume pour SPIP
7 * @license GPL
8 * @package SPIP\PortePlume\Javascript
9 **/
10if (!defined("_ECRIRE_INC_VERSION")) {
11        return;
12}
13
14/**
15 * Retourne la définition de la barre markitup désignée.
16 * (cette déclaration est au format json)
17 *
18 * Deux pipelines 'porte_plume_pre_charger' et 'porte_plume_charger'
19 * permettent de récuperer l'objet de classe Barre_outil
20 * avant son export en json pour modifier des elements.
21 *
22 * @pipeline_appel porte_plume_barre_pre_charger
23 *     Charge des nouveaux boutons au besoin
24 * @pipeline_appel porte_plume_barre_charger
25 *     Affiche ou cache certains boutons
26 *
27 * @return string Déclaration json
28 */
29function porte_plume_creer_json_markitup() {
30        // on recupere l'ensemble des barres d'outils connues
31        include_spip('porte_plume_fonctions');
32        if (!$sets = barre_outils_liste()) {
33                return null;
34        }
35
36        // 1) On initialise tous les jeux de barres
37        $barres = array();
38        foreach ($sets as $set) {
39                if (($barre = barre_outils_initialiser($set)) AND is_object($barre)) {
40                        $barres[$set] = $barre;
41                }
42        }
43
44        // 2) Préchargement
45
46        /**
47         * Charger des nouveaux boutons au besoin
48         *
49         * @example
50         *     $barre = &$flux['spip'];
51         *     $barre->ajouterApres('bold',array(params));
52         *     $barre->ajouterAvant('bold',array(params));
53         *
54         *     $bold = $barre->get('bold');
55         *     $bold['id'] = 'bold2';
56         *     $barre->ajouterApres('italic',$bold);
57         * @pipeline_appel porte_plume_barre_pre_charger
58         */
59        $barres = pipeline('porte_plume_barre_pre_charger', $barres);
60
61
62        // 3) Chargement
63
64        /**
65         * Cacher ou afficher certains boutons au besoin
66         *
67         * @example
68         *     $barre = &$flux['spip'];
69         *     $barre->afficher('bold');
70         *     $barre->cacher('bold');
71         *
72         *     $barre->cacherTout();
73         *     $barre->afficher(array('bold','italic','header1'));
74         * @pipeline_appel porte_plume_barre_charger
75         */
76        $barres = pipeline('porte_plume_barre_charger', $barres);
77
78
79        // 4 On crée les jsons
80        $json = "";
81        foreach ($barres as $set => $barre) {
82                $json .= $barre->creer_json();
83        }
84
85        return $json;
86}
Note: See TracBrowser for help on using the repository browser.