Changeset 113248 in spip-zone


Ignore:
Timestamp:
Jan 4, 2019, 2:11:30 PM (12 days ago)
Author:
abelass
Message:

nettoyage et commentaires de base

Location:
_plugins_/edition_directe/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/edition_directe/trunk

    • Property subgit:lock:e7191b6a4d601a94e2e43179c27f6645f9312179 deleted
    • Property subgit:lock:c6e9c174b5e64b505488f529a8b85566df385a94 set to 2019-01-04T15:11:37.357
  • _plugins_/edition_directe/trunk/action/edition_directe_auteur.php

    r63478 r113248  
    11<?php
     2/**
     3 * Action d'édition du plugin Edition_directe
     4 *
     5 * @plugin     Edition_directe
     6 * @copyright  2011 - 2018
     7 * @author     Rainer Müller
     8 * @licence    GNU/GPL
     9 * @package    SPIP\Edition_directe\Action
     10 */
    211
    3 if (!defined("_ECRIRE_INC_VERSION")) return;
    4 
     12if (!defined("_ECRIRE_INC_VERSION"))
     13        return;
    514
    615function action_edition_directe_auteur_dist() {
     
    918        $securiser_action = charger_fonction('securiser_action', 'inc');
    1019        $arg = $securiser_action();
    11         $id_auteur=session_get('id_auteur');
    12        
    13         $prefs=session_get('prefs');
    14  
    15        
    16         list($action,$objet)=explode('-',$arg);
     20        $id_auteur = session_get('id_auteur');
    1721
    18         $prefs['edition_directe'][$objet]=$action;
    19        
     22        $prefs = session_get('prefs');
    2023
    21         sql_updateq('spip_auteurs',array('prefs'=>serialize($prefs)),'id_auteur='.$id_auteur);
     24        list ($action, $objet) = explode('-', $arg);
    2225
    23         }
    24 ?>
     26        $prefs['edition_directe'][$objet] = $action;
     27
     28        sql_updateq('spip_auteurs', array(
     29                'prefs' => serialize($prefs)
     30        ), 'id_auteur=' . $id_auteur);
     31}
  • _plugins_/edition_directe/trunk/edition_directe_fonctions.php

    r113241 r113248  
    11<?php
     2/**
     3 * Fonctions utiles au plugin Edition_directe
     4 *
     5 * @plugin     Edition_directe
     6 * @copyright  2011 - 2018
     7 * @author     Rainer Müller
     8 * @licence    GNU/GPL
     9 * @package    SPIP\Edition_directe\Fonctions
     10 */
     11
    212// teste si l'objet est en mode edition directe ou non
    3 function objets_edition_directe(){
     13function objets_edition_directe() {
    414        include_spip('inc/config');
    515        include_spip('inc/session');
    616
     17        // Récuperer la séléction des objets depuis la config
     18        $objets = lire_config('edition_directe/objets', []);
    719
    8         // Récuperer la séléction des objets depuis la config
    9         $objets=lire_config('edition_directe/objets', []);
     20        // Récupère les préférence de l'auteur, pour émodifier le choix par défaut
     21        $prefs = session_get('prefs');
    1022
    11         //Récupère les préférence de l'auteur, pour émodifier le choix par défaut
    12         $prefs=session_get('prefs');
    13 
    14         // Apparament session_get  retourne suivant le contexte, un tableau serialisé, assurer qu'il ne soir pas sérialisé
    15         if(!is_array($prefs))$prefs=unserialize($prefs);
     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);
    1626
    1727        // Sie rien n'est configuré, on se base sur les objets éditables de la séléction personelle de l'auteur
    18         if(count($objets)<1){
    19                 $objets=lister_objets($prefs);
     28        if (count($objets) < 1) {
     29                $objets = lister_objets($prefs);
     30        }
     31        else {
     32                // Sinon on prend les objets de la config, si l'auteur ne la pas désactivé
     33                $objets2 = array();
     34                foreach ($objets as $objet) {
     35                        if ($prefs['edition_directe'][$objet] != 'inactive')
     36                                $objets2[] = $objet;
    2037                }
    21         else{
    22                 //Sinon on prend les objets de la config, si l'auteur ne la pas désactivé
    23                 $objets2=array();
    24                 foreach($objets AS $objet){
    25                 if($prefs['edition_directe'][$objet]!='inactive')$objets2[]=$objet;
    26                         }
    27                 $objets=$objets2;
     38                $objets = $objets2;
     39        }
     40        // Si l'auteur à activé des objets qui ne sont pas dans la configuration initiale, les prendre quand même en compte
     41        if (is_array($prefs['edition_directe'])) {
     42                $objets_prefs = array();
     43                foreach ($prefs['edition_directe'] as $o => $pref) {
     44                        if ($pref != 'inactive')
     45                                $objets_prefs[] = $o;
    2846                }
    29         // Si l'auteur à activé des objets qui ne sont pas dans la configuration initiale, les prendre quand même en compte
    30         if(is_array($prefs['edition_directe'])){
    31                 $objets_prefs=array();
    32                 foreach($prefs['edition_directe'] AS $o=>$pref){
    33                         if($pref!='inactive')$objets_prefs[]=$o;
    34                         }
    35                 $objets=array_merge($objets,$objets_prefs);
    36                 }
     47                $objets = array_merge($objets, $objets_prefs);
     48        }
    3749
    38         //Pipeline
    39         pipeline('edition_directe_controle',array(
    40                                 'args'=>array(
    41                         'objet'=>$objet
    42                                 ),
    43                                 'data'=>$objets
    44                 ));
     50        // Pipeline
     51        pipeline('edition_directe_controle', array(
     52                'args' => array(
     53                        'objet' => $objet
     54                ),
     55                'data' => $objets
     56        ));
    4557        return $objets;
    4658}
    4759
    48 
    4960// Liste les objets disponible pour l'édition directe
    50 function lister_objets($prefs){
     61function lister_objets($prefs) {
    5162        include_spip('base/objets');
    5263
    5364        // Lister les objets éditables auf ceux qui sont désactivé par l'utilisateur
    54         $liste_objets=lister_tables_objets_sql();
    55         $objets=array();
    56         foreach($liste_objets AS $o=>$valeur){
    57                 if($valeur['editable'] AND $valeur['page'] AND $prefs['edition_directe'][$valeur['page']]!='inactive')$objets[]=$valeur['page'];
    58                 }
     65        $liste_objets = lister_tables_objets_sql();
     66        $objets = array();
     67        foreach ($liste_objets as $valeur) {
     68                if ($valeur['editable'] and $valeur['page'] and $prefs['edition_directe'][$valeur['page']] != 'inactive')
     69                        $objets[] = $valeur['page'];
     70        }
    5971        return $objets;
    60         }
    61 
     72}
  • _plugins_/edition_directe/trunk/edition_directe_pipelines.php

    r99975 r113248  
    11<?php
     2/**
     3 * Utilisations de pipelines par Edition_directe
     4 *
     5 * @plugin     Edition_directe
     6 * @copyright  2011 - 2018
     7 * @author     Rainer Müller
     8 * @licence    GNU/GPL
     9 * @package    SPIP\Edition_directe\Pipelines
     10 */
     11
    212
    313// styles
    414function edition_directe_header_prive($flux) {
    515        $flux .= '<link rel="stylesheet" href="' . find_in_path('css/edition_directe_styles.css') . '" type="text/css" media="all" />';
    6        
     16
    717        return $flux;
    818}
     
    1121function edition_directe_affiche_gauche($flux) {
    1222        include_spip('edition_directe_fonctions');
    13        
     23
    1424        $objets_edition_directe = objets_edition_directe();
    1525        if ($en_cours = trouver_objet_exec($flux['args']['exec']) and $type = $en_cours['type'] and in_array($type, $objets_edition_directe) and $id_table_objet = $en_cours['id_table_objet'] and ($id = intval($flux['args'][$id_table_objet]) or $id = 0 - $GLOBALS['visiteur_session']['id_auteur']) and autoriser('joindredocument', $type, $id)) {
    16                
     26
    1727                if ($id > 0)
    1828                        $flux['data'] .= recuperer_fond('prive/objets/editer/colonne_document', array (
    1929                                'objet' => $type,
    20                                 'id_objet' => $id 
     30                                'id_objet' => $id
    2131                        ));
    2232        }
    23        
     33
    2434        return $flux;
    2535}
     
    3949                $id = 'id_syndic';
    4050        $contexte['id_objet'] = $contexte[$id];
    41        
     51
    4252        // Seulement dans l'espace priv&eacute;
    4353        if ($exec and autoriser('modifier', $objet, $contexte['id_objet'])) {
    4454                // On cherche les objets actifs pour l'édition directe
    4555                $objets = objets_edition_directe();
    46                
     56
    4757                // Les objets éditables déclarés
    4858                $objets_dispos = lister_objets(array ());
    49                
     59
    5060                // Insertion du formulaire d'édition
    5161                if (in_array($objet, $objets)) {
    5262                        if ($fond == 'prive/squelettes/contenu/' . $objet) {
    5363                                $edition = recuperer_fond('prive/echafaudage/contenu/objet_edit_directe', $contexte, array (
    54                                         'ajax' => true 
     64                                        'ajax' => true
    5565                                ));
    5666                                $icone = '
     
    97107                }
    98108        }
    99        
     109
    100110        return $flux;
    101111}
     
    106116        $form = $flux['args']['form'];
    107117        $objet = str_replace('editer_', '', $form);
    108        
     118
    109119        if (in_array($objet, $objets) and ! $_REQUEST['redirect'] and _request('exec')) {
    110120                if ($objet == 'site') {
     
    115125                        $flux['data']['redirect'] = generer_url_ecrire($objet, 'id_' . $objet . '=' . $id_objet);
    116126        }
    117        
     127
    118128        return $flux;
    119129}
    120 ?>
Note: See TracChangeset for help on using the changeset viewer.