source: spip-zone/_plugins_/edition_directe/trunk/edition_directe_fonctions.php @ 63481

Last change on this file since 63481 was 63481, checked in by abelass@…, 8 years ago

permettre de modifier l'édition directe égalment quand objets choisis via config

File size: 1.4 KB
Line 
1<?php
2// teste si l'objet est en mode edition directe ou non
3function objets_edition_directe(){
4        include_spip('inc/config');
5        include_spip('inc/session');
6
7        // Sie rien n'est choisit, tout est en édition directe 
8
9        $objets=lire_config('edition_directe/objets');
10
11        //Récupère les préférence de l'auteurs, pour éventuellement désactiver un objet
12        $prefs=session_get('prefs');
13
14        if(!is_array($prefs))$prefs=unserialize($prefs);       
15       
16
17        if(count($objets)<1){
18                $objets=lister_objets($prefs);
19                }
20        else{
21                $objets2=array();
22                foreach($objets AS $objet){
23                if($prefs['edition_directe'][$objet]!='inactive')$objets2[]=$objet;
24                        }       
25                $objets=$objets2;
26                }
27        if(is_array($prefs['edition_directe'])){
28                $objets_prefs=array();
29                foreach($prefs['edition_directe'] AS $o=>$pref){
30                        if($pref!='inactive')$objets_prefs[]=$o;
31                        }
32                $objets=array_merge($objets,$objets_prefs);
33                }
34        $pipeline= pipeline('edition_directe_controle',array(
35                    'args'=>array(
36                        'objet'=>$objet
37                    ), 
38                    'data'=>$objets
39                ));
40        return $objets;
41}
42
43       
44// Liste les objets disponible pour l'édition directe
45function lister_objets($prefs){
46        include_spip('base/objets');           
47        $liste_objets=lister_tables_objets_sql();
48
49       
50        $objets=array();
51        foreach($liste_objets AS $o=>$valeur){
52                if($valeur['editable'] AND $valeur['page'] AND $prefs['edition_directe'][$valeur['page']]!='inactive')$objets[]=$valeur['page'];
53                }
54        return $objets; 
55        }
56
57       
58       
59?>
Note: See TracBrowser for help on using the repository browser.