Changeset 63478 in spip-zone


Ignore:
Timestamp:
Jul 15, 2012, 1:50:18 PM (7 years ago)
Author:
abelass@…
Message:

Permettre à l'utilisateur de choisir s'il veut activer l'édition directe pour un objet déterminé

Location:
_plugins_/edition_directe
Files:
12 added
2 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/edition_directe/branches/3.0/edition_directe_fonctions.php

    r62408 r63478  
    2222
    2323       
    24 
     24// Liste les objets disponible pour l'édition directe
    2525function lister_objets(){
    2626        include_spip('base/objets');   
     27        include_spip('inc/session');   
    2728        $liste_objets=lister_tables_objets_sql();
     29
     30        //Récupère les préférence de l'auteurs, pour éventuellement désactiver un objet
     31        $prefs=session_get('prefs');
     32       
    2833        $objets=array();
    2934        foreach($liste_objets AS $o=>$valeur){
    30                 if($valeur['editable'] AND $valeur['page'])$objets[]=$valeur['page'];
     35                if($valeur['editable'] AND $valeur['page'] AND $prefs['edition_directe'][$valeur['page']]!='inactive')$objets[]=$valeur['page'];
    3136                }
    3237        return $objets;
  • _plugins_/edition_directe/branches/3.0/edition_directe_pipelines.php

    r62805 r63478  
    11<?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 }
    210
    311// Ajouter le formulaire upload
     
    2432        $fond=$flux['args']['fond'] ;
    2533        $contexte=$flux['args']['contexte'] ;
    26 
     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];
    2740        // On cherche les objets actifs pour l'édition directe
    2841        $objets=objets_edition_directe();
    29                
     42
    3043        // Insertion du formulaire d'édition   
    31         foreach($objets as $objet){
     44        if(in_array($objet,$objets)){           
    3245                  if ($fond == 'prive/squelettes/contenu/'.$objet){
    33                                 $contexte['objet']=$objet;
    34                                 $contexte['id_objet']=$contexte['id_'.$objet];
    35                                 if($contexte['exec']=='site')$contexte['id_objet']=$contexte['id_syndic'];
    3646                               
    37                                 $texte=$flux['data']['texte'];
    3847                                $edition=recuperer_fond('prive/echafaudage/contenu/objet_edit_directe',$contexte,array('ajax'=>true));
    39                                 $patterns = array('/class=\'icone/','/<!--\/hd-->/');
    40                                 $replacements = array('class="icone invisible',$edition.'<!--/hd-->');                                         
     48                                $icone='
     49                                <span class="icone_edition_directe icone active">
     50                                        <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.'">
     51                                                <img src="'.find_in_path('prive/themes/spip/images/edir-24.png').'"/>
     52                                                <b>Modifier cet article</b>
     53                                        </a>
     54                                </span>';
     55                                $patterns = array('/class=\'icone/','/<!--\/hd-->/','/<h1>/');
     56                                $replacements = array('class="icone invisible',$edition.'<!--/hd-->',$icone.'<h1>');                                           
    4157                                $flux['data']['texte'] = preg_replace($patterns,$replacements,$texte,1);
    4258                    }
    4359                //Suppression de la prévisualisation   
    44                  if ($fond == 'prive/objets/contenu/'.$objet){                 
     60                 if ($fond == 'prive/objets/contenu/'.$objet){ 
    4561                                $flux['data']['texte'] = '';
    46                     }               
     62                    }   
     63                           
     64                }
     65        elseif ($fond == 'prive/squelettes/contenu/'.$objet){
     66                $icone='
     67                                <span class="icone_edition_directe icone inactive">
     68                                        <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.'">
     69                                                <img src="'.find_in_path('prive/themes/spip/images/edir-24.png').'"/>
     70                                                <b>'._T('edir:titre_plugin').'</b>
     71                                        </a>
     72                                </span>';               
     73                $patterns = array('/<h1>/');
     74                $replacements = array($icone.'<h1>');
     75                $flux['data']['texte'] = preg_replace($patterns,$replacements,$texte,1);                                       
    4776                }
    4877
  • _plugins_/edition_directe/branches/3.0/lang/edir_fr.php

    r62395 r63478  
    88        // A
    99        'activer_edition_directe' => 'Activer l\'édition directe pour :',
     10        'activer_edition_directe_objet' => 'Activer l\'édition directe pour l\'objet ',
    1011
     12        // D
     13        'desactiver_edition_directe_objet' => 'Désactiver l\'édition directe pour l\'objet ',
     14       
    1115        // T
    1216        'titre_plugin' => 'Edition directe',
  • _plugins_/edition_directe/branches/3.0/paquet.xml

    r62805 r63478  
    22           prefix="edition_directe"
    33           categorie="edition"
    4            version="3.1.5"
     4           version="3.2.0"
    55           etat="test"
    66           compatibilite="[3.0.0;3.0.*]"
  • _plugins_/edition_directe/trunk/edition_directe_fonctions.php

    r62406 r63478  
    2222
    2323       
    24 
     24// Liste les objets disponible pour l'édition directe
    2525function lister_objets(){
    2626        include_spip('base/objets');   
     27        include_spip('inc/session');   
    2728        $liste_objets=lister_tables_objets_sql();
     29
     30        //Récupère les préférence de l'auteurs, pour éventuellement désactiver un objet
     31        $prefs=session_get('prefs');
     32       
    2833        $objets=array();
    2934        foreach($liste_objets AS $o=>$valeur){
    30                 if($valeur['editable'] AND $valeur['page'])$objets[]=$valeur['page'];
     35                if($valeur['editable'] AND $valeur['page'] AND $prefs['edition_directe'][$valeur['page']]!='inactive')$objets[]=$valeur['page'];
    3136                }
    3237        return $objets;
  • _plugins_/edition_directe/trunk/edition_directe_pipelines.php

    r62805 r63478  
    11<?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 }
    210
    311// Ajouter le formulaire upload
     
    2432        $fond=$flux['args']['fond'] ;
    2533        $contexte=$flux['args']['contexte'] ;
    26 
     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];
    2740        // On cherche les objets actifs pour l'édition directe
    2841        $objets=objets_edition_directe();
    29                
     42
    3043        // Insertion du formulaire d'édition   
    31         foreach($objets as $objet){
     44        if(in_array($objet,$objets)){           
    3245                  if ($fond == 'prive/squelettes/contenu/'.$objet){
    33                                 $contexte['objet']=$objet;
    34                                 $contexte['id_objet']=$contexte['id_'.$objet];
    35                                 if($contexte['exec']=='site')$contexte['id_objet']=$contexte['id_syndic'];
    3646                               
    37                                 $texte=$flux['data']['texte'];
    3847                                $edition=recuperer_fond('prive/echafaudage/contenu/objet_edit_directe',$contexte,array('ajax'=>true));
    39                                 $patterns = array('/class=\'icone/','/<!--\/hd-->/');
    40                                 $replacements = array('class="icone invisible',$edition.'<!--/hd-->');                                         
     48                                $icone='
     49                                <span class="icone_edition_directe icone active">
     50                                        <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.'">
     51                                                <img src="'.find_in_path('prive/themes/spip/images/edir-24.png').'"/>
     52                                                <b>Modifier cet article</b>
     53                                        </a>
     54                                </span>';
     55                                $patterns = array('/class=\'icone/','/<!--\/hd-->/','/<h1>/');
     56                                $replacements = array('class="icone invisible',$edition.'<!--/hd-->',$icone.'<h1>');                                           
    4157                                $flux['data']['texte'] = preg_replace($patterns,$replacements,$texte,1);
    4258                    }
    4359                //Suppression de la prévisualisation   
    44                  if ($fond == 'prive/objets/contenu/'.$objet){                 
     60                 if ($fond == 'prive/objets/contenu/'.$objet){ 
    4561                                $flux['data']['texte'] = '';
    46                     }               
     62                    }   
     63                           
     64                }
     65        elseif ($fond == 'prive/squelettes/contenu/'.$objet){
     66                $icone='
     67                                <span class="icone_edition_directe icone inactive">
     68                                        <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.'">
     69                                                <img src="'.find_in_path('prive/themes/spip/images/edir-24.png').'"/>
     70                                                <b>'._T('edir:titre_plugin').'</b>
     71                                        </a>
     72                                </span>';               
     73                $patterns = array('/<h1>/');
     74                $replacements = array($icone.'<h1>');
     75                $flux['data']['texte'] = preg_replace($patterns,$replacements,$texte,1);                                       
    4776                }
    4877
  • _plugins_/edition_directe/trunk/lang/edir_fr.php

    r62395 r63478  
    88        // A
    99        'activer_edition_directe' => 'Activer l\'édition directe pour :',
     10        'activer_edition_directe_objet' => 'Activer l\'édition directe pour l\'objet ',
    1011
     12        // D
     13        'desactiver_edition_directe_objet' => 'Désactiver l\'édition directe pour l\'objet ',
     14       
    1115        // T
    1216        'titre_plugin' => 'Edition directe',
  • _plugins_/edition_directe/trunk/paquet.xml

    r62805 r63478  
    22           prefix="edition_directe"
    33           categorie="edition"
    4            version="3.1.5"
     4           version="3.2.0"
    55           etat="test"
    66           compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.