source: spip-zone/_plugins_/edition_directe/branches/3.0/edition_directe_fonctions.php @ 118388

Last change on this file since 118388 was 118388, checked in by Rainer Müller, 12 months ago

v3.3.2 - eviter des erreurs php dans l'espace publique

File size: 2.4 KB
Line 
1<?php
2/**
3 * Fonctions utiles au plugin Edition_directe
4 *
5 * @plugin     Edition_directe
6 * @copyright  2011 - 2019
7 * @author     Rainer Müller
8 * @licence    GNU/GPL
9 * @package    SPIP\Edition_directe\Fonctions
10 */
11
12// teste si l'objet est en mode edition directe ou non
13function objets_edition_directe() {
14        include_spip('inc/config');
15        include_spip('inc/session');
16
17        // Récuperer la séléction des objets depuis la config
18        $objets = lire_config('edition_directe/objets', []);
19
20        // Récupère les préférence de l'auteur, pour émodifier le choix par défaut
21        $prefs = session_get('prefs');
22
23        // Apparament session_get retourne suivant le contexte, un tableau serialisé, assurer qu'il ne soir pas sérialisé
24        if (!is_array($prefs))
25                $prefs = unserialize($prefs);
26
27        // Sie rien n'est configuré, on se base sur les objets éditables de la séléction personelle de l'auteur
28
29        if (count($objets) < 1) {
30                $objets = lister_objets($prefs);
31        }
32        else {
33                // Sinon on prend les objets de la config, si l'auteur ne la pas désactivé
34                $objets2 = array();
35                foreach ($objets as $objet) {
36                        if ($prefs['edition_directe'][$objet] != 'inactive')
37                                $objets2[] = $objet;
38                }
39                $objets = $objets2;
40        }
41        // Si l'auteur à activé des objets qui ne sont pas dans la configuration initiale, les prendre quand même en compte
42        if (is_array($prefs['edition_directe'])) {
43                $objets_prefs = array();
44                foreach ($prefs['edition_directe'] as $o => $pref) {
45                        if ($pref != 'inactive')
46                                $objets_prefs[] = $o;
47                }
48                $objets = array_merge($objets, $objets_prefs);
49        }
50
51        // Pipeline
52        pipeline('edition_directe_controle', array(
53                'args' => array(
54                        'objet' => $objet
55                ),
56                'data' => $objets
57        ));
58        return $objets;
59}
60
61// Liste les objets disponible pour l'édition directe
62function lister_objets($prefs) {
63        include_spip('base/objets');
64
65        // Lister les objets éditables auf ceux qui sont désactivé par l'utilisateur
66<<<<<<< HEAD
67        $liste_objets=lister_tables_objets_sql();
68        $objets=array();
69        foreach($liste_objets AS $o=>$valeur){
70                if($valeur['editable'] AND $valeur['page'] AND $prefs['edition_directe'][$valeur['page']]!='inactive')$objets[]=$valeur['page'];
71        }
72        return $objets;
73}
74=======
75        $liste_objets = lister_tables_objets_sql();
76        $objets = array();
77        foreach ($liste_objets as $valeur) {
78                if ($valeur['editable'] and $valeur['page'] and $prefs['edition_directe'][$valeur['page']] != 'inactive')
79                        $objets[] = $valeur['page'];
80        }
81        return $objets;
82}
83>>>>>>> master
Note: See TracBrowser for help on using the repository browser.