source: spip-zone/_plugins_/edition_directe/trunk/edition_directe_pipelines.php @ 63486

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

Afficher l'icone de séléction uniquement pour les objets éditables, et seulement sur la page d'accueil.
Langues

File size: 3.1 KB
Line 
1<?php
2
3// styles
4function edition_directe_header_prive($flux){
5
6        $flux .= '<link rel="stylesheet" href="'.find_in_path('css/edition_directe_styles.css').'" type="text/css" media="all" />';
7
8        return $flux;   
9 }
10
11// Ajouter le formulaire upload
12
13function edition_directe_affiche_gauche($flux){
14        include_spip('edition_directe_fonctions');
15
16        $objets_edition_directe=objets_edition_directe();
17        if ($en_cours = trouver_objet_exec($flux['args']['exec'])
18                AND $type = $en_cours['type']
19                AND in_array($type,$objets_edition_directe)
20                AND $id_table_objet = $en_cours['id_table_objet']
21                AND ($id = intval($flux['args'][$id_table_objet]) OR $id = 0-$GLOBALS['visiteur_session']['id_auteur'])
22                AND autoriser('joindredocument',$type,$id)){
23
24                if($id>0)$flux['data'] .= recuperer_fond('prive/objets/editer/colonne_document',array('objet'=>$type,'id_objet'=>$id));
25        }
26
27        return $flux;
28}
29
30function edition_directe_recuperer_fond($flux){ 
31        include_spip('edition_directe_fonctions');
32        $fond=$flux['args']['fond'] ;
33        $contexte=$flux['args']['contexte'] ;
34        $objet=_request('exec');
35        $texte=$flux['data']['texte'];
36        $contexte['objet']=$objet;
37        $id='id_'.$objet;
38        if($contexte['exec']=='site')$id='id_syndic';
39        $contexte['id_objet']=$contexte[$id];
40       
41        // On cherche les objets actifs pour l'édition directe
42        $objets=objets_edition_directe();
43       
44        // Les objets éditables déclarés
45        $objets_dispos=lister_objets(array());
46
47        // Insertion du formulaire d'édition   
48        if(in_array($objet,$objets)){           
49                  if ($fond == 'prive/squelettes/contenu/'.$objet){
50                               
51                                $edition=recuperer_fond('prive/echafaudage/contenu/objet_edit_directe',$contexte,array('ajax'=>true));
52                                $icone='
53                                <span class="icone_edition_directe icone active">
54                                        <a href="'.generer_action_auteur('edition_directe_auteur','inactive-'.$objet,generer_url_ecrire($objet,$id.'='.$contexte['id_objet'],false)).'" title="'._T('edir:desactiver_edition_directe_objet').$objet.'">
55                                                <img src="'.find_in_path('prive/themes/spip/images/edir-24.png').'"/>
56                                                <b>'._T('edir:titre_plugin').'</b>
57                                        </a>
58                                </span>';
59                                $patterns = array('/class=\'icone/','/<!--\/hd-->/','/<h1>/');
60                                $replacements = array('class="icone invisible',$edition.'<!--/hd-->',$icone.'<h1>');                                           
61                                $flux['data']['texte'] = preg_replace($patterns,$replacements,$texte,1);
62                    }
63                //Suppression de la prévisualisation   
64                 if ($fond == 'prive/objets/contenu/'.$objet){ 
65                                $flux['data']['texte'] = '';
66                    }   
67                           
68                }
69        elseif ($fond == 'prive/squelettes/contenu/'.$objet AND in_array($objet,$objets_dispos)){
70                $icone='
71                                <span class="icone_edition_directe icone inactive">
72                                        <a href="'.generer_action_auteur('edition_directe_auteur','active-'.$objet,generer_url_ecrire($objet,$id.'='.$contexte['id_objet'],false)).'" title="'._T('edir:activer_edition_directe_objet').$objet.'">
73                                                <img src="'.find_in_path('prive/themes/spip/images/edir-24.png').'"/>
74                                                <b>'._T('edir:titre_plugin').'</b>
75                                        </a>
76                                </span>';               
77                $patterns = array('/<h1>/');
78                $replacements = array($icone.'<h1>');
79                $flux['data']['texte'] = preg_replace($patterns,$replacements,$texte,1);                                       
80                }
81
82 return $flux;   
83}
84
85?>
Note: See TracBrowser for help on using the repository browser.