Changeset 97999 in spip-zone


Ignore:
Timestamp:
May 24, 2016, 12:45:16 PM (3 years ago)
Author:
kent1@…
Message:

Nettoyage

Location:
_plugins_/diogene
Files:
29 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/diogene/diogene/trunk/action/diogene_creer_traduction.php

    r82238 r97999  
    1 <?php 
     1<?php
    22/**
    33 * Plugin Diogene
     
    1313 **/
    1414
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
    1618
    17 function action_diogene_creer_traduction_dist($arg=null){
    18         if (is_null($arg)){
    19                 $securiser_action = charger_fonction('securiser_action','inc');
     19function action_diogene_creer_traduction_dist($arg = null) {
     20        if (is_null($arg)) {
     21                $securiser_action = charger_fonction('securiser_action', 'inc');
    2022                $arg = $securiser_action();
    2123        }
    22        
     24
    2325        include_spip('action/editer_article');
    2426        $lang = _request('langue_forcee');
    2527
    26         if(!is_numeric(intval($arg)) OR !$lang)
     28        if (!is_numeric(intval($arg)) or !$lang) {
    2729                return;
    28        
    29         $contenu_article = sql_fetsel('*','spip_articles','id_article = '.intval($arg));
    30        
    31         if($contenu_article){
     30        }
     31
     32        $contenu_article = sql_fetsel('*', 'spip_articles', 'id_article = '.intval($arg));
     33
     34        if ($contenu_article) {
    3235                $id_trad = $contenu_article['id_article'];
    33                 if(!($id_article = sql_getfetsel('id_article','spip_articles','id_trad='.intval($id_trad).' AND lang='.sql_quote($lang)))){
    34                
     36                if (!($id_article = sql_getfetsel('id_article', 'spip_articles', 'id_trad='.intval($id_trad).' AND lang='.sql_quote($lang)))) {
    3537                        $id_rubrique = $contenu_article['id_rubrique'];
    36                        
     38
    3739                        /**
    3840                         * Insertion de l'article dans la rubrique idoine
    3941                         */
    4042                        $id_article = article_inserer($id_rubrique);
    41                
     43
    4244                        /**
    4345                         * Mise à jour de l'article en lui donnant l'ensemble du contenu de la version originale
     
    4951                        unset($c['id_rubrique']);
    5052                        unset($c['id_parent']);
    51                        
     53
    5254                        $c['lang'] = $lang;
    53                        
     55
    5456                        article_modifier($id_article, $c);
    55                        
     57
    5658                        /**
    5759                         * On donne un statut, une date et un id_parent
    5860                         */
    5961                        $c = array(
    60                                         'date'=> date("Y-m-d H:i:s"),
    61                                         'statut' => lire_config('diogene/statuts/article_statut_defaut','prepa'),
     62                                        'date'=> date('Y-m-d H:i:s'),
     63                                        'statut' => lire_config('diogene/statuts/article_statut_defaut', 'prepa'),
    6264                                        'id_parent' => $id_rubrique
    6365                                );
    6466                        article_instituer($id_article, $c);
    65                        
     67
    6668                        /**
    6769                         * On l'associe au bon article d'origine
    6870                         */
    69                         $referencer_traduction = charger_fonction('referencer_traduction','action');
     71                        $referencer_traduction = charger_fonction('referencer_traduction', 'action');
    7072                        $referencer_traduction('article', $id_article, intval($arg)); // 0 si supprimer_trad
    71                        
     73
    7274                        include_spip('action/diogene_recup_doc_trad');
    73                         diogene_recuperer_docs_trad($id_article,$id_trad);
    74                        
     75                        diogene_recuperer_docs_trad($id_article, $id_trad);
     76
    7577                        /**
    7678                         * On lui associe automatiquement le ou les auteurs de l'article original
    7779                         * L'id_auteur courant est automatiquement ajouté par article_inserer()
    7880                         */
    79                         $auteurs = sql_allfetsel('id_auteur','spip_auteurs_liens','objet="article" AND id_objet='.intval($id_trad));
    80                         foreach($auteurs as $auteur){
     81                        $auteurs = sql_allfetsel('id_auteur', 'spip_auteurs_liens', 'objet="article" AND id_objet='.intval($id_trad));
     82                        foreach ($auteurs as $auteur) {
    8183                                $auteur['id_objet'] = $id_article;
    8284                                $auteur['objet'] = 'article';
    83                                 sql_insertq("spip_auteurs_liens",$auteur);
     85                                sql_insertq('spip_auteurs_liens', $auteur);
    8486                        }
    8587                }
    86                
     88
    8789                $redirect = _request('redirect');
    88                 if(!$redirect){
     90                if (!$redirect) {
    8991                        include_spip('diogene_fonctions');
    9092                        $redirect = generer_url_publier($id_article);
    9193                }
    92                
     94
    9395                include_spip('inc/invalideur');
    94                 suivre_invalideur("0",true);
    95                
     96                suivre_invalideur('0', true);
     97
    9698                include_spip('inc/headers');
    97                 redirige_par_entete(str_replace('&amp;','&',$redirect));
     99                redirige_par_entete(str_replace('&amp;', '&', $redirect));
    98100        }
    99101}
    100 
    101 ?>
  • _plugins_/diogene/diogene/trunk/action/diogene_recup_doc_trad.php

    r82238 r97999  
    1 <?php 
     1<?php
    22/**
    33 * Plugin Diogene
     
    1313 **/
    1414
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
    1618
    17 function action_diogene_recup_doc_trad_dist(){
     19function action_diogene_recup_doc_trad_dist() {
    1820        $id_article = _request('arg');
    19         if(!is_numeric($id_article))
     21        if (!is_numeric($id_article)) {
    2022                return;
    21        
    22         $id_trad = sql_getfetsel('id_trad','spip_articles','id_article='.intval($id_article));
    23        
    24         if(!is_numeric($id_trad))
     23        }
     24
     25        $id_trad = sql_getfetsel('id_trad', 'spip_articles', 'id_article='.intval($id_article));
     26
     27        if (!is_numeric($id_trad)) {
    2528                return;
    26        
    27         diogene_recuperer_docs_trad($id_article,$id_trad);
    28        
     29        }
     30
     31        diogene_recuperer_docs_trad($id_article, $id_trad);
     32
    2933        $redirect = _request('redirect');
    30         if(!$redirect){
     34        if (!$redirect) {
    3135                include_spip('diogene_fonctions');
    3236                $redirect = generer_url_publier($id_article);
    3337        }
    34        
     38
    3539        include_spip('inc/invalideur');
    36         suivre_invalideur("0",true);
    37        
     40        suivre_invalideur('0', true);
     41
    3842        include_spip('inc/headers');
    39         redirige_par_entete(str_replace('&amp;','&',$redirect));
    40        
     43        redirige_par_entete(str_replace('&amp;', '&', $redirect));
     44
    4145}
    4246
    43 function diogene_recuperer_docs_trad($id_article,$id_trad){
     47function diogene_recuperer_docs_trad($id_article, $id_trad) {
    4448        /**
    4549         * On lui ajoute automatiquement les documents de l'article original
    4650         */
    47         $docs = sql_afffetsel('*','spip_documents_liens','objet="article" AND id_objet='.intval($id_trad));
    48         foreach($docs as $doc){
    49                 sql_insertq("spip_documents_liens", array('id_objet' => intval($id_article), 'objet' => 'article', 'id_document' => intval($doc['id_document']), 'vu' => $doc['vu']));
    50                 pipeline('post_edition',
     51        $docs = sql_afffetsel('*', 'spip_documents_liens', 'objet="article" AND id_objet='.intval($id_trad));
     52        foreach ($docs as $doc) {
     53                sql_insertq('spip_documents_liens', array('id_objet' => intval($id_article), 'objet' => 'article', 'id_document' => intval($doc['id_document']), 'vu' => $doc['vu']));
     54                pipeline(
     55                        'post_edition',
    5156                        array(
    5257                                'args' => array(
     
    6267        }
    6368}
    64 ?>
  • _plugins_/diogene/diogene/trunk/action/editer_diogene.php

    r93555 r97999  
    1212 *
    1313 **/
    14 if (!defined("_ECRIRE_INC_VERSION")) return;
    15 
    16 function action_editer_diogene_dist($arg=null){
    17         if (is_null($arg)){
     14if (!defined('_ECRIRE_INC_VERSION')) {
     15        return;
     16}
     17
     18function action_editer_diogene_dist($arg = null) {
     19        if (is_null($arg)) {
    1820                $securiser_action = charger_fonction('securiser_action', 'inc');
    1921                $arg = $securiser_action();
     
    3133
    3234        // Enregistre l'envoi dans la BD
    33         if ($id_diogene > 0)
     35        if ($id_diogene > 0) {
    3436                $err = diogene_modifier($id_diogene);
    35        
    36         if ($err)
    37                 spip_log("echec editeur diogene: $err",_LOG_ERREUR);
    38        
     37        }
     38
     39        if ($err) {
     40                spip_log("echec editeur diogene: $err", 'diogene.'._LOG_ERREUR);
     41        }
     42
    3943        return array($id_diogene,$err);
    4044}
     
    4953
    5054        // Envoyer aux plugins
    51         $c = pipeline('pre_edition',
     55        $c = pipeline(
     56                'pre_edition',
    5257                array(
    5358                        'args' => array(
     
    6065        );
    6166
    62         if (!count($c)) return;
     67        if (!count($c)) {
     68                return;
     69        }
    6370
    6471        // Envoyer les modifs.
     
    6774
    6875        // Pipeline
    69         pipeline('post_edition',
     76        pipeline(
     77                'post_edition',
    7078                array(
    7179                        'args' => array(
     
    8391/**
    8492 * Fonction d'insertion d'un template
    85  * 
     93 *
    8694 * @return int $id_diogene
    8795 *      L'identifiant numérique du template créé
     
    9199        $champs = array('id_auteur' => $GLOBALS['visiteur_session']['id_auteur']);
    92100        // Envoyer aux plugins
    93         $champs = pipeline('pre_insertion',
     101        $champs = pipeline(
     102                'pre_insertion',
    94103                array(
    95104                        'args' => array(
     
    99108                )
    100109        );
    101         $id_diogene = sql_insertq("spip_diogenes", $champs);
     110        $id_diogene = sql_insertq('spip_diogenes', $champs);
    102111
    103112        return $id_diogene;
     
    106115/**
    107116 * Fonction de suppression d'un diogene
    108  * 
     117 *
    109118 * @param int $id_diogene
    110119 *              L'identifiant numérique du diogène à supprimer
    111120 * @return bool true/false
    112121 */
    113 function diogene_supprimer($id_diogene){
    114         $diogene = sql_getfetsel('id_diogene','spip_diogenes','id_diogene='.intval($id_diogene));
    115         if(is_numeric($diogene) && (intval($diogene) > 0) && include_spip('inc/autoriser') && autoriser('modifier','diogene',$id_diogene)){
    116                 if($del = sql_delete('spip_diogenes','id_diogene = '.intval($id_diogene))){
     122function diogene_supprimer($id_diogene) {
     123        $diogene = sql_getfetsel('id_diogene', 'spip_diogenes', 'id_diogene='.intval($id_diogene));
     124        if (is_numeric($diogene)
     125                and (intval($diogene) > 0)
     126                and include_spip('inc/autoriser')
     127                and autoriser('modifier', 'diogene', $id_diogene)) {
     128                if (sql_delete('spip_diogenes', 'id_diogene = '.intval($id_diogene))) {
    117129                        /**
    118130                         * Invalider le cache
     
    121133                        suivre_invalideur("id='diogene/$id_diogene'");
    122134                        return true;
    123                 }else
     135                } else {
    124136                        return false;
    125         }else
     137                }
     138        } else {
    126139                return false;
     140        }
    127141}
    128142
    129143/**
    130144 * Fonction de révision d'un diogène
    131  * 
     145 *
    132146 * @param int $id_diogene Identifiant numérique du diogene
    133147 * @param array $champs un tableau des champs à modifier en base
    134148 */
    135 function diogene_modifier($id_diogene,$set=null){
    136        
     149function diogene_modifier($id_diogene, $set = null) {
     150
    137151        include_spip('inc/modifier');
    138152        include_spip('inc/filtres');
    139153        $c = collecter_requests(
    140154                // white list
    141                 objet_info('diogene','champs_editables'),
     155                objet_info('diogene', 'champs_editables'),
    142156                // black list
    143157                array('id_secteur','objet','type'),
     
    145159                $set
    146160        );
    147        
    148         if(!_request('menu'))
     161
     162        if (!_request('menu')) {
    149163                $c['menu'] = '';
     164        }
    150165
    151166        /**
     
    153168         * doivent être des tableau serialisés
    154169         */
    155         foreach(array(
     170        foreach (array(
    156171                'champs_caches','champs_ajoutes','options_complements'
    157         ) as $champ){
    158                 if(isset($c[$champ]) && is_array($c[$champ]))
     172        ) as $champ) {
     173                if (isset($c[$champ]) and is_array($c[$champ])) {
    159174                        $c[$champ] = serialize($c[$champ]);
    160                 else if(isset($c[$champ]) && is_array(@unserialize($c[$champ])))
     175                } elseif (isset($c[$champ]) and is_array(@unserialize($c[$champ]))) {
    161176                        $c[$champ] = $c[$champ];
    162                 else
     177                } else {
    163178                        $c[$champ] = '';
    164         }
    165        
    166         foreach(array(
     179                }
     180        }
     181
     182        foreach (array(
    167183                'titre','description'
    168         ) as $texte){
    169                 if(isset($c[$champ]))
     184        ) as $texte) {
     185                if (isset($c[$champ])) {
    170186                        $c[$texte] = filtrer_entites($c[$texte]);
    171                 else
     187                } else {
    172188                        $c[$texte] = '';
     189                }
    173190        }
    174191
    175192        $invalideur = "id='diogene/$id_diogene'";
    176193        $indexation = true;
    177        
    178         if ($err = objet_modifier_champs('diogene', $id_diogene,
     194
     195        if ($err = objet_modifier_champs(
     196                'diogene',
     197                $id_diogene,
    179198                array(
    180199                        'data' => $set,
     
    183202                        'indexation' => $indexation
    184203                ),
    185                 $c))
    186                 return $err;   
    187                
    188         $rubriques = _request('id_rubrique',$set);
    189         sql_delete('spip_diogenes_liens','id_diogene='.intval($id_diogene).' AND objet="rubrique"');
    190         if(is_array($rubriques)){
    191                 foreach($rubriques as $id_rubrique){
    192                         sql_insertq('spip_diogenes_liens',array('id_diogene' => $id_diogene,'objet'=> $id_rubrique,'objet'=> 'rubrique'));
    193                 }
    194         }
    195 
    196         $c = collecter_requests(array('id_secteur','objet','identifiant','type'),array(),$set);
    197        
    198         if(isset($c['identifiant'])){
     204                $c
     205        )) {
     206                return $err;
     207        }
     208
     209        $rubriques = _request('id_rubrique', $set);
     210        sql_delete('spip_diogenes_liens', 'id_diogene='.intval($id_diogene).' AND objet="rubrique"');
     211        if (is_array($rubriques)) {
     212                foreach ($rubriques as $id_rubrique) {
     213                        sql_insertq('spip_diogenes_liens', array('id_diogene' => $id_diogene, 'objet'=> $id_rubrique, 'objet'=> 'rubrique'));
     214                }
     215        }
     216
     217        $c = collecter_requests(array('id_secteur','objet','identifiant','type'), array(), $set);
     218
     219        if (isset($c['identifiant'])) {
    199220                $c['type'] = $c['identifiant'];
    200221                unset($c['identifiant']);
     
    204225}
    205226
    206 function revision_diogene($id_diogene, $c=false) {
    207         return diogene_modifier($id_diogene,$c);
    208 }
    209 function diogene_set($id_diogene, $set=null) {
    210         return diogene_modifier($id_diogene,$set);
     227function revision_diogene($id_diogene, $c = false) {
     228        return diogene_modifier($id_diogene, $c);
     229}
     230function diogene_set($id_diogene, $set = null) {
     231        return diogene_modifier($id_diogene, $set);
    211232}
    212233function insert_diogene($id_diogene, $c) {
    213234        return diogene_inserer();
    214235}
    215 function instituer_diogene(){
     236function instituer_diogene($id_diogene, $c) {
    216237        return diogene_instituer($id_diogene, $c);
    217238}
    218 ?>
  • _plugins_/diogene/diogene/trunk/action/supprimer_diogene.php

    r82238 r97999  
    1 <?php 
     1<?php
    22/**
    33 * Plugin Diogene
     
    1313 **/
    1414
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
    1618
    17 function action_supprimer_diogene_dist(){
    18        
     19function action_supprimer_diogene_dist() {
     20
    1921        $securiser_action = charger_fonction('securiser_action', 'inc');
    2022        $arg = $securiser_action();
    2123        $id_diogene = intval($arg);
    22        
    23         if ($id_diogene > 0){
     24
     25        if ($id_diogene > 0) {
    2426                include_spip('action/editer_diogene');
    2527                diogene_supprimer($id_diogene);
    2628        }
    2729}
    28 
    29 ?>
  • _plugins_/diogene/diogene/trunk/base/diogene.php

    r82238 r97999  
    1313 **/
    1414
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
    1618
    17 function diogene_declarer_tables_interfaces($interfaces){
     19function diogene_declarer_tables_interfaces($interfaces) {
    1820        $interfaces['table_des_tables']['diogenes']='diogenes';
    1921        $interfaces['table_des_traitements']['DESCRIPTION'][]= _TRAITEMENT_RACCOURCIS;
     
    2325/**
    2426 * Insertion dans le pipeline declarer_tables_auxiliaires (SPIP)
    25  * 
     27 *
    2628 * Declaration de la table auxiliaire spip_diogene_liens
    2729 *
     
    3133 *      Le tableau des tables auxiliaires complété
    3234 */
    33 function diogene_declarer_tables_auxiliaires($tables_auxiliaires){
     35function diogene_declarer_tables_auxiliaires($tables_auxiliaires) {
    3436        $spip_diogenes_liens = array(
    35                 "id_diogene"    => "bigint(21) NOT NULL",
    36                 "id_objet"      => "bigint(21) DEFAULT '0' NOT NULL",
    37                 "objet" => "VARCHAR (25) DEFAULT '' NOT NULL");
     37                'id_diogene'    => 'bigint(21) NOT NULL',
     38                'id_objet'      => "bigint(21) DEFAULT '0' NOT NULL",
     39                'objet' => "VARCHAR (25) DEFAULT '' NOT NULL");
    3840
    3941        $spip_diogenes_liens_key = array(
    40                 "PRIMARY KEY"           => "id_diogene,id_objet,objet");
     42                'PRIMARY KEY'           => 'id_diogene,id_objet,objet');
    4143
    4244        $tables_auxiliaires['spip_diogenes_liens'] = array(
     
    4951/**
    5052 * Insertion dans le pipeline declarer_tables_objets_sql (SPIP)
    51  * 
     53 *
    5254 * Modification de la description des tables SQL :
    5355 * - On ajoute les champs "lang" et "langue_choisie" dans les champs éditables de la table spip_articles
    5456 * - On ajoute notre nouvel objet "diogene"
    55  * 
     57 *
    5658 * @param array $tables
    5759 *      La description complète des objets SPIP
     
    5961 *      La description des objets SPIP modifiée
    6062 */
    61 function diogene_declarer_tables_objets_sql($tables){
     63function diogene_declarer_tables_objets_sql($tables) {
    6264        $tables['spip_articles']['champs_editables'][] = 'lang';
    6365        $tables['spip_articles']['champs_editables'][] = 'langue_choisie';
     
    7678                'principale' => 'oui',
    7779                'field'=> array(
    78                         "id_diogene"    => "bigint(21) NOT NULL",
    79                         "titre" => "text DEFAULT '' NOT NULL",
    80                         "objet" => "varchar(25) DEFAULT '' NOT NULL",
    81                         "id_secteur"    => "bigint(21) DEFAULT '0' NOT NULL",
    82                         "id_rubrique_defaut"    => "bigint(21) DEFAULT '0' NOT NULL",
    83                         "champs_caches" => "text DEFAULT '' NOT NULL",
    84                         "champs_ajoutes"        => "text DEFAULT '' NOT NULL",
    85                         "type" => "varchar(25) DEFAULT '' NOT NULL",
    86                         "description"   => "mediumtext DEFAULT '' NOT NULL",
    87                         "statut_auteur" => "text DEFAULT '' NOT NULL",
    88                         "statut_auteur_publier" => "text DEFAULT '' NOT NULL",
    89                         "options_complements"   => "text DEFAULT '' NOT NULL",
    90                         "nombre_attente" => "int DEFAULT '0' NOT NULL",
    91                         "menu" => "varchar(3) DEFAULT '' NOT NULL",
    92                         "id_auteur"     => "bigint(21) DEFAULT '0' NOT NULL",
    93                         "maj"   => "TIMESTAMP"
     80                        'id_diogene'    => 'bigint(21) NOT NULL',
     81                        'titre' => "text DEFAULT '' NOT NULL",
     82                        'objet' => "varchar(25) DEFAULT '' NOT NULL",
     83                        'id_secteur'    => "bigint(21) DEFAULT '0' NOT NULL",
     84                        'id_rubrique_defaut'    => "bigint(21) DEFAULT '0' NOT NULL",
     85                        'champs_caches' => "text DEFAULT '' NOT NULL",
     86                        'champs_ajoutes'        => "text DEFAULT '' NOT NULL",
     87                        'type' => "varchar(25) DEFAULT '' NOT NULL",
     88                        'description'   => "mediumtext DEFAULT '' NOT NULL",
     89                        'statut_auteur' => "text DEFAULT '' NOT NULL",
     90                        'statut_auteur_publier' => "text DEFAULT '' NOT NULL",
     91                        'options_complements'   => "text DEFAULT '' NOT NULL",
     92                        'nombre_attente' => "int DEFAULT '0' NOT NULL",
     93                        'menu' => "varchar(3) DEFAULT '' NOT NULL",
     94                        'id_auteur'     => "bigint(21) DEFAULT '0' NOT NULL",
     95                        'maj'   => 'TIMESTAMP'
    9496                ),
    9597                'champs_editables' => array('titre', 'objet', 'id_secteur', 'id_rubrique_defaut', 'champs_caches','champs_ajoutes', 'type', 'description', 'statut_auteur', 'statut_auteur_publier','options_complements','menu','nombre_attente','id_auteur'),
    9698                'key' => array(
    97                         "PRIMARY KEY"   => "id_diogene",
    98                         "KEY id_auteur" => "id_auteur",
    99                         "KEY id_secteur" => "id_secteur",
    100                         "KEY id_secteur" => "id_rubrique_defaut",
    101                         "KEY objet"     => "objet",
    102                         "KEY type"      => "type"
     99                        'PRIMARY KEY'   => 'id_diogene',
     100                        'KEY id_auteur' => 'id_auteur',
     101                        'KEY id_secteur' => 'id_secteur',
     102                        'KEY id_secteur' => 'id_rubrique_defaut',
     103                        'KEY objet'     => 'objet',
     104                        'KEY type'      => 'type'
    103105                ),
    104106                'join' => array(
    105                         "id_diogene"=>"id_diogene",
    106                         "id_auteur"=>"id_auteur"
     107                        'id_diogene' => 'id_diogene',
     108                        'id_auteur' => 'id_auteur'
    107109                ),
    108110                'rechercher_champs' => array(
     
    111113                'champs_versionnes' => array('id_secteur','id_rubrique_defaut','champs_caches','champs_ajoutes','statut_auteur','statut_auteur_publier','options_complements','menu','id_auteur', 'titre', 'description', 'nombre_attente','objet', 'type'),
    112114        );
    113        
     115
    114116        // jointures sur les diogenes pour tous les objets
    115117        $tables[]['tables_jointures'][]= 'diogenes_liens';
    116118        $tables[]['tables_jointures'][]= 'diogenes';
    117        
     119
    118120        // recherche jointe sur les diogenes pour tous les objets
    119121        $tables[]['rechercher_jointures']['diogenes'] = array('titre' => 3);
    120        
     122
    121123        // versionner les jointures pour tous les objets
    122124        $tables[]['champs_versionnes'][] = 'jointure_diogenes';
    123        
     125
    124126        return $tables;
    125127}
    126 ?>
  • _plugins_/diogene/diogene/trunk/diogene_administrations.php

    r82238 r97999  
    1313 **/
    1414
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
    1618
    1719/**
    1820 * Fonction d'installation du plugin
    19  * 
     21 *
    2022 * Création des tables SQL :
    2123 * - spip_diogenes
    2224 * - spip_diogenes_liens
    23  * 
     25 *
    2426 * @param string $nom_meta_base_version
    2527 *      Nom de la meta d'installation du plugin
     
    2729 *      Version vers laquelle mettre à jour
    2830 */
    29 function diogene_upgrade($nom_meta_base_version,$version_cible){
     31function diogene_upgrade($nom_meta_base_version, $version_cible) {
    3032        $maj = array();
    31        
     33
    3234        $maj['create'] = array(
    3335                array('maj_tables',array('spip_diogenes','spip_diogenes_liens')),
     
    4648        );
    4749        $maj['0.3.3'] = array(
    48                 array('sql_alter',"TABLE spip_diogenes CHANGE id_secteur id_secteur bigint(21) NOT NULL"),
    49                 array('sql_alter',"TABLE spip_diogenes description description mediumtext DEFAULT '' NOT NULL"),
     50                array('sql_alter', 'TABLE spip_diogenes CHANGE id_secteur id_secteur bigint(21) NOT NULL'),
     51                array('sql_alter', "TABLE spip_diogenes description description mediumtext DEFAULT '' NOT NULL"),
    5052        );
    5153        $maj['0.3.4'] = array(
    52                 array('sql_alter',"TABLE spip_diogenes ADD INDEX id_secteur (id_secteur)"),
    53                 array('sql_alter',"TABLE spip_diogenes ADD INDEX type (type)"),
    54                 array('sql_alter',"TABLE spip_diogenes ADD INDEX objet (objet)")
     54                array('sql_alter', 'TABLE spip_diogenes ADD INDEX id_secteur (id_secteur)'),
     55                array('sql_alter', 'TABLE spip_diogenes ADD INDEX type (type)'),
     56                array('sql_alter', 'TABLE spip_diogenes ADD INDEX objet (objet)')
    5557        );
    5658        $maj['0.3.5'] = array(
    57                 array('sql_alter',"TABLE spip_diogenes CHANGE id_secteur id_secteur bigint(21) DEFAULT '0' NOT NULL")
     59                array('sql_alter', "TABLE spip_diogenes CHANGE id_secteur id_secteur bigint(21) DEFAULT '0' NOT NULL")
    5860        );
    5961        $maj['0.3.6'] = array(
    60                 array('maj_tables',array('spip_diogenes'))
     62                array('maj_tables', array('spip_diogenes'))
    6163        );
    6264        $maj['0.3.7'] = array(
    63                 array('maj_tables',array('spip_diogenes'))
     65                array('maj_tables', array('spip_diogenes'))
    6466        );
    6567
     
    7072/**
    7173 * Fonction de désinstallation du plugin Diogène
    72  * 
     74 *
    7375 * Suppression des tables :
    7476 * - spip_diogenes
    7577 * - spip_diogenes_liens
    7678 * Suppression de la meta du plugin
    77  * 
     79 *
    7880 * @param string $nom_meta_base_version
    7981 *      Nom de la méta d'installation du plugin
     
    8486        sql_drop_table('spip_diogenes_liens');
    8587}
    86 ?>
  • _plugins_/diogene/diogene/trunk/diogene_autoriser.php

    r87100 r97999  
    1313 **/
    1414
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
    16  
    17 function diogene_autoriser(){};
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
     18
     19function diogene_autoriser() {
     20}
    1821
    1922/**
    2023 * Autorisation à modifier un template de formulaire (Diogene)
    21  * 
     24 *
    2225 * @param unknown_type $faire
    2326 * @param unknown_type $type
     
    2629 * @param unknown_type $opt
    2730 */
    28 function autoriser_diogene_modifier_dist($faire,$type,$id,$qui,$opt){
    29         return autoriser('configurer','','',$qui,$opt);
     31function autoriser_diogene_modifier_dist($faire, $type, $id, $qui, $opt) {
     32        return autoriser('configurer', '', '', $qui, $opt);
    3033}
    3134
    3235/**
    3336 * Autorisation a modifier le logo d'un template de formulaire (Diogene)
    34  * 
    35  * @param string $faire L'action
    36  * @param string $type Le type d'objet
    37  * @param int $id L'identifiant numérique de l'objet
    38  * @param array $qui Les informations de session de l'auteur
    39  * @param array $opt Des options
    40  * @return boolean true/false
    41  */
    42 function autoriser_diogene_iconifier_dist($faire,$quoi,$id,$qui,$opts){
    43         return (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
     37 *
     38 * @param string $faire L'action
     39 * @param string $type Le type d'objet
     40 * @param int $id L'identifiant numérique de l'objet
     41 * @param array $qui Les informations de session de l'auteur
     42 * @param array $opt Des options
     43 * @return boolean true/false
     44 */
     45function autoriser_diogene_iconifier_dist($faire, $quoi, $id, $qui, $opts) {
     46        return (($qui['statut'] == '0minirezo') and !$qui['restreint']);
    4447}
    4548
     
    5558 */
    5659function autoriser_diogene_creerdans_dist($faire, $type, $id, $qui, $opt) {
    57         $diogene = sql_fetsel('*','spip_diogenes','id_diogene='.intval($id));
    58         if(
    59                 $qui['statut'] != '0minirezo' AND
    60                 $qui['statut'] AND
    61                 $qui['statut'] <= $diogene['statut_auteur']){
    62                 if(in_array($diogene['objet'],array('article','emballe_media')) && $diogene['nombre_attente'] > 0){
    63                         $nb_articles = sql_countsel('spip_articles as art LEFT JOIN spip_auteurs_liens as lien ON lien.objet="article" AND art.id_article=lien.id_objet','lien.id_auteur='.intval($qui['id_auteur']).' AND art.statut NOT IN ("poubelle","publie","refuse") AND art.id_secteur='.intval($diogene['id_secteur']));
    64                         if(intval($nb_articles) >= intval($diogene['nombre_attente']))
     60        $diogene = sql_fetsel('*', 'spip_diogenes', 'id_diogene = '.intval($id));
     61        if ($qui['statut'] != '0minirezo'
     62                and $qui['statut']
     63                and $qui['statut'] <= $diogene['statut_auteur']) {
     64                if (in_array($diogene['objet'], array('article','emballe_media'))
     65                        and $diogene['nombre_attente'] > 0) {
     66                        $nb_articles = sql_countsel('spip_articles as art LEFT JOIN spip_auteurs_liens as lien ON lien.objet="article" AND art.id_article=lien.id_objet', 'lien.id_auteur='.intval($qui['id_auteur']).' AND art.statut NOT IN ("poubelle","publie","refuse") AND art.id_secteur='.intval($diogene['id_secteur']));
     67                        if (intval($nb_articles) >= intval($diogene['nombre_attente'])) {
    6568                                return false;
     69                        }
    6670                }
    6771        }
    6872        return
    69                 $qui['statut'] AND $id
    70                 AND ($qui['statut'] <= $diogene['statut_auteur']);
     73                $qui['statut']
     74                and $id
     75                and ($qui['statut'] <= $diogene['statut_auteur']);
    7176}
    7277
     
    8287 */
    8388function autoriser_diogene_utiliser_dist($faire, $type, $id, $qui, $opt) {
    84         $diogene = sql_fetsel('*','spip_diogenes','id_diogene='.intval($id));
     89        $diogene = sql_fetsel('*', 'spip_diogenes', 'id_diogene='.intval($id));
    8590        return
    86                 $qui['statut'] AND $id
    87                 AND ($qui['statut'] <= $diogene['statut_auteur']);
     91                $qui['statut']
     92                and $id
     93                and ($qui['statut'] <= $diogene['statut_auteur']);
    8894}
    8995
     
    9197 * Autoriser a creer un article dans la rubrique $id
    9298 * Surcharge de SPIP
    93  * 
     99 *
    94100 * Changement par rapport à la fonction par défaut :
    95101 * Si on a le plugin pages, on autorise à publier dans la rubrique 0
    96102 * Si on est dans un diogene et que l'on a mis un nombre > 0 comme limite d'objet en attente de publication,
    97  * on vérifie que l'on n'ai pas atteint cette limite 
    98  * 
    99  * @param string $faire L'action
    100  * @param string $type Le type d'objet
    101  * @param int $id L'identifiant numérique de l'objet
    102  * @param array $qui Les informations de session de l'auteur
    103  * @param array $opt Des options
    104  * @return boolean true/false
    105  * 
     103 * on vérifie que l'on n'ai pas atteint cette limite
     104 *
     105 * @param string $faire L'action
     106 * @param string $type Le type d'objet
     107 * @param int $id L'identifiant numérique de l'objet
     108 * @param array $qui Les informations de session de l'auteur
     109 * @param array $opt Des options
     110 * @return boolean true/false
     111 *
    106112 * http://doc.spip.org/@autoriser_rubrique_creerarticledans_dist
    107113 */
    108 if(!function_exists('autoriser_rubrique_creerarticledans')){
     114if (!function_exists('autoriser_rubrique_creerarticledans')) {
    109115        function autoriser_rubrique_creerarticledans($faire, $type, $id, $qui, $opt) {
    110                 if(_DIR_PLUGIN_PAGES && ($id < 1)){
    111                         return $qui['statut'] && autoriser('voir','rubrique',$id);
    112                 }else{
    113                         if($qui['statut'] != '0minirezo'){
    114                                 $id_secteur = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($id));
    115                                 $nb_attente = sql_getfetsel('nombre_attente','spip_diogenes','id_secteur='.intval($id_secteur).' AND objet IN ("article","emballe_media")');
    116                                 if($nb_attente > 0){
    117                                         $nb_articles = sql_countsel('spip_articles as art LEFT JOIN spip_auteurs_liens as lien ON lien.objet="article" AND art.id_article=lien.id_objet','lien.id_auteur='.intval($qui['id_auteur']).' AND art.statut NOT IN ("poubelle","publie","refuse") AND art.id_secteur='.intval($id_secteur));
    118                                         if(intval($nb_articles) >= intval($nb_attente))
     116                if (_DIR_PLUGIN_PAGES && ($id < 1)) {
     117                        return $qui['statut'] && autoriser('voir', 'rubrique', $id);
     118                } else {
     119                        if ($qui['statut'] != '0minirezo') {
     120                                $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.intval($id));
     121                                $nb_attente = sql_getfetsel('nombre_attente', 'spip_diogenes', 'id_secteur='.intval($id_secteur).' AND objet IN ("article","emballe_media")');
     122                                if ($nb_attente > 0) {
     123                                        $nb_articles = sql_countsel('spip_articles as art LEFT JOIN spip_auteurs_liens as lien ON lien.objet="article" AND art.id_article=lien.id_objet', 'lien.id_auteur='.intval($qui['id_auteur']).' AND art.statut NOT IN ("poubelle","publie","refuse") AND art.id_secteur='.intval($id_secteur));
     124                                        if (intval($nb_articles) >= intval($nb_attente)) {
    119125                                                return false;
     126                                        }
    120127                                }
    121128                        }
    122129                        return $qui['statut'] && autoriser_rubrique_creerarticledans_dist($faire, $type, $id, $qui, $opt);
    123                 }       
     130                }
    124131        }
    125132}
     
    128135 * Permet de créer un article dans une rubrique
    129136 * Surcharge de SPIP
    130  * 
     137 *
    131138 * Ne concerne que la création et non la publication
    132139 * voir : rubrique_creerarticledans_dist() dans ecrire/inc/autoriser
     
    139146 * @return boolean true/false
    140147 */
    141 if(!function_exists('autoriser_rubrique_voir')){
     148if (!function_exists('autoriser_rubrique_voir')) {
    142149        function autoriser_rubrique_voir($faire, $type, $id, $qui, $opt) {
    143                 $id_secteur = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($id));
    144        
     150                $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.intval($id));
     151
    145152                /**
    146153                 * Cas des pages
    147154                 */
    148                 if($id == '-1'){
    149                         $id_secteur=0;
    150                 }
    151                 $statut = sql_getfetsel('statut_auteur','spip_diogenes','id_secteur='.intval($id_secteur));
    152                
    153                 if(!$statut)
     155                if ($id == '-1') {
     156                        $id_secteur = 0;
     157                }
     158                $statut = sql_getfetsel('statut_auteur', 'spip_diogenes', 'id_secteur='.intval($id_secteur));
     159
     160                if (!$statut) {
    154161                        $statut = '0minirezo';
    155        
    156                 return ($qui['statut'] AND ($qui['statut'] <= $statut));
     162                }
     163
     164                return ($qui['statut'] and ($qui['statut'] <= $statut));
    157165        }
    158166}
     
    161169 * Permet de publier dans une rubrique
    162170 * Surcharge de SPIP
    163  * 
     171 *
    164172 * Concerne la publication d'articles dans une rubrique
    165173 * On vérifie que l'auteur à les droits dans le template
     
    174182 * @return boolean true/false
    175183 */
    176 if(!function_exists('autoriser_rubrique_publierdans')){
     184if (!function_exists('autoriser_rubrique_publierdans')) {
    177185        function autoriser_rubrique_publierdans($faire, $type, $id, $qui, $opt) {
    178                 $id_secteur = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($id));
    179                 if($id == 0)
     186                $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.intval($id));
     187                if ($id == 0) {
    180188                        $id_secteur=0;
    181 
    182                 $statut_diogene = sql_getfetsel('statut_auteur_publier','spip_diogenes','id_secteur='.intval($id_secteur));
     189                }
     190
     191                $statut_diogene = sql_getfetsel('statut_auteur_publier', 'spip_diogenes', 'id_secteur='.intval($id_secteur));
    183192                $statut = $statut_diogene ? $statut_diogene : '0minirezo';
    184                
    185                 return ($qui['statut'] AND $id
    186                         AND ($qui['statut'] <= $statut)) OR autoriser_rubrique_publierdans_dist($faire, $type, $id, $qui, $opt);
     193
     194                return ($qui['statut'] and $id
     195                        and ($qui['statut'] <= $statut)) or autoriser_rubrique_publierdans_dist($faire, $type, $id, $qui, $opt);
    187196        }
    188197}
     
    191200 * Permet de modifier l'article dont on est l'auteur et que l'on peut publier nous même
    192201 * Surcharge de SPIP
    193  * 
     202 *
    194203 * On peut modifier un article s'il existe
    195204 * On peut modifier un article dans tous les cas si on est admin (comme dans SPIP)
    196  * On peut modifier un article si on est auteur de l'article dans tous les cas sauf si 
     205 * On peut modifier un article si on est auteur de l'article dans tous les cas sauf si
    197206 * on demande de changer le statut à publier et que la configuration du diogène ne le permet pas
    198207 * (on utilise autoriser_rubrique_publierdans dans ce cas)
    199  * 
    200  * @param string $faire L'action
    201  * @param string $type Le type d'objet
    202  * @param int $id L'identifiant numérique de l'objet
    203  * @param array $qui Les informations de session de l'auteur
    204  * @param array $opt Des options
    205  * @return boolean true/false
    206  */
    207 if(!function_exists('autoriser_article_modifier')){
     208 *
     209 * @param string $faire L'action
     210 * @param string $type Le type d'objet
     211 * @param int $id L'identifiant numérique de l'objet
     212 * @param array $qui Les informations de session de l'auteur
     213 * @param array $opt Des options
     214 * @return boolean true/false
     215 */
     216if (!function_exists('autoriser_article_modifier')) {
    208217        function autoriser_article_modifier($faire, $type, $id, $qui, $opt) {
    209                 $r = sql_fetsel("id_secteur,id_rubrique,statut", "spip_articles", "id_article=".intval($id));
    210                 if(!$r)
     218                $r = sql_fetsel('id_secteur,id_rubrique,statut', 'spip_articles', 'id_article='.intval($id));
     219                if (!$r) {
    211220                        return false;
    212                        
     221                }
     222
    213223                return
    214                         in_array($qui['statut'], array('0minirezo')) OR
     224                        in_array($qui['statut'], array('0minirezo')) or
    215225                        (
    216226                                (autoriser('publierdans', 'rubrique', $r['id_rubrique'], $qui, $opt)
    217                                 AND auteurs_article($id, "id_auteur=".intval($qui['id_auteur'])))
    218                                 OR (
    219                                         (!isset($opt['statut']) OR $opt['statut']!=='publie')
    220                                         AND in_array($qui['statut'], array('0minirezo', '1comite'))
    221                                         AND in_array($r['statut'], array('prop','prepa', 'publie'))
    222                                         AND auteurs_article($id, "id_auteur=".$qui['id_auteur'])
     227                                and auteurs_article($id, 'id_auteur='.intval($qui['id_auteur'])))
     228                                or (
     229                                        (!isset($opt['statut']) or $opt['statut']!=='publie')
     230                                        and in_array($qui['statut'], array('0minirezo', '1comite'))
     231                                        and in_array($r['statut'], array('prop','prepa', 'publie'))
     232                                        and auteurs_article($id, 'id_auteur='.$qui['id_auteur'])
    223233                                )
    224234                        );
     
    226236}
    227237
    228 if(!function_exists('autoriser_article_instituer')){
     238if (!function_exists('autoriser_article_instituer')) {
    229239        function autoriser_article_instituer($faire, $type, $id, $qui, $opt) {
    230                 $statut = sql_getfetsel('statut','spip_articles','id_article='.intval($id));
    231                 if(isset($opt['statut']) && $opt['statut'] == $statut)
     240                $statut = sql_getfetsel('statut', 'spip_articles', 'id_article='.intval($id));
     241                if (isset($opt['statut']) and $opt['statut'] == $statut) {
    232242                        return true;
     243                }
    233244                return autoriser_article_modifier($faire, $type, $id, $qui, $opt);
    234245        }
     
    237248 * Autoriser a creer un site dans la rubrique $id
    238249 * Surcharge de SPIP : http://doc.spip.org/@autoriser_rubrique_creersitedans_dist
    239  * 
    240  * @param string $faire L'action
    241  * @param string $type Le type d'objet
    242  * @param int $id L'identifiant numérique de l'objet
    243  * @param array $qui Les informations de session de l'auteur
    244  * @param array $opt Des options
    245  * @return boolean true/false
    246  */
    247 if(!function_exists('autoriser_rubrique_creersitedans')){
     250 *
     251 * @param string $faire L'action
     252 * @param string $type Le type d'objet
     253 * @param int $id L'identifiant numérique de l'objet
     254 * @param array $qui Les informations de session de l'auteur
     255 * @param array $opt Des options
     256 * @return boolean true/false
     257 */
     258if (!function_exists('autoriser_rubrique_creersitedans')) {
    248259        function autoriser_rubrique_creersitedans($faire, $type, $id, $qui, $opt) {
    249                 $id_secteur = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($id));
    250                 $statut = sql_getfetsel('statut_auteur','spip_diogenes','id_secteur='.intval($id_secteur));
    251        
     260                $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.intval($id));
     261                $statut = sql_getfetsel('statut_auteur', 'spip_diogenes', 'id_secteur='.intval($id_secteur));
     262
    252263                return
    253264                        $id
    254                         AND autoriser('voir','rubrique',$id)
    255                         AND $GLOBALS['meta']['activer_sites'] != 'non'
    256                         AND (($qui['statut'] <= $statut) OR
    257                                 ($qui['statut']=='0minirezo'
    258                                 OR ($GLOBALS['meta']["proposer_sites"] >=
    259                                     ($qui['statut']=='1comite' ? 1 : 2)))
    260                                     );
     265                        and autoriser('voir', 'rubrique', $id)
     266                        and $GLOBALS['meta']['activer_sites'] != 'non'
     267                        and (($qui['statut'] <= $statut)
     268                                or ($qui['statut']=='0minirezo'
     269                                        or ($GLOBALS['meta']['proposer_sites'] >= ($qui['statut']=='1comite' ? 1 : 2))
     270                                )
     271                        );
    261272        }
    262273}
     
    265276 * Si le plugin champs extras 2 est activé, on utilise une fonction d'autorisation
    266277 * d'affichage des saisies de champs extras
    267  * 
    268  * Cette fonction vérifie tout d'abord s'il existe un diogène associé au type d'objet en cours et 
     278 *
     279 * Cette fonction vérifie tout d'abord s'il existe un diogène associé au type d'objet en cours et
    269280 * au secteur en cours et si oui :
    270281 * -* on vérifie s'il y a une configuration liée aux champs extras sur ce diogène
    271282 * -* on retourne false s'il est nécessaire de cacher ces champs extras
    272283 * -* on retourne la fonction de base de cette autorisation dans le cas contraire
    273  * 
    274  * @param string $faire L'action
    275  * @param string $type Le type d'objet
    276  * @param int $id L'identifiant numérique de l'objet
    277  * @param array $qui Les informations de session de l'auteur
    278  * @param array $opt Des options
    279  * @return boolean true/false
    280  */
    281 if(defined('_DIR_PLUGIN_CEXTRAS') && _DIR_PLUGIN_CEXTRAS){
    282         if(!function_exists('autoriser_modifierextra')){
    283                 function autoriser_modifierextra($faire,$quoi,$id,$qui,$opts){
     284 *
     285 * @param string $faire L'action
     286 * @param string $type Le type d'objet
     287 * @param int $id L'identifiant numérique de l'objet
     288 * @param array $qui Les informations de session de l'auteur
     289 * @param array $opt Des options
     290 * @return boolean true/false
     291 */
     292if (defined('_DIR_PLUGIN_CEXTRAS') && _DIR_PLUGIN_CEXTRAS) {
     293        if (!function_exists('autoriser_modifierextra')) {
     294                function autoriser_modifierextra($faire, $quoi, $id, $qui, $opts) {
    284295                        /**
    285296                         * On recherche un parent pour trouver le secteur qui nous permettra de trouver le diogene s'il existe
    286297                         */
    287                         if(is_numeric($opts['contexte']['id_parent']) OR is_numeric(_request('id_parent')) OR is_array(_request('parents'))){
    288                                 $id_parent = $opts['contexte']['id_parent'] ? $opts['contexte']['id_parent'] : (_request('id_parent') ? _request('id_parent') : table_valeur('0',_request('parents',array())));
    289                                 if($opts['type'] == 'article'){
    290                                         $objets = array('emballe_media','article');
    291                                 }else{
     298                        if (is_numeric($opts['contexte']['id_parent'])
     299                                or is_numeric(_request('id_parent'))
     300                                or is_array(_request('parents'))) {
     301                                $id_parent = $opts['contexte']['id_parent'] ? $opts['contexte']['id_parent'] : (_request('id_parent') ? _request('id_parent') : table_valeur('0', _request('parents', array())));
     302                                if ($opts['type'] == 'article') {
     303                                        $objets = array('emballe_media', 'article');
     304                                } else {
    292305                                        $objets = array($opts['type']);
    293306                                }
    294                                 $id_secteur = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($id_parent));
    295                                 $diogene_parent = sql_fetsel('*','spip_diogenes','id_secteur='.intval($id_secteur).' AND '.sql_in('objet',$objets));
    296                                 if(is_array(unserialize($diogene_parent['options_complements'])) && ($complements = unserialize($diogene_parent['options_complements'])) && is_array(unserialize($complements['cextras_enleves']))){
    297                                         foreach(unserialize($complements['cextras_enleves']) as $enleve){
    298                                                 if($opts['champ'] == $enleve){
     307                                $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.intval($id_parent));
     308                                $diogene_parent = sql_fetsel('*', 'spip_diogenes', 'id_secteur='.intval($id_secteur).' AND '.sql_in('objet', $objets));
     309                                if (is_array(unserialize($diogene_parent['options_complements']))
     310                                        and ($complements = unserialize($diogene_parent['options_complements']))
     311                                        and is_array(unserialize($complements['cextras_enleves']))) {
     312                                        foreach (unserialize($complements['cextras_enleves']) as $enleve) {
     313                                                if ($opts['champ'] == $enleve) {
    299314                                                        return false;
    300315                                                }
     
    302317                                }
    303318                        }
    304                         return autoriser_modifierextra_dist($faire,$quoi,$id,$qui,$opts);
     319                        return autoriser_modifierextra_dist($faire, $quoi, $id, $qui, $opts);
    305320                }
    306321        }
     
    309324/**
    310325 * Autorisation à traduire un article (spécifique à Diogène)
    311  * 
     326 *
    312327 * Est autorisé à traduire un article :
    313  * -* Dans le cas général, un auteur qui a le droit de créer un article dans la même rubrique que 
     328 * -* Dans le cas général, un auteur qui a le droit de créer un article dans la même rubrique que
    314329 * l'article en question;
    315330 * -* Si on est dans un diogène, on se réfère à la configuration :
    316331 * -** Par défaut, l'autorisation précedente;
    317  * -** Si dans la configuration du template, seulement l'auteur  ou un des auteurs originaux est sélectionné, 
     332 * -** Si dans la configuration du template, seulement l'auteur  ou un des auteurs originaux est sélectionné,
    318333 * on modifie le résultat à la configuration
    319334 * -** Si dans la configuration du template, aucune traduction possible est sélectionnée, on retourne false;
    320  * 
     335 *
    321336 * On retourne toujours faux si :
    322337 * -* Uniquement une seule langue dans le site;
    323  * 
     338 *
    324339 * @param unknown_type $faire
    325340 * @param unknown_type $quoi
     
    328343 * @param unknown_type $opts
    329344 */
    330 function autoriser_article_traduire_dist($faire,$quoi,$id,$qui,$opts){
    331         $article = sql_fetsel("id_secteur,id_rubrique", "spip_articles", "id_article=".sql_quote($id));
    332         $diogene = sql_getfetsel("id_diogene","");
     345function autoriser_article_traduire_dist($faire, $quoi, $id, $qui, $opts) {
     346        $r = sql_fetsel('id_secteur,id_rubrique', 'spip_articles', 'id_article='.sql_quote($id));
    333347        include_spip('inc/auth'); // pour auteurs_article si espace public
    334348        return
    335                 (autoriser('creerarticledans', 'rubrique', $r['id_rubrique'], $qui, $opt)
    336                         AND in_array($r['statut'], array('prop','prepa', 'publie'))
    337                         AND auteurs_article($id, "id_auteur=".$qui['id_auteur'])
     349                (autoriser('creerarticledans', 'rubrique', $r['id_rubrique'], $qui, $opts)
     350                        and in_array($r['statut'], array('prop','prepa', 'publie'))
     351                        and auteurs_article($id, 'id_auteur='.$qui['id_auteur'])
    338352                )
    339                 OR in_array($qui['statut'], array('0minirezo'));
    340 }
    341 ?>
     353                or in_array($qui['statut'], array('0minirezo'));
     354}
  • _plugins_/diogene/diogene/trunk/diogene_fonctions.php

    r86736 r97999  
    1010 *
    1111 * Fonctions spécifiques à Diogene
    12  * 
     12 *
    1313 * @package SPIP\Diogene\Fonctions
    1414 **/
    1515
    16 if (!defined("_ECRIRE_INC_VERSION")) return;
     16if (!defined('_ECRIRE_INC_VERSION')) {
     17        return;
     18}
    1719
    1820/**
    1921 * Redéfinition de la balise #URL_ARTICLE
    2022 * http://doc.spip.org/@balise_URL_ARTICLE_dist
    21  * 
     23 *
    2224 * Si l'article n'existe pas ou n'est pas publié, on envoie vers la page publique de publication
    2325 * Pratique pour les liens vers associé à une auteur mais pas encore publiés
    24  * 
     26 *
    2527 * @param Champ $p
    2628 *     Pile au niveau de la balise
     
    3436                $code = champ_sql('url', $p);
    3537                $p->code = "vider_url($code)";
    36         } else{
     38        } else {
    3739                $code = generer_generer_url('article', $p);
    38                 $_id = interprete_argument_balise(1,$p);
    39                 if (!$_id)
     40                $_id = interprete_argument_balise(1, $p);
     41                if (!$_id) {
    4042                        $_id = champ_sql('id_article', $p);
     43                }
    4144                $p->code = "generer_url_publier($_id,'article','',false)";
    4245
     
    4952 * Fonction calculant le nombre d'objets qu'un utilisateur peut encore créer
    5053 * Utilisé que sur les objets à base d'articles
    51  * 
    52  * @param int 
     54 *
     55 * @param int
    5356 *              $id_diogene : l'identifiant numérique du diogene
    5457 * @return string|int|false
     
    5861 *              - int : le nombre possible
    5962 */
    60 function diogene_nombre_attente($id_diogene){
     63function diogene_nombre_attente($id_diogene) {
    6164        $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
    62         if(!intval($id_auteur) || ($id_auteur < 1))
     65        if (!intval($id_auteur) || ($id_auteur < 1)) {
    6366                return false;
    64         if($GLOBALS['visiteur_session']['statut'] == "0minirezo")
     67        }
     68        if ($GLOBALS['visiteur_session']['statut'] == '0minirezo') {
    6569                return 'infinite';
    66        
    67         $diogene = sql_fetsel('id_secteur,nombre_attente','spip_diogenes','id_diogene='.intval($id_diogene).' AND objet IN ("article","emballe_media")');
    68 
    69         if($diogene['nombre_attente'] == 0)
     70        }
     71
     72        $diogene = sql_fetsel('id_secteur,nombre_attente', 'spip_diogenes', 'id_diogene='.intval($id_diogene).' AND objet IN ("article","emballe_media")');
     73
     74        if ($diogene['nombre_attente'] == 0) {
    7075                return 'infinite';
    71                
    72         $nb_articles = sql_countsel('spip_articles as art LEFT JOIN spip_auteurs_liens as lien ON lien.objet="article" AND art.id_article=lien.id_objet','lien.id_auteur='.intval($id_auteur).' AND art.id_secteur='.intval($diogene['id_secteur']).' AND statut NOT IN ("publie","poubelle")');
     76        }
     77
     78        $nb_articles = sql_countsel('spip_articles as art LEFT JOIN spip_auteurs_liens as lien ON lien.objet="article" AND art.id_article=lien.id_objet', 'lien.id_auteur='.intval($id_auteur).' AND art.id_secteur='.intval($diogene['id_secteur']).' AND statut NOT IN ("publie","poubelle")');
    7379        $nombre_attente = ($diogene['nombre_attente'] - $nb_articles);
    74         if($nombre_attente < 0)
     80        if ($nombre_attente < 0) {
    7581                $nombre_attente = 0;
     82        }
    7683        return intval($nombre_attente);
    7784
     
    7986
    8087// TODO : passer le define dans une valeur de config
    81 if (!test_espace_prive() AND (defined('_DIOGENE_MODIFIER_PUBLIC') ? _DIOGENE_MODIFIER_PUBLIC : true)) {
    82         function generer_url_ecrire_article($id, $args, $ancre, $public, $connect){
    83                 return url_absolue(generer_url_publier($id,article,'article',null,true));
     88if (!test_espace_prive() and (defined('_DIOGENE_MODIFIER_PUBLIC') ? _DIOGENE_MODIFIER_PUBLIC : true)) {
     89        function generer_url_ecrire_article($id, $args, $ancre, $public, $connect) {
     90                return url_absolue(generer_url_publier($id, 'article', null, true));
    8491        }
    8592}
     
    8794/**
    8895 * Génération d'une url vers la page de publication d'un objet
    89  * 
    90  * @param int $id 
     96 *
     97 * @param int $id
    9198 *              Identifiant numérique de l'objet
    92  * @param string 
     99 * @param string
    93100 *              $objet Le type de l'objet
    94  * @param boolean 
     101 * @param boolean
    95102 *              $forcer Dans le cas où l'objet est déjà publié cela renverra vers la page de l'objet. Si $forcer = true,
    96103 *              cela forcera le fait d'aller sur la page de modification de l'objet
    97  * @return string $url 
     104 * @return string $url
    98105 *              L'URL de la page que l'on souhaite
    99106 */
    100 function generer_url_publier($id=null,$objet='article',$id_secteur=0,$forcer=true,$forcer_ecrire='non'){
     107function generer_url_publier($id = null, $objet = 'article', $id_secteur = 0, $forcer = true, $forcer_ecrire = 'non') {
    101108        include_spip('inc/urls');
    102        
     109
    103110        $id_table_objet = id_table_objet($objet) ? id_table_objet($objet) : 'id_article';
    104111        $table = table_objet_sql($objet);
    105112        $table_objet = table_objet($objet);
    106        
     113
    107114        $infos_cherchees = array('statut');
    108115        $trouver_table = charger_fonction('trouver_table', 'base');
    109        
     116
    110117        if ($desc = $trouver_table($table_objet)
    111                 AND isset($desc['field']['id_secteur']))
    112                         $infos_cherchees[] = 'id_secteur';
    113                
    114         if(is_numeric($id)){
    115                 $infos_objet = sql_fetsel($infos_cherchees,$table,$id_table_objet."=".intval($id));
     118                and isset($desc['field']['id_secteur'])) {
     119                $infos_cherchees[] = 'id_secteur';
     120        }
     121
     122        if (is_numeric($id)) {
     123                $infos_objet = sql_fetsel($infos_cherchees, $table, $id_table_objet.'='.intval($id));
    116124                $id_secteur = $infos_objet['id_secteur'] ? $infos_objet['id_secteur'] : 0;
    117         }else
     125        } else {
    118126                $infos_objet = array();
    119        
     127        }
     128
    120129        /**
    121130         * Si on ne force pas, on envoit vers la page de l'objet
    122131         */
    123         if($forcer === false){
    124                 if(in_array($infos_objet['statut'],array('publie','archive')))
    125                         return generer_url_entite($id,$objet);
     132        if ($forcer === false) {
     133                if (in_array($infos_objet['statut'], array('publie','archive'))) {
     134                        return generer_url_entite($id, $objet);
     135                }
    126136        }
    127137        $objets[] = $objet;
    128         if($objet == 'article'){
     138        if ($objet == 'article') {
    129139                $objets[] = 'emballe_media';
    130140                $objets[] = 'page';
    131141        }
    132        
    133         if($forcer_ecrire == 'prive')
    134                 $type_objet = sql_getfetsel('type','spip_diogenes','id_secteur='.intval($id_secteur).' AND '.sql_in("objet",$objets));
    135 
    136         if(isset($type_objet) && $type_objet){
     142
     143        if ($forcer_ecrire == 'prive') {
     144                $type_objet = sql_getfetsel('type', 'spip_diogenes', 'id_secteur='.intval($id_secteur).' AND '.sql_in('objet', $objets));
     145        }
     146
     147        if (isset($type_objet) and $type_objet) {
    137148                $page_publier = defined('_PAGE_PUBLIER') ? _PAGE_PUBLIER : 'publier';
    138                 $url = generer_url_public($page_publier,'type_objet='.$type_objet,'',true);
    139                 if(is_numeric($id))
    140                         $url = parametre_url($url,$id_table_objet,intval($id));
    141         }else{
    142                 $a = id_table_objet($objet) . "=" . intval($id);
    143                 if (!function_exists('objet_info'))
     149                $url = generer_url_public($page_publier, 'type_objet=' . $type_objet, '', true);
     150                if (is_numeric($id)) {
     151                        $url = parametre_url($url, $id_table_objet, intval($id));
     152                }
     153        } else {
     154                $a = id_table_objet($objet) . '=' . intval($id);
     155                if (!function_exists('objet_info')) {
    144156                        include_spip('inc/filtres');
    145                 $url = generer_url_ecrire(objet_info($objet,'url_voir'), $a);
     157                }
     158                $url = generer_url_ecrire(objet_info($objet, 'url_voir'), $a);
    146159        }
    147160        return $url;
     
    153166 * @param string $statut
    154167 *              Le statut de l'objet
    155  * @param string $type 
     168 * @param string $type
    156169 *              Le type d'objet SPIP
    157  * @return string 
    158  *              La locution adéquate pour le statut 
    159  */
    160 function diogene_info_statut($statut, $type='article') {
    161         $statuts = objet_info($type,'statut_titres');
    162         if(!is_array($statuts)){
    163                 $statuts = objet_info($type,'statut_textes_instituer');
    164         }
    165         if(is_array($statuts) && array_key_exists($statut,$statuts))
     170 * @return string
     171 *              La locution adéquate pour le statut
     172 */
     173function diogene_info_statut($statut, $type = 'article') {
     174        $statuts = objet_info($type, 'statut_titres');
     175        if (!is_array($statuts)) {
     176                $statuts = objet_info($type, 'statut_textes_instituer');
     177        }
     178        if (is_array($statuts) && array_key_exists($statut, $statuts)) {
    166179                return _T($statuts[$statut]);
    167         else{
     180        } else {
    168181                switch ($type) {
    169182                        case 'article':
     
    172185                        case 'rubrique':
    173186                                $etats = array_flip($GLOBALS['liste_des_etats']);
    174                                 if(isset($etats[$statut])){
     187                                if (isset($etats[$statut])) {
    175188                                        return _T($etats[$statut]);
     189                                } elseif ($statut == 'new') {
     190                                        return _T('diogene:info_rubrique_new');
     191                                } elseif ($statut == 0) {
     192                                        /**
     193                                         * Rubrique qui a été dépubliée
     194                                         * cf depublier_rubrique_if() dans inc/rubriques
     195                                         */
     196                                        return _T('diogene:info_rubrique_vide');
     197                                } else {
     198                                        return $statut;
    176199                                }
    177                                 elseif($statut == 'new')
    178                                         return _T('diogene:info_rubrique_new');
    179                                 /**
    180                                  * Rubrique qui a été dépubliée
    181                                  * cf depublier_rubrique_if() dans inc/rubriques
    182                                  */
    183                                 elseif($statut == 0)
    184                                         return _T('diogene:info_rubrique_vide');
    185        
    186                                 else
    187                                         return $statut;
    188200                }
    189201        }
     
    194206 * Être sûr d'avoir les fonctions des puces
    195207 */
    196 if(!function_exists('puce_statut')){
     208if (!function_exists('puce_statut')) {
    197209        include_spip('inc/autoriser');
    198210        include_spip('inc/puce_statut');
    199211}
    200212
    201 if(!function_exists('puce_statut_rubrique')){
     213if (!function_exists('puce_statut_rubrique')) {
    202214        /**
    203215         * Surcharge de la fonction puce_statut_dist() de inc/puce_statut
     
    211223         * @return un tag image <img src... /> ou le string du statut
    212224         */
    213         function puce_statut_rubrique($id_objet, $statut, $id_parent, $type, $ajax='') {
    214                 if(test_espace_prive())
    215                         return puce_statut_rubrique_dist($id_objet, $statut, $id_parent, $type, $ajax='');
    216                 else{
     225        function puce_statut_rubrique($id_objet, $statut, $id_parent, $type, $ajax = '') {
     226                if (test_espace_prive()) {
     227                        return puce_statut_rubrique_dist($id_objet, $statut, $id_parent, $type, $ajax = '');
     228                } else {
    217229                        switch ($statut) {
    218230                                case 'publie':
     
    254266 *              false : Le lien genere est relatif a notre site (par defaut)
    255267 *              true : Le lien est realise sur spip.net/aide/ directement ...
    256  * @return 
     268 * @return
    257269**/
    258 function inc_aider($aide='', $skel='', $env=array(), $aide_spip_directe = false) {
     270function inc_aider($aide = '', $skel = '', $env = array(), $aide_spip_directe = false) {
    259271        global $spip_lang, $aider_index;
    260272        include_spip('inc/aider');
    261273        if (($skel = basename($skel))
    262         AND isset($aider_index[$skel])
    263         AND isset($aider_index[$skel][$aide]))
     274                and isset($aider_index[$skel])
     275                and isset($aider_index[$skel][$aide])) {
    264276                $aide = $aider_index[$skel][$aide];
     277        }
    265278
    266279        if ($aide_spip_directe) {
     
    275288        } else {
    276289                $args = "aide=$aide&var_lang=$spip_lang";
    277                 if(test_espace_prive())
    278                         $url = generer_url_ecrire("aide", $args);
    279                 else
    280                         $url = generer_url_public("aide_spip", $args);
    281                
     290                if (test_espace_prive()) {
     291                        $url = generer_url_ecrire('aide', $args);
     292                } else {
     293                        $url = generer_url_public('aide_spip', $args);
     294                }
    282295        }
    283296        return aider_icone($url);
    284297}
    285298
    286 function diogene_puce_statut($id_objet,$type,$statut,$id_parent='0'){
    287         $puce_statut = charger_fonction('puce_statut','inc');
    288         return $puce_statut($id_objet, $statut, $id_parent, $type,false,null);
     299function diogene_puce_statut($id_objet, $type, $statut, $id_parent = '0') {
     300        $puce_statut = charger_fonction('puce_statut', 'inc');
     301        return $puce_statut($id_objet, $statut, $id_parent, $type, false, null);
    289302}
    290303
    291304/**
    292305 * Pour PHP < 5.3.0
    293  * 
     306 *
    294307 * Une définition de la fonction lcfirst
    295  * 
     308 *
    296309 * @param string $texte
    297310 *              Le texte que l'on souhaite modifier
     
    299312 *              Le texte modifié
    300313 */
    301 if(!function_exists('lcfirst')){
    302         function lcfirst($texte){
     314if (!function_exists('lcfirst')) {
     315        function lcfirst($texte) {
    303316                $texte{0} = strtolower($texte{0});
    304317                return $texte;
    305318        }
    306319}
    307 ?>
  • _plugins_/diogene/diogene/trunk/diogene_options.php

    r82238 r97999  
    1010 *
    1111 * Options spécifiques à Diogene
    12  * 
     12 *
    1313 * @package SPIP\Diogene\Options
    1414 **/
    1515
    16 if (!defined("_ECRIRE_INC_VERSION")) return;
     16if (!defined('_ECRIRE_INC_VERSION')) {
     17        return;
     18}
    1719
    1820/**
     
    2022 * Demande trop de css et autres trucs pour être sûr que ce soit correct partout
    2123 */
    22 if(!test_espace_prive() && !defined(_ACTIVER_PUCE_RAPIDE))
    23         define(_ACTIVER_PUCE_RAPIDE,false);
    24 
    25 
    26 ?>
     24if (!test_espace_prive() and !defined(_ACTIVER_PUCE_RAPIDE)) {
     25        define(_ACTIVER_PUCE_RAPIDE, false);
     26}
  • _plugins_/diogene/diogene/trunk/diogene_pipelines.php

    r96333 r97999  
    1414 **/
    1515
    16 if (!defined("_ECRIRE_INC_VERSION")) return;
     16if (!defined('_ECRIRE_INC_VERSION')) {
     17        return;
     18}
    1719
    1820/**
    1921 * Insertion dans le pipeline jqueryui_plugins (jQuery UI)
    2022 * On ajoute le datepicker pour être sûr de bénéficier des styles pour le datepicker
    21  * 
     23 *
    2224 * @param $plugins array
    2325 *              La liste des plugins jqueryui à insérer
     
    2527 *              La liste des plugins complétée
    2628 */
    27 function diogene_jqueryui_plugins($plugins){
     29function diogene_jqueryui_plugins($plugins) {
    2830        $plugins[] = 'jquery.ui.datepicker';
    2931        return $plugins;
     
    3133/**
    3234 * Insertion dans le pipeline insert_head_css (SPIP)
    33  * 
     35 *
    3436 * Compromis entre faire deux hits pour de petits fichiers sur la page d'upload
    3537 * ou les trimballer sur tout le site dans une css compressée pour quelques octets (on choisi la 2)
    36  * 
     38 *
    3739 * @param $flux string
    3840 *              Le contenu de la balise #INSERT_HEAD_CSS
     
    4042 *              Le contenu de la balise modifié
    4143 */
    42 function diogene_insert_head_css($flux){
     44function diogene_insert_head_css($flux) {
    4345        $diogene_css = direction_css(find_in_path('css/diogene.css'), lang_dir());
    4446        $flux .= "<link rel='stylesheet' type='text/css' media='all' href='$diogene_css' />\n";
     
    4749/**
    4850 * Insertion dans le pipeline editer_contenu_objet (SPIP)
    49  * 
     51 *
    5052 * Insère ou enlève les champs dans le formulaire
    5153 * que l'on souhaite ajouter ou supprimer
     
    5658 *              Le contexte du pipeline modifié
    5759 */
    58 function diogene_editer_contenu_objet($flux){
     60function diogene_editer_contenu_objet($flux) {
    5961        $args = $flux['args'];
    6062        $type = $args['type'];
    6163        $pipeline = pipeline('diogene_objets', array());
    62         if (in_array($type,array_keys($pipeline))){
    63                 $langues_dispos = explode(',',$GLOBALS['meta']['langues_multilingue']);
    64                
     64        if (in_array($type, array_keys($pipeline))) {
     65                $langues_dispos = explode(',', $GLOBALS['meta']['langues_multilingue']);
     66
    6567                /**
    6668                 * Recherche de l'id_secteur afin de trouver le bon diogène
     
    7072                $id_secteur = ($args['contexte']['id_secteur'] > 0) ?
    7173                        $args['contexte']['id_secteur'] :
    72                         sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($args['contexte']['id_parent']));
    73                
     74                        sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.intval($args['contexte']['id_parent']));
     75
    7476                /**
    7577                 * Cas des pages uniques
    76                  * 
     78                 *
    7779                 * On n'a pas d'id_secteur et on a un id_parent dans le contexte soit = 0 soit = -1
    7880                 * Du coup c'est le cas d'une page unique, on change donc le type en "page", id_secteur en "0"
    7981                 */
    80                 if(!$id_secteur && (($args['contexte']['id_parent'] == 0) OR ($args['contexte']['id_parent'] == '-1') OR (!$args['contexte']['id_parent']  && !$args['contexte']['parents'])) && ($type=='article')){
     82                if (!$id_secteur
     83                        and (($args['contexte']['id_parent'] == 0)
     84                                or ($args['contexte']['id_parent'] == '-1')
     85                                or (!$args['contexte']['id_parent'] and !$args['contexte']['parents']))
     86                        and ($type=='article')) {
    8187                        $id_secteur='0';
    8288                        $type = 'page';
    8389                }
    84                
     90
    8591                /**
    8692                 * Création de la clause Where de la requète pour trouver dans quel diogène on est
    8793                 */
    88                 if($type == 'article'){
    89                         if($id_diogene = intval(_request('id_diogene')))
    90                                 $where = "id_diogene = ".intval($id_diogene)." AND id_secteur=".intval($id_secteur)." AND objet IN ('article','emballe_media')";
    91                         else
    92                                 $where = "id_secteur=".intval($id_secteur)." AND objet IN ('article','emballe_media')";
    93                 }
    94                
    95                 if(!$where){
    96                         if((!$id_secteur) && $pipeline[$type]['diogene_max'] == 1)
    97                                 $where = "objet=".sql_quote($type);
    98                         else
    99                                 $where = "id_secteur=".intval($id_secteur)." AND objet=".sql_quote($type);
     94                if ($type == 'article') {
     95                        if ($id_diogene = intval(_request('id_diogene'))) {
     96                                $where = 'id_diogene = '.intval($id_diogene).' AND id_secteur='.intval($id_secteur)." AND objet IN ('article','emballe_media')";
     97                        } else {
     98                                $where = 'id_secteur='.intval($id_secteur)." AND objet IN ('article','emballe_media')";
     99                        }
     100                }
     101
     102                if (!$where) {
     103                        if ((!$id_secteur) && $pipeline[$type]['diogene_max'] == 1) {
     104                                $where = 'objet=' . sql_quote($type);
     105                        } else {
     106                                $where = 'id_secteur='.intval($id_secteur).' AND objet='.sql_quote($type);
     107                        }
    100108                }
    101109
     
    103111                 * On n'agit que si on a trouvé un diogene
    104112                 */
    105                 if($diogene = sql_fetsel('*','spip_diogenes',$where)){
     113                if ($diogene = sql_fetsel('*', 'spip_diogenes', $where)) {
    106114                        /**
    107115                         * On ajoute dans l'environnement les champs ajoutés par diogènes et ses sous plugins
    108116                         */
    109                         if(unserialize($diogene['champs_ajoutes']) == 'false')
     117                        if (unserialize($diogene['champs_ajoutes']) == 'false') {
    110118                                $args['diogene_ajouts'] = array();
    111                         else
     119                        } else {
    112120                                $args['diogene_ajouts'] = unserialize($diogene['champs_ajoutes']);
    113                        
     121                        }
     122
    114123                        /**
    115124                         * On ajoute dans l'environnement les options des complements
    116125                         */
    117                         if(unserialize($diogene['options_complements']) == 'false')
     126                        if (unserialize($diogene['options_complements']) == 'false') {
    118127                                $args['options_complements'] = array();
    119                         else
     128                        } else {
    120129                                $args['options_complements'] = unserialize($diogene['options_complements']);
     130                        }
    121131
    122132                        /**
    123133                         * On vire les champs que l'on ne souhaite pas
    124134                         */
    125                         if($diogene['objet'] == 'page')
     135                        if ($diogene['objet'] == 'page') {
    126136                                $diogene['champs_caches']['id_parent'];
     137                        }
    127138
    128139                        /**
     
    132143                         * on laisse le champ jusqu'à ce qu'il soit vide
    133144                         */
    134                         if(is_array($champs_caches = unserialize($diogene['champs_caches']))){
    135                                 foreach($champs_caches as $champ){
    136                                         if($champ == 'urlref')
     145                        if (is_array($champs_caches = unserialize($diogene['champs_caches']))) {
     146                                foreach ($champs_caches as $champ) {
     147                                        if ($champ == 'urlref') {
    137148                                                $champ = 'liens_sites';
    138                                         if (($champ == 'liens_sites') && preg_match(",<li [^>]*class=[\"']editer editer_($champ).*<fieldset>.*<\/fieldset>.*<\/li>,Uims",$flux['data'],$regs))
    139                                                 $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer (editer_$champ).*<fieldset>.*<\/fieldset>.*<\/li>),Uims","",$flux['data'],1);
    140                                         else if (($champ != 'liens_site') && (!isset($args['contexte'][$champ]) OR (strlen($args['contexte'][$champ]) == 0)) && preg_match(",<li [^>]*class=[\"']editer editer_($champ).*<\/li>,Uims",$flux['data'],$regs)){
    141                                                 $flux['data'] = preg_replace(",<li [^>]*class=[\"']editer editer_$champ.*<\/li>,Uims","",$flux['data'],1);
    142149                                        }
    143                                 }
    144                         }
    145 
    146                         if($type=='page'){
     150                                        if (($champ == 'liens_sites') && preg_match(",<li [^>]*class=[\"']editer editer_($champ).*<fieldset>.*<\/fieldset>.*<\/li>,Uims", $flux['data'], $regs)) {
     151                                                $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer (editer_$champ).*<fieldset>.*<\/fieldset>.*<\/li>),Uims", '', $flux['data'], 1);
     152                                        } elseif (($champ != 'liens_site')
     153                                                and (!isset($args['contexte'][$champ])
     154                                                        or (strlen($args['contexte'][$champ]) == 0))
     155                                                and preg_match(",<li [^>]*class=[\"']editer editer_($champ).*<\/li>,Uims", $flux['data'], $regs)) {
     156                                                $flux['data'] = preg_replace(",<li [^>]*class=[\"']editer editer_$champ.*<\/li>,Uims", '', $flux['data'], 1);
     157                                        }
     158                                }
     159                        }
     160
     161                        if ($type == 'page') {
    147162                                $type='article';
    148163                                $args['type'] = 'article';
    149164                                $old_type = 'page';
    150165                        }
    151                        
     166
    152167                        /**
    153168                         * On ajoute ce que l'on souhaite ajouter avant le formulaire
    154                          * 
     169                         *
    155170                         * Pour cela, on utilise un pipeline diogene_avant_formulaire utilisable à partir d'autres plugins
    156                          * 
     171                         *
    157172                         * Par défaut :
    158173                         * - Si on trouve un fichier javascript/$type.js ($type étant le type d'objet : article, rubrique...), on le charge en amont
    159174                         * - Si on trouve un fichier javascript/$diogene['type'].js ($diogene['type'] étant l'identifiant du diogene), on le charge en amont
    160175                         */
    161                          spip_log($type,'test.'._LOG_ERREUR);
    162                         if (preg_match(",<div [^>]*class=[\"'][^>]*formulaire_editer_($type),Uims",$flux['data'],$regs)){
     176                        if (preg_match(",<div [^>]*class=[\"'][^>]*formulaire_editer_($type),Uims", $flux['data'], $regs)) {
    163177                                $args['champs_ajoutes'] = $diogene['champs_ajoutes'];
    164178                                $args['diogene_identifiant'] = $diogene['type'];
    165                                 $ajouts = pipeline('diogene_avant_formulaire',array('args'=>$args,'data'=>''));
    166                                 if($js = find_in_path('javascript/'.$type.'.js'))
     179                                $ajouts = pipeline('diogene_avant_formulaire', array('args' => $args,'data' => ''));
     180                                if ($js = find_in_path('javascript/'.$type.'.js')) {
    167181                                        $ajouts .= "<script type='text/javascript' src='$js'></script>\n";
    168                                 elseif($js = find_in_path('javascript/'.$type.'.js.html')){
    169                                         $js = produire_fond_statique('javascript/'.$type.'.js',array('type_objet'=>$type));
     182                                } elseif ($js = find_in_path('javascript/'.$type.'.js.html')) {
     183                                        $js = produire_fond_statique('javascript/'.$type.'.js', array('type_objet' => $type));
    170184                                        $ajouts .= "<script type='text/javascript' src='$js'></script>\n";
    171                                 }
    172                                 elseif($js = find_in_path('javascript/'.$diogene['type'].'.js'))
     185                                } elseif ($js = find_in_path('javascript/'.$diogene['type'].'.js')) {
    173186                                        $ajouts .= "<script type='text/javascript' src='$js'></script>\n";
    174                                 elseif($js = find_in_path('javascript/'.$diogene['type'].'.js.html')){
    175                                         $js = produire_fond_statique('javascript/'.$diogene['type'].'.js',array('type_objet'=>$diogene['type']));
     187                                } elseif ($js = find_in_path('javascript/'.$diogene['type'].'.js.html')) {
     188                                        $js = produire_fond_statique('javascript/'.$diogene['type'].'.js', array('type_objet' => $diogene['type']));
    176189                                        $ajouts .= "<script type='text/javascript' src='$js'></script>\n";
    177190                                }
    178                                 spip_log($ajouts,'test.'._LOG_ERREUR);
    179                                 $flux['data'] = preg_replace(",(<div [^>]*class=[\"'][^>]*formulaire_editer_$type),Uims",$ajouts."\\1",$flux['data'],1);
     191                                $flux['data'] = preg_replace(",(<div [^>]*class=[\"'][^>]*formulaire_editer_$type),Uims", $ajouts."\\1", $flux['data'], 1);
    180192                        }
    181193                        /**
    182194                         * On ajoute le formulaire de langue sur les articles
    183195                         */
    184                         if($old_type){
     196                        if ($old_type) {
    185197                                $type=$old_type;
    186198                                $args['type'] = $old_type;
    187199                        }
    188                         if(in_array($type,array('article','page')) && (count($langues_dispos)>1)){
    189                                 $saisie_langue = recuperer_fond('formulaires/selecteur_langue',array('langues_dispos'=>$langues_dispos,'id_article'=>$args['contexte']['id_article']));
    190                                 $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_titre.*<\/li>),Uims","\\1".$saisie_langue,$flux['data'],1);
     200                        if (in_array($type, array('article','page'))
     201                                and (count($langues_dispos)>1)) {
     202                                $saisie_langue = recuperer_fond('formulaires/selecteur_langue', array('langues_dispos' => $langues_dispos, 'id_article' => $args['contexte']['id_article']));
     203                                $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_titre.*<\/li>),Uims", "\\1".$saisie_langue, $flux['data'], 1);
    191204                        }
    192205                        /**
     
    195208                         * On laisse le séleceteur normal dans le prive pour pouvoir changer l'objet de place
    196209                         */
    197                         if (!test_espace_prive() && preg_match(",<li [^>]*class=[\"']editer editer_parent,Uims",$flux['data'],$regs) && (!preg_match(",<li [^>]*class=[\"']editer editer_parents,Uims",$flux['data'],$regs2) OR ($args['options_complements']['polyhier_desactiver'] == 'on'))){
     210                        if (!test_espace_prive()
     211                                and preg_match(",<li [^>]*class=[\"']editer editer_parent,Uims", $flux['data'], $regs)
     212                                and (!preg_match(",<li [^>]*class=[\"']editer editer_parents,Uims", $flux['data'], $regs2)
     213                                or ($args['options_complements']['polyhier_desactiver'] == 'on'))) {
    198214                                $contexte_selecteur = array(
    199215                                        'id_rubrique_limite'=>$id_secteur,
     
    201217                                        'id_parent'=>$args['contexte']['id_parent'],
    202218                                        'rubrique_principale' => $rubrique_principale);
    203                                 if($type == 'rubrique')
     219                                if ($type == 'rubrique') {
    204220                                        $contexte_selecteur['id_rubrique'] = $args['contexte']['id_rubrique'];
    205 
    206                                 if(count($regs2) > 0){
    207                                         $class = "editer editer_parents";
    208                                         $contexte_selecteur['selecteur_type'] = "polyhier";
     221                                }
     222
     223                                if (count($regs2) > 0) {
     224                                        $class = 'editer editer_parents';
     225                                        $contexte_selecteur['selecteur_type'] = 'polyhier';
    209226                                        $contexte_selecteur['parents'] = $args['contexte']['parents'];
    210                                 }else{
    211                                         $class = "editer editer_parent";
    212                                         $contexte_selecteur['selecteur_type'] = "normal";
     227                                } else {
     228                                        $class = 'editer editer_parent';
     229                                        $contexte_selecteur['selecteur_type'] = 'normal';
    213230                                }
    214231                                $contexte_selecteur['rubrique_principale'] = 'oui';
    215                                 if($diogene['objet'] == 'emballe_media')
     232                                if ($diogene['objet'] == 'emballe_media') {
    216233                                        $contexte_selecteur['rubrique_principale'] = 'non';
    217 
    218                                 $saisie_rubrique = recuperer_fond('formulaires/selecteur_rubrique',$contexte_selecteur);
    219                                 if($args['contexte']['id_parent'] > 0)
    220                                         $flux['data'] = preg_replace(",(<li [^>]*class=[\"']$class.*)(<li [^>]*class=[\"'](editer|fieldset).*),Uims",$saisie_rubrique."\\2",$flux['data'],1);
    221                                 else
    222                                         $flux['data'] = preg_replace(",(<li [^>]*class=[\"']$class.*)(<li [^>]*class=[\"'](editer|fieldset).*),Uims","\\2",$flux['data'],1);
    223                                 if(($class == 'editer editer_parents') && ($args['options_complements']['polyhier_desactiver'] == 'on')){
    224                                         $sous_rub_count = sql_countsel('spip_rubriques','id_secteur='.intval($args['id_secteur']));
    225                                         if($sous_rub_count == 0){
    226                                                 $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_parent.*)(<li [^>]*class=[\"']editer.*),Uims",''."\\2",$flux['data'],1);
    227                                                 $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_parents.*)(<li [^>]*class=[\"']editer.*),Uims",''."\\2",$flux['data'],1);
     234                                }
     235
     236                                $saisie_rubrique = recuperer_fond('formulaires/selecteur_rubrique', $contexte_selecteur);
     237                                if ($args['contexte']['id_parent'] > 0) {
     238                                        $flux['data'] = preg_replace(",(<li [^>]*class=[\"']$class.*)(<li [^>]*class=[\"'](editer|fieldset).*),Uims", $saisie_rubrique."\\2", $flux['data'], 1);
     239                                } else {
     240                                        $flux['data'] = preg_replace(",(<li [^>]*class=[\"']$class.*)(<li [^>]*class=[\"'](editer|fieldset).*),Uims", "\\2", $flux['data'], 1);
     241                                }
     242                                if (($class == 'editer editer_parents')
     243                                        and ($args['options_complements']['polyhier_desactiver'] == 'on')) {
     244                                        $sous_rub_count = sql_countsel('spip_rubriques', 'id_secteur='.intval($args['id_secteur']));
     245                                        if ($sous_rub_count == 0) {
     246                                                $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_parent.*)(<li [^>]*class=[\"']editer.*),Uims", ''."\\2", $flux['data'], 1);
     247                                                $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_parents.*)(<li [^>]*class=[\"']editer.*),Uims", ''."\\2", $flux['data'], 1);
     248                                        } else {
     249                                                $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_parents.*)(<li [^>]*class=[\"']editer.*),Uims", ''."\\2", $flux['data'], 1);
    228250                                        }
    229                                         else
    230                                                 $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_parents.*)(<li [^>]*class=[\"']editer.*),Uims",''."\\2",$flux['data'],1);
    231                                 }
    232                         }else if(!test_espace_prive() && ($type != 'page') && preg_match(",<li [^>]*class=[\"']editer editer_parents,Uims",$flux['data'],$regs)){
     251                                }
     252                        } else if (!test_espace_prive()
     253                                and ($type != 'page')
     254                                and preg_match(",<li [^>]*class=[\"']editer editer_parents,Uims", $flux['data'], $regs)) {
    233255                                $contexte = $args['contexte'];
    234256                                $contexte['id_rubrique'] = $diogene['id_secteur'];
    235257                                $contexte['limite_branche'] = $diogene['id_secteur'];
    236                                 $saisie_rubrique = recuperer_fond("formulaires/inc-selecteur-parents_diogene",$contexte);
    237                                 $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_parents.*)(<li [^>]*class=[\"']editer.*),Uims",$saisie_rubrique."\\2",$flux['data'],1);
     258                                $saisie_rubrique = recuperer_fond('formulaires/inc-selecteur-parents_diogene', $contexte);
     259                                $flux['data'] = preg_replace(",(<li [^>]*class=[\"']editer editer_parents.*)(<li [^>]*class=[\"']editer.*),Uims", $saisie_rubrique."\\2", $flux['data'], 1);
    238260                        }
    239261                        /**
    240262                         * On ajoute en fin de formulaire les blocs supplémentaires
    241263                         */
    242                        
    243                         if (strpos($flux['data'],'<!--extra-->')!==FALSE){
    244                                 $saisie = pipeline('diogene_ajouter_saisies',array('args'=>$args,'data' => ''));
     264
     265                        if (strpos($flux['data'], '<!--extra-->') !== false) {
     266                                $saisie = pipeline('diogene_ajouter_saisies', array('args' => $args,'data' => ''));
    245267                                /**
    246268                                 * On ajoute encore à la fin le sélecteur de statuts à la fin du formulaire
    247269                                 * Uniquement si l'on n'est pas dans le privé
    248270                                 */
    249                                 if($type=='page')
     271                                if ($type=='page') {
    250272                                        $type='article';
    251 
    252                                 if ($args['options_complements']['workflow_simplifie'] == 'on')
     273                                }
     274
     275                                if ($args['options_complements']['workflow_simplifie'] == 'on') {
    253276                                        $args['contexte']['workflow_simplifie'] = 'on';
    254                                
    255                                 $contexte = array(id_table_objet($type)=>$args['contexte'][id_table_objet($type)],'statut'=>$args['contexte']['statut'],'workflow_simplifie'=>$args['contexte']['workflow_simplifie']);
    256                                 if(!test_espace_prive() && find_in_path('formulaires/selecteur_statut_'.$diogene['objet'].'.html'))
    257                                         $saisie .= trim(recuperer_fond('formulaires/selecteur_statut_'.$diogene['objet'],$contexte));
    258                                 else if(!test_espace_prive() && find_in_path('formulaires/selecteur_statut_'.$type.'.html'))
    259                                         $saisie .= trim(recuperer_fond('formulaires/selecteur_statut_'.$type,$contexte));
    260                                 else if(!test_espace_prive() && find_in_path('formulaires/selecteur_statut_objet.html') AND $type != 'rubrique'){
     277                                }
     278
     279                                $contexte = array(id_table_objet($type) => $args['contexte'][id_table_objet($type)], 'statut' => $args['contexte']['statut'], 'workflow_simplifie' => $args['contexte']['workflow_simplifie']);
     280                                if (!test_espace_prive()
     281                                        and find_in_path('formulaires/selecteur_statut_'.$diogene['objet'].'.html')) {
     282                                        $saisie .= trim(recuperer_fond('formulaires/selecteur_statut_'.$diogene['objet'], $contexte));
     283                                } elseif (!test_espace_prive()
     284                                        and find_in_path('formulaires/selecteur_statut_'.$type.'.html')) {
     285                                        $saisie .= trim(recuperer_fond('formulaires/selecteur_statut_'.$type, $contexte));
     286                                } elseif (!test_espace_prive()
     287                                        and find_in_path('formulaires/selecteur_statut_objet.html') and $type != 'rubrique') {
    261288                                        $args['contexte']['type'] = $type;
    262                                         $saisie .= trim(recuperer_fond('formulaires/selecteur_statut_objet',$contexte));
    263                                 }
    264                                 $flux['data'] = preg_replace(',(.*)(<!--extra-->),ims',"\\1<ul>".$saisie."</ul>\\2",$flux['data'],1);
    265                         }
    266                         if(($champs_sup = unserialize($diogene['champs_ajoutes'])) && is_array($champs_sup) && in_array('logo',$champs_sup) && !preg_match(',<form.*enctype=.*>,Uims',$flux['data'],$regs)){
    267                                 $flux['data'] = preg_replace(',<(form.*[^>])>,Uims','<\\1 enctype=\'multipart/form-data\'>',$flux['data'],1);
    268                         }
    269                 }else{
    270                         spip_log('pas de diogene','test.'._LOG_ERREUR);
     289                                        $saisie .= trim(recuperer_fond('formulaires/selecteur_statut_objet', $contexte));
     290                                }
     291                                $flux['data'] = preg_replace(',(.*)(<!--extra-->),ims', "\\1<ul>".$saisie."</ul>\\2", $flux['data'], 1);
     292                        }
     293                        if (($champs_sup = unserialize($diogene['champs_ajoutes']))
     294                                and is_array($champs_sup)
     295                                and in_array('logo', $champs_sup)
     296                                and !preg_match(',<form.*enctype=.*>,Uims', $flux['data'], $regs)) {
     297                                $flux['data'] = preg_replace(',<(form.*[^>])>,Uims', '<\\1 enctype=\'multipart/form-data\'>', $flux['data'], 1);
     298                        }
     299                } else {
     300                        spip_log('pas de diogene', 'diogene.'._LOG_ERREUR);
    271301                }
    272302        }
     
    276306/**
    277307 * Insertion dans le pipeline formulaire_charger (SPIP)
    278  * 
     308 *
    279309 * Charge des valeurs spécifiques dans le formulaire d'édition en cours
    280310 * Les sous plugins peuvent se brancher sur le pipeline spécifique à Diogene : diogene_charger
    281311 * Diogène ajoute dans le $flux de départ l'id_diogene correspondant à l'objet édité ($flux['data']['id_diogene'])
    282312 * ainsi que l'id_diogene dans les hidden.
    283  * 
    284  * @param array $flux 
     313 *
     314 * @param array $flux
    285315 *              Le contexte d'environnement du pipeline
    286  * @return array $flux 
     316 * @return array $flux
    287317 *              Le contexte d'environnement modifié
    288318 */
    289 function diogene_formulaire_charger($flux){
    290         if(isset($flux['args']['form']) && $flux['args']['form'] == 'editer_diogene'){
     319function diogene_formulaire_charger($flux) {
     320        if (isset($flux['args']['form']) and $flux['args']['form'] == 'editer_diogene') {
    291321                $complements = unserialize($flux['data']['options_complements']);
    292322                $valeurs = array();
    293                 if(is_array($complements)){
    294                         foreach($complements as $complement => $valeur){
    295                                 if(is_array(unserialize($valeur)))
     323                if (is_array($complements)) {
     324                        foreach ($complements as $complement => $valeur) {
     325                                if (is_array(unserialize($valeur))) {
    296326                                        $valeurs[$complement] = unserialize($valeur);
    297                                 else
     327                                } else {
    298328                                        $valeurs[$complement] = $valeur;
    299                         }
    300                 }
    301                 if($flux['data']['objet'] == 'page'){
     329                                }
     330                        }
     331                }
     332                if ($flux['data']['objet'] == 'page') {
    302333                        $diogene_orig = _request('id_diogene');
    303                         if($diogene = sql_getfetsel('id_diogene','spip_diogenes',"objet = 'page' AND id_diogene != ".intval($diogene_orig))){
     334                        if ($diogene = sql_getfetsel('id_diogene', 'spip_diogenes', "objet = 'page' AND id_diogene != ".intval($diogene_orig))) {
    304335                                $flux['data']['editable'] = false;
    305336                                $flux['data']['message_erreur'] = _T('diogene:erreur_diogene_multiple_page');
    306                         }else
     337                        } else {
    307338                                $flux['data']['_hidden'] .= "\n<input type='hidden' name='id_secteur' value='0' />\n";
    308                 }
    309                 $flux['data'] = array_merge($flux['data'],$valeurs);
    310         }else{
     339                        }
     340                }
     341                $flux['data'] = array_merge($flux['data'], $valeurs);
     342        } else {
    311343                $pipeline = pipeline('diogene_objets', array());
    312                 if (isset($flux['args']['form']) &&  substr($flux['args']['form'],0,7) == 'editer_' && ($objet = substr($flux['args']['form'],7)) && in_array($objet,array_keys($pipeline))){
     344                if (isset($flux['args']['form'])
     345                        and substr($flux['args']['form'], 0, 7) == 'editer_'
     346                        and ($objet = substr($flux['args']['form'], 7))
     347                        and in_array($objet, array_keys($pipeline))) {
    313348                        $id_table_objet = id_table_objet($objet);
    314349                        $id_objet = $flux['data'][$id_table_objet];
    315350                        $flux['data']['id_objet'] = $id_objet;
    316351                        $id_secteur = (intval($flux['data']['id_secteur']) > 0) ? $flux['data']['id_secteur'] : ((intval($flux['data']['id_parent']) > 0) ? $flux['data']['id_parent'] : false);
    317        
     352
    318353                        /**
    319354                         * Cas spécifique pour les pages uniques
    320355                         * -* Uniquement dans l'espace public
    321356                         */
    322                         if(($flux['args']['form'] == 'editer_article') && !$flux['args']['id_parent']){
     357                        if (($flux['args']['form'] == 'editer_article')
     358                                and !$flux['args']['id_parent']) {
    323359                                $type_objet= _request('type_objet');
    324                                 $id_secteur = sql_getfetsel('id_secteur','spip_diogenes','type='.sql_quote($type_objet));
    325                                 if(!$flux['args']['id_parent'] && is_numeric($flux['args']['args'][1])){
     360                                $id_secteur = sql_getfetsel('id_secteur', 'spip_diogenes', 'type='.sql_quote($type_objet));
     361                                if (!$flux['args']['id_parent'] and is_numeric($flux['args']['args'][1])) {
    326362                                        $flux['data']['id_parent'] = $flux['args']['args'][1];
    327                                         $id_secteur = sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.$flux['data']['id_parent']);
    328                                 }
    329                         }
    330                        
    331                         if(!test_espace_prive() && (($flux['args']['form'] == 'editer_article') && ($flux['data']['id_parent'] == '-1') OR ($id_secteur == 0)))
     363                                        $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.$flux['data']['id_parent']);
     364                                }
     365                        }
     366
     367                        if (!test_espace_prive()
     368                                and (($flux['args']['form'] == 'editer_article')
     369                                and ($flux['data']['id_parent'] == '-1')
     370                                or ($id_secteur == 0))) {
    332371                                $flux['data']['type'] = 'page';
    333                        
    334                         if(intval($id_secteur)){
    335                                 if($objet == 'article'){
    336                                         $diogene = sql_fetsel('id_diogene,objet','spip_diogenes','id_secteur='.intval($id_secteur).' AND objet IN ("article","emballe_media")');
     372                        }
     373
     374                        if (intval($id_secteur)) {
     375                                if ($objet == 'article') {
     376                                        $diogene = sql_fetsel('id_diogene,objet', 'spip_diogenes', 'id_secteur='.intval($id_secteur).' AND objet IN ("article","emballe_media")');
    337377                                        $id_diogene = $diogene['id_diogene'];
    338378                                        $type_diogene = $diogene['objet'];
    339                                 }else{
    340                                         $id_diogene = sql_getfetsel('id_diogene','spip_diogenes','id_secteur='.intval($id_secteur).' AND objet ='.sql_quote($objet));
     379                                } else {
     380                                        $id_diogene = sql_getfetsel('id_diogene', 'spip_diogenes', 'id_secteur='.intval($id_secteur).' AND objet ='.sql_quote($objet));
    341381                                        $type_diogene = $objet;
    342382                                }
    343                         }else if($pipeline[$objet]['diogene_max'] == 1)
    344                                 $id_diogene = sql_getfetsel('id_diogene','spip_diogenes','objet ='.sql_quote($objet));
    345                        
     383                        } elseif ($pipeline[$objet]['diogene_max'] == 1) {
     384                                $id_diogene = sql_getfetsel('id_diogene', 'spip_diogenes', 'objet ='.sql_quote($objet));
     385                        }
     386
    346387                        /**
    347388                         * On est effectivement dans un diogene
     
    351392                         * Ces deux informations peuvent être intéressantes dans d'autres pipeline comme formulaire_traiter ...
    352393                         */
    353                         if(intval($id_diogene)){
     394                        if (intval($id_diogene)) {
    354395                                $flux['data']['_hidden'] .= "<input type='hidden' name='id_diogene' value='".$id_diogene."' />\n";
    355396                                $flux['data']['_hidden'] .= "<input type='hidden' name='type_diogene' value='".$type_diogene."' />\n";
    356397                                $flux['data']['id_diogene'] = $id_diogene;
    357398                        }
    358        
    359                         $post_valeurs = pipeline('diogene_charger',
    360                                         array(
    361                                                 'args' => array(
    362                                                         $id_table_objet => $id_objet,
    363                                                         'mode' => 'chargement',
    364                                                         'valeurs' => $flux['data']
    365                                                 ),
    366                                                 'data' => array()
    367                                         ));
    368        
    369                         if(is_array($post_valeurs))
    370                                 $flux['data'] = array_merge($flux['data'],$post_valeurs);
     399
     400                        $post_valeurs = pipeline(
     401                                'diogene_charger',
     402                                array(
     403                                        'args' => array(
     404                                                $id_table_objet => $id_objet,
     405                                                'mode' => 'chargement',
     406                                                'valeurs' => $flux['data']
     407                                        ),
     408                                        'data' => array())
     409                        );
     410
     411                        if (is_array($post_valeurs)) {
     412                                $flux['data'] = array_merge($flux['data'], $post_valeurs);
     413                        }
    371414                }
    372415        }
     
    376419/**
    377420 * Insertion dans le pipeline formulaire_verifier (SPIP)
    378  * 
     421 *
    379422 * Vérifie les valeurs du formulaire avant leur traitement
    380423 * Les sous plugins peuvent se brancher sur le pipeline spécifique à Diogene : diogene_verifier
    381  * 
    382  * @param array $flux 
     424 *
     425 * @param array $flux
    383426 *              Le contexte d'environnement du pipeline
    384  * @return array $flux 
     427 * @return array $flux
    385428 *              Le contexte d'environnement modifié
    386429 */
    387 function diogene_formulaire_verifier($flux){
     430function diogene_formulaire_verifier($flux) {
    388431        $pipeline = pipeline('diogene_objets', array());
    389         if ($objet = substr($flux['args']['form'],7) AND in_array($objet,array_keys($pipeline))){
     432        if ($objet = substr($flux['args']['form'], 7) and in_array($objet, array_keys($pipeline))) {
    390433                // On ne fait rien si l'id_parent principal est incoherent (exemple : compat pages uniques)
    391434                //if (_request('id_parent') < 0) return $flux;
    392435
    393                 if($objet == 'rubrique' &&
    394                         !strcmp($flux['args']['form'], 'editer_rubrique') &&
    395                         ($flux['args']['args'][0] == $flux['args']['args'][1])){
     436                if ($objet == 'rubrique' and
     437                        !strcmp($flux['args']['form'], 'editer_rubrique') and
     438                        ($flux['args']['args'][0] == $flux['args']['args'][1])) {
    396439                                $flux['data']['id_parent'] = _T('diogene:erreur_id_parent_id_rubrique');
    397440                }
    398                        
    399                 $flux['data'] = pipeline('diogene_verifier',
     441
     442                $flux['data'] = pipeline(
     443                        'diogene_verifier',
    400444                        array(
    401445                                'args' => array(
     
    407451                $messages = $flux['data'];
    408452                unset($messages['message_ok']);
    409                 if(count($messages) > 0){
     453                if (count($messages) > 0) {
    410454                        /**
    411455                         * Si c'est la récupération automatique des infos d'un site, on n'affiche pas de message d'erreur
    412456                         */
    413                         if(count($messages) == 1 && isset($messages['verif_url_auto']))
     457                        if (count($messages) == 1
     458                                and isset($messages['verif_url_auto'])) {
    414459                                return $flux;
     460                        }
    415461                        $flux['data']['message_erreur'] = _T('diogene:message_erreur_general');
    416462                }
     
    421467/**
    422468 * Insertion dans le pipeline formulaire_traiter (SPIP)
    423  * 
     469 *
    424470 * Insertion à la fin du traitement des formulaires
    425471 * Les sous plugins peuvent également se brancher sur le pipeline spécifique à Diogene : diogene_traiter
    426472 * Ce pipeline agit au moment de la pré édition de SPIP
    427  * 
     473 *
    428474 * On ne s'insère que sous certaines conditions :
    429475 * -* on se trouve dans l'espace public;
     
    431477 * -* dans le cas d'un diogene (passé dans le post);
    432478 * -* le diogène passé dans le post existe bien;
    433  * 
     479 *
    434480 * Ce pipeline agit sur le message de retour et la redirection lors de la validation d'un formulaire
    435481 * -* On ne redirige pas sur la page de l'objet même si publié;
    436482 * -* On ajoute un lien pour voir l'objet publié dans le message de retour du formulaire
    437483 * -* On ajoute un ajaxReload dans le message de retour pour rafraichir certains morceaux de la page (jQuery(".description_$objet,.diogene_$id_diogene"))
    438  * 
    439  * @param array $flux 
     484 *
     485 * @param array $flux
    440486 *              Le contexte d'environnement du pipeline
    441  * @return array $flux 
     487 * @return array $flux
    442488 *              Le contexte d'environnement modifié
    443489 */
    444 function diogene_formulaire_traiter($flux){
    445         if(!test_espace_prive()
    446                 && isset($flux['args']['form'])
    447                 && (substr($flux['args']['form'],0,7) == 'editer_')
    448                 && ($objet = substr($flux['args']['form'],7))
    449                 && ($objet != 'diogene')
    450                 && ($id_diogene = intval(_request('id_diogene')))
    451                 && ($id_diogene == sql_getfetsel('id_diogene','spip_diogenes','id_diogene='.intval($id_diogene)))){
    452                
     490function diogene_formulaire_traiter($flux) {
     491        if (!test_espace_prive()
     492                and isset($flux['args']['form'])
     493                and (substr($flux['args']['form'], 0, 7) == 'editer_')
     494                and ($objet = substr($flux['args']['form'], 7))
     495                and ($objet != 'diogene')
     496                and ($id_diogene = intval(_request('id_diogene')))
     497                and ($id_diogene == sql_getfetsel('id_diogene', 'spip_diogenes', 'id_diogene='.intval($id_diogene)))) {
    453498                $id_table_objet = id_table_objet($objet);
    454499                $table_objet = table_objet_sql($objet);
    455500                $id_objet = intval($flux['data'][$id_table_objet]);
    456                 $statut_objet = sql_getfetsel('statut',$table_objet,$id_table_objet.'='.intval($id_objet));
    457                
     501                $statut_objet = sql_getfetsel('statut', $table_objet, $id_table_objet.'='.intval($id_objet));
     502
    458503                /**
    459504                 * On récupère le titre dans le post que l'on passera aux chaines de langue
     
    463508                 */
    464509                $titre = _request('titre') ? _request('titre') : (_request('nom_site') ? _request('nom_site') : _request('nom'));
    465                 if(!$titre){
     510                if (!$titre) {
    466511                        include_spip('inc/filtres'); // Pour generer_info_entite
    467                         $titre = generer_info_entite($id_objet,$objet,'titre');
    468                 }
    469                        
     512                        $titre = generer_info_entite($id_objet, $objet, 'titre');
     513                }
     514
    470515                /**
    471516                 * Cas de la modification d'un objet
    472517                 */
    473                 if((_request($id_table_objet) == $flux['data'][$id_table_objet]) || (_request('arg') == $flux['data'][$id_table_objet])){
     518                if ((_request($id_table_objet) == $flux['data'][$id_table_objet])
     519                        or (_request('arg') == $flux['data'][$id_table_objet])) {
    474520                        /**
    475521                         * TODO Utiliser les fonctions recherchant dans la déclaration des tables pour prendre le bon statut
     
    477523                         */
    478524                        include_spip('inc/filtres');
    479                         if(in_array($statut_objet,array('refuse','poubelle'))){
    480                                 $flux['data']['message_ok'] = _T('diogene:message_objet_supprime',array('titre'=>extraire_multi($titre)));
    481                                 $flux['data']['redirect'] = parametre_url(self(),$id_table_objet,'');
     525                        if (in_array($statut_objet, array('refuse','poubelle'))) {
     526                                $flux['data']['message_ok'] = _T('diogene:message_objet_supprime', array('titre' => extraire_multi($titre)));
     527                                $flux['data']['redirect'] = parametre_url(self(), $id_table_objet, '');
    482528                                $flux['data']['editable'] = false;
    483                         }
    484                         else{
    485                                 $flux['data']['message_ok'] = _T('diogene:message_objet_mis_a_jour',array('titre'=>extraire_multi($titre)));
    486                                 if(objet_test_si_publie($objet,$id_objet)){
    487                                         $url = generer_url_entite($id_objet,$objet);
    488                                         $flux['data']['message_ok'] .= '<br />'._T('diogene:message_objet_mis_a_jour_lien',array('url'=>$url));
     529                        } else {
     530                                $flux['data']['message_ok'] = _T('diogene:message_objet_mis_a_jour', array('titre' => extraire_multi($titre)));
     531                                if (objet_test_si_publie($objet, $id_objet)) {
     532                                        $url = generer_url_entite($id_objet, $objet);
     533                                        $flux['data']['message_ok'] .= '<br />'._T('diogene:message_objet_mis_a_jour_lien', array('url' => $url));
    489534                                }
    490535                                if (!defined('_DIOGENE_REDIRIGE_PUBLICATION')) { // TODO : à ajouter dans infos_supp du diogene
     
    497542                                }
    498543                        }
    499                 }else{
    500                         if(defined('_DIOGENE_REDIRIGE_PUBLICATION') && objet_test_si_publie($objet,$id_objet)){
    501                                 $flux['data']['redirect'] = generer_url_entite($id_objet,$objet);
    502                         }else{
    503                                 $flux['data']['redirect'] = parametre_url(self(),$id_table_objet,$id_objet);
    504                         }
    505                         $flux['data']['message_ok'] = _T('diogene:message_objet_cree',array('titre'=>extraire_multi($titre)));
     544                } else {
     545                        if (defined('_DIOGENE_REDIRIGE_PUBLICATION') and objet_test_si_publie($objet, $id_objet)) {
     546                                $flux['data']['redirect'] = generer_url_entite($id_objet, $objet);
     547                        } else {
     548                                $flux['data']['redirect'] = parametre_url(self(), $id_table_objet, $id_objet);
     549                        }
     550                        $flux['data']['message_ok'] = _T('diogene:message_objet_cree', array('titre' => extraire_multi($titre)));
    506551                        $flux['data']['editable'] = false;
    507552                }
     
    512557/**
    513558 * Insertion dans le pipeline pre_insertion (SPIP)
    514  * 
     559 *
    515560 * A la création d'un article on vérifie si on nous envoie la langue
    516561 * si oui on la met correctement dès l'insertion
    517562 *
    518  * @param array $flux 
     563 * @param array $flux
    519564 *              Le contexte du pipeline
    520  * @return array $flux 
    521  *              Le contexte modifié 
    522  */
    523 function diogene_pre_insertion($flux){
    524         if(($flux['args']['table'] == 'spip_articles') && _request('changer_lang')){
     565 * @return array $flux
     566 *              Le contexte modifié
     567 */
     568function diogene_pre_insertion($flux) {
     569        if (($flux['args']['table'] == 'spip_articles') and _request('changer_lang')) {
    525570                $flux['data']['lang'] = _request('changer_lang');
    526571                $flux['data']['langue_choisie'] = 'oui';
     
    531576/**
    532577 * Insertion dans le pipeline pre_edition (SPIP)
    533  * 
     578 *
    534579 * A la modification d'un article on vérifie si on nous envoie la langue
    535580 * si elle est différente de celle de l'article on la change
    536581 *
    537  * @param array $flux 
     582 * @param array $flux
    538583 *              Le contexte du pipeline
    539  * @return array $flux 
    540  *              Le contexte modifié 
    541  */
    542 function diogene_pre_edition($flux){
     584 * @return array $flux
     585 *              Le contexte modifié
     586 */
     587function diogene_pre_edition($flux) {
    543588        $pipeline = pipeline('diogene_objets', array());
    544         if(in_array($flux['args']['type'],array_keys($pipeline)) && ($flux['args']['action']=='modifier'))
    545                 $flux = pipeline('diogene_traiter',$flux);
     589        if (in_array($flux['args']['type'], array_keys($pipeline)) and ($flux['args']['action']=='modifier')) {
     590                $flux = pipeline('diogene_traiter', $flux);
     591        }
    546592
    547593        /**
    548594         * Attention au herit envoyé dans le privé
    549595         */
    550         if(($flux['args']['table'] == 'spip_articles') && _request('changer_lang') && _request('changer_lang') != 'herit'){
     596        if (($flux['args']['table'] == 'spip_articles')
     597                and _request('changer_lang')
     598                and _request('changer_lang') != 'herit') {
    551599                $flux['data']['lang'] = _request('changer_lang');
    552600                $flux['data']['langue_choisie'] = 'oui';
    553601        }
    554        
    555         if($flux['args']['table'] == 'spip_diogenes'){
    556                 $champs = pipeline('diogene_champs_pre_edition',array('polyhier_desactiver','cextras_enleves','cacher_heure','workflow_simplifie','explications_logo'));
    557                 if(isset($flux['data']['options_complements']))
     602
     603        if ($flux['args']['table'] == 'spip_diogenes') {
     604                $champs = pipeline('diogene_champs_pre_edition', array('polyhier_desactiver', 'cextras_enleves', 'cacher_heure', 'workflow_simplifie', 'explications_logo'));
     605                if (isset($flux['data']['options_complements'])) {
    558606                        $options_complements = is_array(unserialize($flux['data']['options_complements'])) ? unserialize($flux['data']['options_complements']) : array();
    559 
    560                 foreach(array('champs_ajoutes','champs_caches') as $array){
    561                         if($val_array = _request($array)){
    562                                 if(is_array($val_array))
     607                }
     608
     609                foreach (array('champs_ajoutes','champs_caches') as $array) {
     610                        if ($val_array = _request($array)) {
     611                                if (is_array($val_array)) {
    563612                                        $flux['data'][$array] = serialize($val_array);
    564                                 else
     613                                } else {
    565614                                        $flux['data'][$array] = $val_array;
    566                         }
    567                 }
    568                 foreach($champs as $champ){
    569                         if(_request($champ)){
    570                                 if(is_array($val = _request($champ)))
     615                                }
     616                        }
     617                }
     618                foreach ($champs as $champ) {
     619                        if (_request($champ)) {
     620                                if (is_array($val = _request($champ))) {
    571621                                        $options_complements[$champ] = serialize($val);
    572                                 else
     622                                } else {
    573623                                        $options_complements[$champ] = $val;
    574                         }
    575                 }
    576                 if($flux['data']['objet'] == 'page')
     624                                }
     625                        }
     626                }
     627                if ($flux['data']['objet'] == 'page') {
    577628                        $options_complements['polyhier_desactiver'] = 'on';
    578                 if($options_complements)
     629                }
     630                if ($options_complements) {
    579631                        $flux['data']['options_complements'] = serialize($options_complements);
     632                }
    580633        }
    581634        return $flux;
     
    584637/**
    585638 * Insertion dans le pipeline post_edition (SPIP)
    586  * 
     639 *
    587640 * On s'insère à la fin des actions d'edition (action/editer_*)
    588641 * Notamment pour lancer un recalcul de la publication des rubriques
    589642 *
    590  * @param array $flux 
     643 * @param array $flux
    591644 *              Le contexte du pipeline
    592645 * @return array $flux
    593  *              Le contexte modifié 
    594  */
    595 function diogene_post_edition($flux){
     646 *              Le contexte modifié
     647 */
     648function diogene_post_edition($flux) {
    596649        /**
    597650         * On rejoue le calcul des rubriques car il n'a pas lieu avec le bon
     
    599652         * C'est un hack ...
    600653         */
    601         if(isset($flux['data']['id_rubrique']) && ($flux['data']['statut'] == 'publie') && ($flux['args']['action'] == 'instituer')){
     654        if (isset($flux['data']['id_rubrique'])
     655                and ($flux['data']['statut'] == 'publie')
     656                and ($flux['args']['action'] == 'instituer')) {
    602657                include_spip('inc/rubriques');
    603                 calculer_rubriques_if($flux['data']['id_rubrique'], array('statut'=>'publie'),'');
     658                calculer_rubriques_if($flux['data']['id_rubrique'], array('statut' => 'publie'), '');
    604659        }
    605660        return $flux;
     
    608663/**
    609664 * Insertion dans le pipeline diogene_objets (plugin Diogene)
    610  * 
     665 *
    611666 * On ajoute les champs que l'on peut ajouter
    612  * 
    613  * @param array $flux 
     667 *
     668 * @param array $flux
    614669 *              Un tableau bidimentionnel listant les champs pouvant être ajoutés aux objets
    615  * @return array $flux 
     670 * @return array $flux
    616671 *              Le tableau modifié
    617672 */
    618 function diogene_diogene_objets($flux){
     673function diogene_diogene_objets($flux) {
    619674        $flux['article']['champs_sup']['logo'] = _T('ecrire:logo_article');
    620675        $flux['article']['champs_sup']['date'] = _T('diogene:champ_date_publication');
    621         if($GLOBALS['meta']['articles_redac'] !== 'non')
     676        if ($GLOBALS['meta']['articles_redac'] !== 'non') {
    622677                $flux['article']['champs_sup']['date_redac'] = _T('diogene:champ_date_publication_anterieure');
     678        }
    623679        $flux['article']['champs_sup']['forum'] = _T('diogene:champ_forum');
    624        
    625         if(defined('_DIR_PLUGIN_PAGES')){
     680
     681        if (defined('_DIR_PLUGIN_PAGES')) {
    626682                $flux['page'] = $flux['article'];
    627683                $flux['page']['type_orig'] = 'article';
     
    636692        $flux['rubrique'] = array();
    637693        $flux['rubrique']['champs_sup']['logo'] = _T('ecrire:logo_rubrique');
    638        
     694
    639695        return $flux;
    640696}
     
    642698/**
    643699 * Insertion dans le formulaire diogene_avant_formulaire (plugin Diogene)
    644  * 
     700 *
    645701 * Insert des scripts javascript nécessaire au bon fonctionnement des formulaires d'édition :
    646702 * -* prive/javascript/presentation.js
    647703 * -* formulaires/dateur/inc-dateur.html si une date est présente dans le formulaire
    648  * 
    649  * @param array $flux 
     704 *
     705 * @param array $flux
    650706 *              Le contexte du pipeline
    651  * @return array $flux 
     707 * @return array $flux
    652708 *              Le contexte modifié
    653709 */
    654 function diogene_diogene_avant_formulaire($flux){
     710function diogene_diogene_avant_formulaire($flux) {
    655711        $flux['data'] .= '<script type="text/javascript" src="'.find_in_path('prive/javascript/presentation.js').'"></script>';
    656         if(is_array(unserialize($flux['args']['champs_ajoutes'])) &&
    657                 (in_array('date',unserialize($flux['args']['champs_ajoutes'])) || in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])))){
     712        if (is_array(unserialize($flux['args']['champs_ajoutes']))
     713                and (in_array('date', unserialize($flux['args']['champs_ajoutes'])) || in_array('date_redac', unserialize($flux['args']['champs_ajoutes'])))) {
    658714                $flux['data'] .= recuperer_fond('formulaires/dateur/inc-dateur', $flux['args']);
    659715        }
     
    663719/**
    664720 * Insertion dans le formulaire diogene_ajouter_saisies (plugin Diogene)
    665  * 
     721 *
    666722 * Insert les saisies configurées dans le formulaire
    667  * 
     723 *
    668724 * @param array $flux
    669725 *              Le contexte du pipeline
    670  * @return array $flux 
     726 * @return array $flux
    671727 *              Le contexte modifié
    672728 */
    673 function diogene_diogene_ajouter_saisies($flux){
    674         if(is_array(unserialize($flux['args']['champs_ajoutes']))){
     729function diogene_diogene_ajouter_saisies($flux) {
     730        if (is_array(unserialize($flux['args']['champs_ajoutes']))) {
    675731                $flux['args']['contexte']['objet'] = $flux['args']['type'];
    676                 if(in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])) && in_array('date',unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')){
     732                if (in_array('date_redac', unserialize($flux['args']['champs_ajoutes'])) && in_array('date', unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')) {
    677733                        $dates_ajoutees = 'date_full';
    678                         if(!$flux['args']['contexte']['date'])
    679                                 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',time()));
    680                         else
    681                                 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date'])));
    682                         if($flux['args']['contexte']['date_redac'])
    683                                 list($flux['args']['contexte']['date_redac_orig'],$flux['args']['contexte']['heure_redac_orig']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date_redac'])));
    684                 }else if(in_array('date_redac',unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')){
    685                         if($flux['args']['contexte']['date_redac'])
    686                                 list($flux['args']['contexte']['date_redac_orig'],$flux['args']['contexte']['heure_redac_orig']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date_redac'])));
     734                        if (!$flux['args']['contexte']['date']) {
     735                                list($flux['args']['contexte']['date_orig'], $flux['args']['contexte']['heure_orig']) = explode(' ', date('d/m/Y H:i', time()));
     736                        } else {
     737                                list($flux['args']['contexte']['date_orig'], $flux['args']['contexte']['heure_orig']) = explode(' ', date('d/m/Y H:i', strtotime($flux['args']['contexte']['date'])));
     738                        }
     739                        if ($flux['args']['contexte']['date_redac']) {
     740                                list($flux['args']['contexte']['date_redac_orig'],$flux['args']['contexte']['heure_redac_orig']) = explode(' ', date('d/m/Y H:i', strtotime($flux['args']['contexte']['date_redac'])));
     741                        }
     742                } elseif (in_array('date_redac', unserialize($flux['args']['champs_ajoutes'])) && ($GLOBALS['meta']['articles_redac'] != 'non')) {
     743                        if ($flux['args']['contexte']['date_redac']) {
     744                                list($flux['args']['contexte']['date_redac_orig'],$flux['args']['contexte']['heure_redac_orig']) = explode(' ', date('d/m/Y H:i', strtotime($flux['args']['contexte']['date_redac'])));
     745                        }
    687746                        $dates_ajoutees = 'date_redac_orig';
    688                 }else if(in_array('date',unserialize($flux['args']['champs_ajoutes']))){
    689                         if(!$flux['args']['contexte']['date'])
    690                                 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',time()));
    691                         else
    692                                 list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ',date('d/m/Y H:i',strtotime($flux['args']['contexte']['date'])));
     747                } elseif (in_array('date', unserialize($flux['args']['champs_ajoutes']))) {
     748                        if (!$flux['args']['contexte']['date']) {
     749                                list($flux['args']['contexte']['date_orig'], $flux['args']['contexte']['heure_orig']) = explode(' ', date('d/m/Y H:i', time()));
     750                        } else {
     751                                list($flux['args']['contexte']['date_orig'],$flux['args']['contexte']['heure_orig']) = explode(' ', date('d/m/Y H:i', strtotime($flux['args']['contexte']['date'])));
     752                        }
    693753                        $dates_ajoutees = 'date_orig';
    694754                }
    695                 if($dates_ajoutees){
     755                if ($dates_ajoutees) {
    696756                        $flux['args']['contexte']['dates_ajoutees'] = $dates_ajoutees;
    697757                        $flux['args']['contexte']['cacher_heure'] = $flux['args']['options_complements']['cacher_heure'];
    698                         $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_dates',$flux['args']['contexte']);
    699                 }
    700                 if(in_array('forum',unserialize($flux['args']['champs_ajoutes']))){
    701                         if(isset($flux['args']['contexte']['id_article']) && is_numeric($flux['args']['contexte']['id_article'])){
     758                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_dates', $flux['args']['contexte']);
     759                }
     760                if (in_array('forum', unserialize($flux['args']['champs_ajoutes']))) {
     761                        if (isset($flux['args']['contexte']['id_article']) and is_numeric($flux['args']['contexte']['id_article'])) {
    702762                                include_spip('formulaires/activer_forums_objet'); // Pour get_forums_publics
    703763                                $flux['args']['contexte']['forums_actuels'] = get_forums_publics($flux['args']['contexte']['id_article']);
    704764                        }
    705                         $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_forums',$flux['args']['contexte']);
    706                 }
    707                 if(in_array('logo',unserialize($flux['args']['champs_ajoutes']))){
     765                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_forums', $flux['args']['contexte']);
     766                }
     767                if (in_array('logo', unserialize($flux['args']['champs_ajoutes']))) {
    708768                        $flux['args']['contexte']['explications_logo'] = $flux['args']['options_complements']['explications_logo'];
    709769                        $chercher_logo = charger_fonction('chercher_logo', 'inc');
    710770                        $etats = array('on');
    711                         foreach($etats as $etat) {
     771                        foreach ($etats as $etat) {
    712772                                $logo_envoi = $chercher_logo($flux['args']['contexte']['id_objet'], id_table_objet($flux['args']['contexte']['objet']), $etat);
    713                                 if (is_array($logo_envoi) && count($logo_envoi) > 0){
     773                                if (is_array($logo_envoi) && count($logo_envoi) > 0) {
    714774                                        $flux['args']['contexte']['logo_'.$etat] = $logo_envoi[0];
    715775                                }
    716776                        }
    717                         $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_logo',$flux['args']['contexte']);
     777                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_logo', $flux['args']['contexte']);
    718778                }
    719779        }
     
    723783/**
    724784 * Insertion dans le formulaire diogene_verifier (plugin Diogene)
    725  * 
     785 *
    726786 * Vérification de saisies du formulaire
    727787 * -* vérifie principalement les dates "date" et "date_redac"
    728788 * -* vérifie la valeur pour le forum également
    729  * 
     789 *
    730790 * @param array $flux
    731791 *              Le contexte du pipeline
     
    733793 *              Le contexte modifié
    734794 */
    735 function diogene_diogene_verifier($flux){
    736         if(_request('date_orig') || _request('date_redac_orig')){
     795function diogene_diogene_verifier($flux) {
     796        if (_request('date_orig') || _request('date_redac_orig')) {
    737797                /**
    738798                 * Ce fichier se trouve dans plugins-dist/organiseur/inc/date_gestion.php
     
    740800                 */
    741801                include_spip('inc/date_gestion');
    742                 if(!$flux['args']['erreurs']['date'] && ($date = _request('date_orig')))
     802                if (!$flux['args']['erreurs']['date'] && ($date = _request('date_orig'))) {
    743803                        $date_orig = verifier_corriger_date_saisie('orig', 'oui', $flux['data']);
    744                 if(!$flux['args']['erreurs']['date_redac'] && ($date = _request('date_redac_orig')))
     804                }
     805                if (!$flux['args']['erreurs']['date_redac'] && ($date = _request('date_redac_orig'))) {
    745806                        $date_redac_orig = verifier_corriger_date_saisie('redac_orig', 'oui', $flux['data']);
    746         }
    747         if(!$flux['args']['erreurs']['forums'] && ($forums = _request('forums')) && !in_array($forums,array('pos','pri','abo','non')))
     807                }
     808        }
     809        if (!$flux['args']['erreurs']['forums']
     810                and ($forums = _request('forums')) && !in_array($forums, array('pos','pri','abo','non'))) {
    748811                $flux['data']['forums'] = _T('diogene:erreur_forums');
    749 
    750         if(($id_diogene = intval(_request('id_diogene'))) && $id_diogene > 0){
    751                 $champs_ajoutes = unserialize(sql_getfetsel("champs_ajoutes","spip_diogenes","id_diogene=".intval($id_diogene)));
    752                 if (is_array($champs_ajoutes) && in_array('logo',$champs_ajoutes)){
     812        }
     813
     814        if (($id_diogene = intval(_request('id_diogene'))) and $id_diogene > 0) {
     815                $champs_ajoutes = unserialize(sql_getfetsel('champs_ajoutes', 'spip_diogenes', 'id_diogene='.intval($id_diogene)));
     816                if (is_array($champs_ajoutes) && in_array('logo', $champs_ajoutes)) {
    753817                        include_spip('formulaires/editer_logo');
    754818                        $sources = formulaire_editer_logo_get_sources();
    755                         foreach($sources as $etat=>$file) {
     819                        foreach ($sources as $etat => $file) {
    756820                                // seulement si une reception correcte a eu lieu
    757                                 if ($file AND $file['error'] == 0) {
    758                                         if (!in_array(strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)),array('jpg','png','gif','jpeg')))
     821                                if ($file and $file['error'] == 0) {
     822                                        if (!in_array(strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)), array('jpg','png','gif','jpeg'))) {
    759823                                                $flux['data']['logo'] = _L('Extension non reconnue');
     824                                        }
    760825                                }
    761826                        }
     
    767832/**
    768833 * Insertion dans le formulaire diogene_traiter (plugin Diogene)
    769  * 
     834 *
    770835 * Traitement de saisies du formulaire
    771836 * -* traite les dates "date" et "date_redac"
    772  * -* traite la valeur pour le forum également, si spécifié à "abo" et 
    773  * l'inscription des visiteurs n'est pas ouverte, on l'ouvre automatiquement 
    774  * 
    775  * @param array $flux 
     837 * -* traite la valeur pour le forum également, si spécifié à "abo" et
     838 * l'inscription des visiteurs n'est pas ouverte, on l'ouvre automatiquement
     839 *
     840 * @param array $flux
    776841 *              Le contexte du pipeline
    777842 * @return array $flux
    778843 *              Le contexte modifié
    779844 */
    780 function diogene_diogene_traiter($flux){
     845function diogene_diogene_traiter($flux) {
    781846        $id_objet = $flux['args']['id_objet'];
    782847
    783         if(_request('date_orig') || _request('date_redac_orig')){
     848        if (_request('date_orig') || _request('date_redac_orig')) {
    784849                include_spip('inc/date_gestion');
    785                 if(_request('date_orig')){
    786                         $flux['data']['date'] = date('Y-m-d H:i:s',verifier_corriger_date_saisie('orig', 'oui', $erreurs));
    787                         set_request('date',$flux['data']['date']);
    788                 }
    789                 if(_request('date_redac_orig'))
    790                         $flux['data']['date_redac'] = date('Y-m-d H:i:s',verifier_corriger_date_saisie('redac_orig','oui', $erreurs));
    791         }
    792         if($forums = _request('forums')){
     850                if (_request('date_orig')) {
     851                        $flux['data']['date'] = date('Y-m-d H:i:s', verifier_corriger_date_saisie('orig', 'oui', $erreurs));
     852                        set_request('date', $flux['data']['date']);
     853                }
     854                if (_request('date_redac_orig')) {
     855                        $flux['data']['date_redac'] = date('Y-m-d H:i:s', verifier_corriger_date_saisie('redac_orig', 'oui', $erreurs));
     856                }
     857        }
     858        if ($forums = _request('forums')) {
    793859                $flux['data']['accepter_forum'] = $forums;
    794                 if ($forums == 'abo' && ($GLOBALS['meta']['accepter_visiteurs'] != 'oui')){
     860                if ($forums == 'abo' && ($GLOBALS['meta']['accepter_visiteurs'] != 'oui')) {
    795861                        ecrire_meta('accepter_visiteurs', 'oui');
    796862                        include_spip('inc/invalideur');
     
    800866
    801867        // effectuer la suppression si demandee d'un logo
    802         if (_request('supprimer_logo_on')){
     868        if (_request('supprimer_logo_on')) {
    803869                $objet = $flux['args']['type'];
    804870                $_id_objet = id_table_objet($objet);
    805                
     871
    806872                include_spip('inc/chercher_logo');
    807873                include_spip('inc/flock');
    808874                $type = type_du_logo($_id_objet);
    809                 $chercher_logo = charger_fonction('chercher_logo','inc');
    810                
     875                $chercher_logo = charger_fonction('chercher_logo', 'inc');
     876
    811877                $logo = $chercher_logo($flux['args']['id_objet'], $_id_objet, 'on');
    812                 if ($logo)
     878                if ($logo) {
    813879                        spip_unlink($logo[0]);
    814                 set_request('logo_up',' ');
    815         }
    816         if (!$_FILES)
     880                }
     881                set_request('logo_up', ' ');
     882        }
     883        if (!$_FILES) {
    817884                $_FILES = $GLOBALS['HTTP_POST_FILES'];
    818 
    819         if (is_array($_FILES) && isset($_FILES['logo_on'])){
     885        }
     886
     887        if (is_array($_FILES) && isset($_FILES['logo_on'])) {
    820888                include_spip('formulaires/editer_logo');
    821889                $objet = $flux['args']['type'];
     
    836904/**
    837905 * Insertion dans le pipeline ajouter_menus (SPIP)
    838  * 
     906 *
    839907 * Ajouter des boutons dans les menus pour chaque diogène que l'on sait gérer dans l'espace privé
    840  * 
    841  * @param object $boutons_admin 
     908 *
     909 * @param object $boutons_admin
    842910 *              La description des boutons
    843911 * @return object $boutons_admin
     
    845913 */
    846914function diogene_ajouter_menus($boutons_admin) {
    847         if(!function_exists('quete_logo'))
     915        if (!function_exists('quete_logo')) {
    848916                include_spip('public/quete');
    849        
    850         $diogenes = sql_allfetsel('*','spip_diogenes','objet != "emballe_media"');
    851        
    852         foreach($diogenes as $diogene){
    853                 if (autoriser('utiliser', 'diogene',$diogene['id_diogene'])) {
     917        }
     918
     919        $diogenes = sql_allfetsel('*', 'spip_diogenes', 'objet != "emballe_media"');
     920
     921        foreach ($diogenes as $diogene) {
     922                if (autoriser('utiliser', 'diogene', $diogene['id_diogene'])) {
    854923                        $url = false;
    855                         if($diogene['objet'] == 'rubrique'){
    856                                 $url = generer_url_ecrire('rubrique_edit','new=oui&id_parent='.$diogene['id_secteur']);
     924                        if ($diogene['objet'] == 'rubrique') {
     925                                $url = generer_url_ecrire('rubrique_edit', 'new=oui&id_parent='.$diogene['id_secteur']);
    857926                                $icon = find_in_theme('images/rubrique-add-16.png');
    858                         }
    859                         else if($diogene['objet'] == 'article'){
    860                                 $url = generer_url_ecrire('article_edit','new=oui&id_rubrique='.$diogene['id_secteur']);
     927                        } elseif ($diogene['objet'] == 'article') {
     928                                $url = generer_url_ecrire('article_edit', 'new=oui&id_rubrique='.$diogene['id_secteur']);
    861929                                $icon = find_in_theme('images/article-add-16.png');
    862                         }
    863                         else if($diogene['objet'] == 'site'){
    864                                 $url = generer_url_ecrire('site_edit','new=oui&id_rubrique='.$diogene['id_secteur']);
     930                        } elseif ($diogene['objet'] == 'site') {
     931                                $url = generer_url_ecrire('site_edit', 'new=oui&id_rubrique='.$diogene['id_secteur']);
    865932                                $icon = find_in_theme('images/site-add-16.png');
    866933                        }
    867                        
    868                         if($logo = quete_logo('diogene', 'ON', $diogene['id_diogene'], $diogene['id_secteur'], false)){
     934
     935                        if ($logo = quete_logo('diogene', 'ON', $diogene['id_diogene'], $diogene['id_secteur'], false)) {
    869936                                include_spip('inc/filtres_images_mini');
    870937                                include_spip('filtres/images_transforme');
    871                                 $icon = extraire_attribut(image_reduire($logo[0],'16','16'),'src');
    872                         }
    873                        
    874                         if($url){
     938                                $icon = extraire_attribut(image_reduire($logo[0], '16', '16'), 'src');
     939                        }
     940
     941                        if ($url) {
    875942                                $boutons_admin['menu_edition']->sousmenu[$diogene['type']] =
    876                                 new Bouton($icon, extraire_multi($diogene['titre']),$url);
     943                                new Bouton($icon, extraire_multi($diogene['titre']), $url);
    877944                        }
    878945                }
     
    880947        return $boutons_admin;
    881948}
    882 ?>
  • _plugins_/diogene/diogene/trunk/formulaires/cextras_diogene_fonctions.php

    r79249 r97999  
    1 <?php 
     1<?php
    22/**
    33 * Plugin Diogene
     
    77 *
    88 * © 2010-2012 - Distribue sous licence GNU/GPL
    9  * 
     9 *
    1010 * Fichier de fonctions associées au squelette cextras_diogene.html
    1111 */
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
    14  
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
     16
    1517include_spip('cextras_pipelines');
    1618
    1719/**
    1820 * Récupération de la liste des champs extras d'un objet particulier (article, rubrique...)
    19  * 
     21 *
    2022 * @param string $type Le type de l'objet
    2123 */
    22 function diogene_recuperer_cextras($type){
     24function diogene_recuperer_cextras($type) {
    2325        $extras = champs_extras_objet(table_objet_sql($type));
    2426
    2527        $extras_finaux = array();
    2628        foreach ($extras as $c) {
    27                 if(preg_match('/\:/',$c['options']['label']))
     29                if (preg_match('/\:/', $c['options']['label'])) {
    2830                        $extras_finaux[$c['options']['nom']] = _T($c['options']['label']);
    29                 else
     31                } else {
    3032                        $extras_finaux[$c['options']['nom']] = typo($c['options']['label']);
     33                }
    3134        }
    3235        return $extras_finaux;
    3336}
    34 ?>
  • _plugins_/diogene/diogene/trunk/formulaires/editer_diogene.php

    r81813 r97999  
    77 *
    88 * © 2010-2014 - Distribue sous licence GNU/GPL
    9  * 
     9 *
    1010 * Formulaire d'edition d'un template de formulaire "Diogene"
    1111 */
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517include_spip('inc/actions');
    1618include_spip('inc/editer');
    1719
    18 function formulaires_editer_diogene_charger_dist($id_diogene='new',$objet='article', $retour='',$config_fonc='', $row=array(), $hidden=''){
     20function formulaires_editer_diogene_charger_dist($id_diogene = 'new', $objet = 'article', $retour = '', $config_fonc = '', $row = array(), $hidden = '') {
    1921        $pipeline = pipeline('diogene_objets');
    2022        $valeurs = array();
    21         if(!is_numeric($id_diogene) && is_array($pipeline) AND !isset($pipeline[$objet])){
     23        if (!is_numeric($id_diogene) and is_array($pipeline) and !isset($pipeline[$objet])) {
    2224                $valeurs['editable'] = false;
    23                 $valeurs['message_erreur'] = _T('diogene:erreur_objet_non_diogene',array('objet'=>$objet));
     25                $valeurs['message_erreur'] = _T('diogene:erreur_objet_non_diogene', array('objet'=>$objet));
    2426                return $valeurs;
    25         }else if(
    26                 !is_numeric($id_diogene)
     27        } elseif (!is_numeric($id_diogene)
    2728                && is_array($pipeline)
    2829                && isset($pipeline[$objet]['diogene_max'])
    29                 && sql_countsel('spip_diogenes','type='.sql_quote($objet)) >= intval($pipeline[$objet]['diogene_max'])){
     30                && sql_countsel('spip_diogenes', 'type='.sql_quote($objet)) >= intval($pipeline[$objet]['diogene_max'])) {
    3031                $valeurs['editable'] = false;
    31                 $valeurs['message_erreur'] = _T('diogene:erreur_objet_diogene_max',array('objet'=>$objet,'max'=>$pipeline[$objet]['diogene_max']));
     32                $valeurs['message_erreur'] = _T('diogene:erreur_objet_diogene_max', array('objet' => $objet, 'max' => $pipeline[$objet]['diogene_max']));
    3233                return $valeurs;
    3334        }
    3435
    35         $valeurs = formulaires_editer_objet_charger('diogene',$id_diogene,0,0,$retour,$config_fonc,$row,$hidden);
    36         if(empty($valeurs['objet']) OR (!in_array($valeurs['objet'],array('article','rubrique')) && !is_int($id_diogene)))
     36        $valeurs = formulaires_editer_objet_charger('diogene', $id_diogene, 0, 0, $retour, $config_fonc, $row, $hidden);
     37        if (empty($valeurs['objet']) or (!in_array($valeurs['objet'], array('article', 'rubrique')) and !is_int($id_diogene))) {
    3738                $valeurs['objet'] = $objet;
     39        }
    3840
    39         if(isset($valeurs['type'])){
     41        if (isset($valeurs['type'])) {
    4042                $valeurs['identifiant'] = $valeurs['type'];
    4143                unset($valeurs['type']);
    4244        }
    43         if(intval($valeurs['id_secteur']) && !$secteur_existe=sql_getfetsel('id_secteur','spip_rubriques','id_rubrique='.intval($valeurs['id_secteur'])))
     45        if (intval($valeurs['id_secteur']) and !$secteur_existe = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.intval($valeurs['id_secteur']))) {
    4446                $valeurs['message_erreur'] = _T('diogene:erreur_secteur_diogene_inexistant');
    45 
     47        }
    4648        if (intval($valeurs['id_rubrique_defaut'])) {
    4749                $valeurs['rubrique_defaut'] = 'rubrique|'.$valeurs['id_rubrique_defaut'];
    4850        }
    49        
     51
    5052        return $valeurs;
    5153}
    5254
    53 function formulaires_editer_diogene_verifier_dist($id_diogene='new',$objet='article', $retour='', $config_fonc='', $row=array(), $hidden=''){
    54         /* rubrique_defaut rend un tableau contenant 'rubrique|123'
     55function formulaires_editer_diogene_verifier_dist($id_diogene = 'new', $objet = 'article', $retour = '', $config_fonc = '', $row = array(), $hidden = '') {
     56        /**
     57         * rubrique_defaut rend un tableau contenant 'rubrique|123'
    5558         * on extrait l'identifiant de la rubrique, ou on rend 0
    5659         */
    57         $arr = _request("rubrique_defaut");
     60        $arr = _request('rubrique_defaut');
    5861        if (count($arr)) {
    59                 $tmp=explode("|",$arr[0]);
     62                $tmp=explode('|', $arr[0]);
    6063                if (count($tmp) == 2) {
    61                         set_request("id_rubrique_defaut", intval($tmp[1]));
     64                        set_request('id_rubrique_defaut', intval($tmp[1]));
    6265                }
    6366        } else {
    64                 set_request("id_rubrique_defaut", 0);
     67                set_request('id_rubrique_defaut', 0);
    6568        }
    6669
    67         $erreurs = formulaires_editer_objet_verifier('diogene',$id_diogene,array('titre','statut_auteur','identifiant'));
     70        $erreurs = formulaires_editer_objet_verifier('diogene', $id_diogene, array('titre','statut_auteur','identifiant'));
    6871        $type = _request('identifiant');
    69         if($id_diogene = sql_getfetsel('id_diogene','spip_diogenes','type='.sql_quote($type).' AND id_diogene!='.intval($id_diogene)))
     72        if ($id_diogene = sql_getfetsel('id_diogene', 'spip_diogenes', 'type='.sql_quote($type).' AND id_diogene!='.intval($id_diogene))) {
    7073                $erreurs['identifiant'] = _T('diogene:erreur_identifiant_existant');
     74        }
    7175
    7276        return $erreurs;
    7377}
    7478
    75 function formulaires_editer_diogene_traiter_dist($id_diogene='new',$objet='article', $retour='', $config_fonc='', $row=array(), $hidden=''){
     79function formulaires_editer_diogene_traiter_dist($id_diogene = 'new', $objet = 'article', $retour = '', $config_fonc = '', $row = array(), $hidden = '') {
    7680        /**
    7781         * On invalide le cache pour que les modifications sur les droits
     
    8185        suivre_invalideur(1);
    8286
    83         return formulaires_editer_objet_traiter('diogene',$id_diogene,0,'',$retour,$config_fonc,$row,$hidden);
     87        return formulaires_editer_objet_traiter('diogene', $id_diogene, 0, '', $retour, $config_fonc, $row, $hidden);
    8488}
    85 
    86 ?>
  • _plugins_/diogene/diogene/trunk/formulaires/selecteur_langue_fonctions.php

    r69570 r97999  
    77 *
    88 * © 2010-2012 - Distribue sous licence GNU/GPL
    9  * 
     9 *
    1010 * Fonctions PHP du squelette selecteur_langue.html
    1111 */
    1212
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517/**
     
    2022 * @param string $val La langue à enlever
    2123 */
    22 function langue_unset($array,$val){
    23         if(in_array($val,$array)){
     24function langue_unset($array, $val) {
     25        if (in_array($val, $array)) {
    2426                $key = array_search($val, $array);
    2527                unset($array[$key]);
     
    2729        return $array;
    2830}
    29 
    30 ?>
  • _plugins_/diogene/diogene_complements/diogene_agenda/trunk/diogene_agenda_pipelines.php

    r87342 r97999  
    11<?php
    22
    3 if (!defined("_ECRIRE_INC_VERSION")) return;
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4        return;
     5}
    46
    57/**
     
    911 * @return array $flux le contexte modifié passé aux suivants
    1012 */
    11 function diogene_agenda_diogene_ajouter_saisies($flux){
    12         if(is_array(unserialize($flux['args']['champs_ajoutes'])) && in_array('agenda',unserialize($flux['args']['champs_ajoutes']))){
     13function diogene_agenda_diogene_ajouter_saisies($flux) {
     14        if (is_array(unserialize($flux['args']['champs_ajoutes'])) && in_array('agenda', unserialize($flux['args']['champs_ajoutes']))) {
    1315                $objet = $flux['args']['type'];
    1416                $id_table_objet = id_table_objet($flux['args']['type']);
     
    1618
    1719                $flux['args']['contexte']['agenda_caches'] = array();
    18                
    19                 if(is_array(unserialize($flux['args']['options_complements']['agenda_caches'])))
     20
     21                if (is_array(unserialize($flux['args']['options_complements']['agenda_caches']))) {
    2022                        $flux['args']['contexte']['agenda_caches'] = unserialize($flux['args']['options_complements']['agenda_caches']);
    21                
     23                }
     24
    2225                $evenement = array();
    2326                $evenement['repetitions'] = array();
     
    2528                 * Charger les champs de l'évènement
    2629                 */
    27                 if(intval($id_objet) && $flux['args']['options_complements']['agenda_multiple'] != 'on'){
    28                         $evenement = sql_fetsel('*','spip_evenements','id_article='.intval($id_objet).' AND statut != "poubelle"');
    29                         if($evenement['titre'] != sql_getfetsel('titre','spip_evenements','id_article='.intval($id_objet)))
     30                if (intval($id_objet) && $flux['args']['options_complements']['agenda_multiple'] != 'on') {
     31                        $evenement = sql_fetsel('*', 'spip_evenements', 'id_article='.intval($id_objet).' AND statut != "poubelle"');
     32                        if ($evenement['titre'] != sql_getfetsel('titre', 'spip_evenements', 'id_article='.intval($id_objet))) {
    3033                                $evenement['titre_evenement'] = $evenement['titre'];
    31                        
     34                        }
     35
    3236                        $evenement['descriptif_evenement'] = $evenement['descriptif'];
    3337                        unset($evenement['titre']);
     
    3539                        unset($evenement['statut']);
    3640                        unset($evenement['id_article']);
    37                         if(intval($evenement['id_evenement']) > 0){
    38                                 $repetitons = sql_allfetsel("date_debut","spip_evenements","id_evenement_source=".intval($evenement['id_evenement']),'','date_debut');
    39                                 foreach($repetitons as $d){
    40                                         $evenement['repetitions'][] = date('d/m/Y',strtotime($d['date_debut']));
    41                                 }
    42                         }
    43                         else
     41                        if (intval($evenement['id_evenement']) > 0) {
     42                                $repetitons = sql_allfetsel('date_debut', 'spip_evenements', 'id_evenement_source='.intval($evenement['id_evenement']), '', 'date_debut');
     43                                foreach ($repetitons as $d) {
     44                                        $evenement['repetitions'][] = date('d/m/Y', strtotime($d['date_debut']));
     45                                }
     46                        } else {
    4447                                $evenement = array();
    45                 }
    46                
     48                        }
     49                }
     50
    4751                /**
    4852                 * Quels sont les champs à charger depuis l'environnement lors du chargement
     
    5155                 * On ajoute manuellement heure_debut et heure_fin
    5256                 */
    53                 $champs = objet_info('evenement','champs_editables');
     57                $champs = objet_info('evenement', 'champs_editables');
    5458                $champs[] = 'heure_debut';
    5559                $champs[] = 'heure_fin';
     
    5761                $champs[] = 'descriptif_evenement';
    5862                unset($champs['descriptif']);
    59                 foreach($champs as $champ){
    60                         if(_request($champ))
     63                foreach ($champs as $champ) {
     64                        if (_request($champ)) {
    6165                                $evenement[$champ] = _request($champ);
    62                 }
    63                
    64                 if(count($evenement['repetitions']) > 0)
    65                         $evenement['repetitions'] = implode(',',$evenement['repetitions']);
    66 
    67                 if(isset($flux['args']['options_complements']['agenda_legende']) && strlen($flux['args']['options_complements']['agenda_legende']) > 0){
     66                        }
     67                }
     68
     69                if (count($evenement['repetitions']) > 0) {
     70                        $evenement['repetitions'] = implode(',', $evenement['repetitions']);
     71                }
     72
     73                if (isset($flux['args']['options_complements']['agenda_legende'])
     74                        and strlen($flux['args']['options_complements']['agenda_legende']) > 0) {
    6875                        $evenement['agenda_legende'] = $flux['args']['options_complements']['agenda_legende'];
    6976                }
     
    7481                 * - date_debut et date_fin sont des dates mysql (pas récupérées de l'environnement)
    7582                 */
    76                 if($evenement["date_debut"] && preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/',$evenement["date_debut"]))
    77                         list($evenement["date_debut"],$evenement["heure_debut"]) = explode(' ',date('d/m/Y H:i',strtotime($evenement["date_debut"])));
    78 
    79                 if($evenement["date_fin"] && preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/',$evenement["date_fin"]))
    80                         list($evenement["date_fin"],$evenement["heure_fin"]) = explode(' ',date('d/m/Y H:i',strtotime($evenement["date_fin"])));
     83                if ($evenement['date_debut']
     84                        and preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $evenement['date_debut'])) {
     85                        list($evenement['date_debut'], $evenement['heure_debut']) = explode(' ', date('d/m/Y H:i', strtotime($evenement['date_debut'])));
     86                }
     87
     88                if ($evenement['date_fin'] && preg_match('/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/', $evenement['date_fin'])) {
     89                        list($evenement['date_fin'], $evenement['heure_fin']) = explode(' ', date('d/m/Y H:i', strtotime($evenement['date_fin'])));
     90                }
    8191
    8292                // traiter specifiquement l'horaire qui est une checkbox
    83                 if (_request('date_debut') AND !_request('horaire'))
     93                if (_request('date_debut') and !_request('horaire')) {
    8494                        $evenement['horaire'] = 'oui';
    85                
    86                 if(isset($flux['args']['options_complements']['agenda_obligatoire']) && $flux['args']['options_complements']['agenda_obligatoire'] == 'on')
    87                         $evenement['agenda_obligatoire'] = "on";
     95                }
     96
     97                if (isset($flux['args']['options_complements']['agenda_obligatoire'])
     98                        and $flux['args']['options_complements']['agenda_obligatoire'] == 'on') {
     99                        $evenement['agenda_obligatoire'] = 'on';
     100                }
    88101                $evenement['supprimer_evenement'] = _request('supprimer_evenement');
    89                 $flux['args']['contexte'] = array_merge($flux['args']['contexte'],$evenement);
    90                 $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_agenda',$flux['args']['contexte']);
     102                $flux['args']['contexte'] = array_merge($flux['args']['contexte'], $evenement);
     103                $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_agenda', $flux['args']['contexte']);
    91104        }
    92105        return $flux;
     
    95108/**
    96109 * Insertion dans le pipeline diogene_vérifier
    97  * Fonction s'exécutant à la vérification du formulaire 
     110 * Fonction s'exécutant à la vérification du formulaire
    98111 *
    99112 * @param array $flux Le contexte du pipeline
    100113 * @return array $flux le contexte modifié passé aux suivants
    101114 */
    102 function diogene_agenda_diogene_verifier($flux){
     115function diogene_agenda_diogene_verifier($flux) {
    103116        $id_diogene = _request('id_diogene');
    104         if(intval($id_diogene) && !_request('supprimer_evenement')){
    105                 $champs_ajoutes = unserialize(sql_getfetsel("champs_ajoutes","spip_diogenes","id_diogene=".intval($id_diogene)));
     117        if (intval($id_diogene) && !_request('supprimer_evenement')) {
     118                $champs_ajoutes = unserialize(sql_getfetsel('champs_ajoutes', 'spip_diogenes', 'id_diogene='.intval($id_diogene)));
    106119                $erreurs = $flux['args']['erreurs'];
    107                 if (is_array($champs_ajoutes) && in_array('agenda',$champs_ajoutes)){
     120                if (is_array($champs_ajoutes) && in_array('agenda', $champs_ajoutes)) {
    108121                        include_spip('formulaires/editer_evenement');
    109                         $erreurs = formulaires_editer_evenement_verifier_dist(_request('id_evenement'), $id_article,false, false, 'evenements_edit_config');
     122                        $erreurs = formulaires_editer_evenement_verifier_dist(_request('id_evenement'), $id_article, false, false, 'evenements_edit_config');
    110123                        unset($erreurs['id_parent']);
    111                        
    112                         if(!isset($flux['args']['options_complements']['agenda_obligatoire']) OR $flux['args']['options_complements']['agenda_obligatoire'] != 'on'){
     124
     125                        if (!isset($flux['args']['options_complements']['agenda_obligatoire']) or $flux['args']['options_complements']['agenda_obligatoire'] != 'on') {
    113126                                $champs_post = false;
    114                                 $champs = objet_info('evenement','champs_editables');
     127                                $champs = objet_info('evenement', 'champs_editables');
    115128                                $champs[] = 'titre_evenement';
    116129                                $champs[] = 'descriptif_evenement';
    117130                                unset($champs['descriptif']);
    118                                 foreach($champs as $champ){
    119                                         if(!in_array($champ,array('titre','horaire')) && _request($champ)){
     131                                foreach ($champs as $champ) {
     132                                        if (!in_array($champ, array('titre','horaire')) && _request($champ)) {
    120133                                                $champs_post = true;
    121134                                                break;
    122135                                        }
    123136                                }
    124                                 if(count($erreurs) > 0 && !$champs_post)
     137                                if (count($erreurs) > 0 && !$champs_post) {
    125138                                        $erreurs = array();
     139                                }
    126140                        }
    127141                }
     
    133147/**
    134148 * Insertion dans le pipeline diogene_traiter
    135  * Fonction s'exécutant au traitement du formulaire 
     149 * Fonction s'exécutant au traitement du formulaire
    136150 *
    137151 * @param array $flux Le contexte du pipeline
    138152 * @return array $flux le contexte modifié passé aux suivants
    139153 */
    140 function diogene_agenda_diogene_traiter($flux){
     154function diogene_agenda_diogene_traiter($flux) {
    141155        $pipeline = pipeline('diogene_objets');
    142         if (in_array($flux['args']['type'],array_keys($pipeline)) && isset($pipeline[$flux['args']['type']]['champs_sup']['agenda']) AND ($id_diogene = _request('id_diogene'))) {
     156        if (in_array($flux['args']['type'], array_keys($pipeline))
     157                and isset($pipeline[$flux['args']['type']]['champs_sup']['agenda'])
     158                and ($id_diogene = _request('id_diogene'))) {
    143159                $id_article = $flux['args']['id_objet'];
    144160
     
    146162                 * On a un id_evenement => on met à jour
    147163                 */
    148                 if(intval($id_article) > 0 && !_request('supprimer_evenement')){
    149                         if(!isset($flux['args']['options_complements']['agenda_obligatoire']) OR $flux['args']['options_complements']['agenda_obligatoire'] != 'on'){
     164                if (intval($id_article) > 0 && !_request('supprimer_evenement')) {
     165                        if (!isset($flux['args']['options_complements']['agenda_obligatoire'])
     166                                or $flux['args']['options_complements']['agenda_obligatoire'] != 'on') {
    150167                                $champs_post = false;
    151                                 foreach(objet_info('evenement','champs_editables') as $champ){
    152                                         if(!in_array($champ,array('titre','horaire')) && _request($champ)){
     168                                foreach (objet_info('evenement', 'champs_editables') as $champ) {
     169                                        if (!in_array($champ, array('titre', 'horaire')) && _request($champ)) {
    153170                                                $champs_post = true;
    154171                                                break;
    155172                                        }
    156173                                }
    157                                 if(!$champs_post)
     174                                if (!$champs_post) {
    158175                                        return $flux;
     176                                }
    159177                        }
    160178                        include_spip('formulaires/editer_evenement');
    161                         set_request('id_parent',$id_article);
    162                        
     179                        set_request('id_parent', $id_article);
     180
    163181                        /**
    164182                         * On fait attention à donner le titre de l'évènement si envoyé
     
    166184                         */
    167185                        $titre_article = false;
    168                         if(strlen(_request('titre_evenement')) > 0){
     186                        if (strlen(_request('titre_evenement')) > 0) {
    169187                                $titre_article = _request('titre');
    170                                 set_request('titre',_request('titre_evenement'));
    171                         }
    172                        
    173                         if(strlen(_request('descriptif_evenement')) > 0){
    174                                 set_request('descriptif',_request('descriptif_evenement'));
     188                                set_request('titre', _request('titre_evenement'));
     189                        }
     190
     191                        if (strlen(_request('descriptif_evenement')) > 0) {
     192                                set_request('descriptif', _request('descriptif_evenement'));
    175193                        }
    176194                        /**
    177195                         * On fait attention à donner un statut existant au statut
    178196                         */
    179                         $statuts = array_keys(objet_info('evenement','statut_titres'));
    180                         $statut_article = _request('statut') ? _request('statut') : sql_getfetsel('statut','spip_articles','id_article='.intval($id_article));
     197                        $statuts = array_keys(objet_info('evenement', 'statut_titres'));
     198                        $statut_article = _request('statut') ? _request('statut') : sql_getfetsel('statut', 'spip_articles', 'id_article='.intval($id_article));
    181199                        $statut_post = _request('statut');
    182200
    183                         if(!in_array($statut_article,$statuts)){
    184                                 set_request('statut',$statuts[0]);
    185                         }
    186                         else{
    187                                 set_request('statut',$statut_article);
    188                         }
    189 
    190                         if(intval(_request('id_evenement')) > 0)
    191                                 formulaires_editer_evenement_traiter_dist(_request('id_evenement'), $id_article,false, false, 'evenements_edit_config');
    192                         else{
    193                                 set_request('ctr_titre','');
    194                                 set_request('ctr_descriptif','');
    195                                 $res = formulaires_editer_evenement_traiter_dist('new', $id_article,false, false, 'evenements_edit_config');
    196                         }
    197                        
     201                        if (!in_array($statut_article, $statuts)) {
     202                                set_request('statut', $statuts[0]);
     203                        } else {
     204                                set_request('statut', $statut_article);
     205                        }
     206
     207                        if (intval(_request('id_evenement')) > 0) {
     208                                formulaires_editer_evenement_traiter_dist(_request('id_evenement'), $id_article, false, false, 'evenements_edit_config');
     209                        } else {
     210                                set_request('ctr_titre', '');
     211                                set_request('ctr_descriptif', '');
     212                                $res = formulaires_editer_evenement_traiter_dist('new', $id_article, false, false, 'evenements_edit_config');
     213                        }
     214
    198215                        /**
    199216                         * On remet le statut et le titre de l'article dans l'environnement du $_POST
    200217                         */
    201                        
    202                         set_request('statut',$statut_post);
    203                         if($titre_article)
    204                                 set_request('titre',$titre_article);
    205                 }
    206                 // Supprimer l'évènement
    207                 else{
     218
     219                        set_request('statut', $statut_post);
     220                        if ($titre_article) {
     221                                set_request('titre', $titre_article);
     222                        }
     223                } else {
     224                        //Supprimer l'évènement
    208225                        include_spip('action/editer_evenement');
    209                         evenement_instituer(_request('id_evenement'), array('statut'=>'poubelle','id_article'=>$id_article));
     226                        evenement_instituer(_request('id_evenement'), array('statut' => 'poubelle', 'id_article' => $id_article));
    210227                }
    211228        }
     
    216233 * Insertion dans le pipeline diogene_objets
    217234 * On ajoute l'agenda dans les articles
    218  * 
     235 *
    219236 * @param array $flux La liste des champs pour les diogenes
    220237 */
    221 function diogene_agenda_diogene_objets($flux){
     238function diogene_agenda_diogene_objets($flux) {
    222239        $flux['article']['champs_sup']['agenda'] = _T('diogene_agenda:label_cfg_ajout_agenda');
    223240        return $flux;
    224241}
    225242
    226 function diogene_agenda_diogene_champs_texte($flux){
     243function diogene_agenda_diogene_champs_texte($flux) {
    227244        $champs = $flux['args']['champs_ajoutes'];
    228         if((is_array($champs) OR is_array($champs = unserialize($champs)))
    229                 && in_array('agenda',$champs)){
     245        if ((is_array($champs) or is_array($champs = unserialize($champs)))
     246                and in_array('agenda', $champs)) {
    230247                $flux['data'] .= recuperer_fond('prive/diogene_agenda_champs_texte', $flux['args']);
    231248        }
     
    233250}
    234251
    235 function diogene_agenda_diogene_champs_pre_edition($array){
     252function diogene_agenda_diogene_champs_pre_edition($array) {
    236253        $array[] = 'agenda_caches';
    237254        $array[] = 'agenda_legende';
     
    241258}
    242259
    243 function diogene_agenda_insert_head_css($flux){
     260function diogene_agenda_insert_head_css($flux) {
    244261        $css_theme = find_in_path('css/jquery.ui.theme.css');
    245262        $flux .= '<link rel="stylesheet" href="'.direction_css($css_theme).'" type="text/css" media="all" />';
     
    252269/**
    253270 * Insertion dans le formulaire diogene_avant_formulaire (plugin Diogene)
    254  * 
     271 *
    255272 * Insert des scripts javascript nécessaire au bon fonctionnement des formulaires d'édition :
    256273 * -* prive/javascript/presentation.js
    257274 * -* formulaires/dateur/inc-dateur.html si une date est présente dans le formulaire
    258  * 
    259  * @param array $flux 
     275 *
     276 * @param array $flux
    260277 *              Le contexte du pipeline
    261  * @return array $flux 
     278 * @return array $flux
    262279 *              Le contexte modifié
    263280 */
    264 function diogene_agenda_diogene_avant_formulaire($flux){
    265         if(is_array(unserialize($flux['args']['champs_ajoutes'])) &&
    266                 (in_array('agenda',unserialize($flux['args']['champs_ajoutes'])))){
    267                         if($flux['args']['type'] && isset($flux['args']['id']) && intval($flux['args']['id']) > 0)
    268                                 $flux['data'] .= recuperer_fond('inclure/diogene_liste_evenements',array('id_article'=>$flux['args']['id'],'editer_id_evenement' => _request('editer_id_evenement'),'agenda_multiple' => $flux['args']['options_complements']['agenda_multiple'],'debut_evenements' => _request('debut_evenements')));
    269         }
    270         return $flux;
    271 }
    272 ?>
     281function diogene_agenda_diogene_avant_formulaire($flux) {
     282        if (is_array(unserialize($flux['args']['champs_ajoutes']))
     283                and (in_array('agenda', unserialize($flux['args']['champs_ajoutes'])))) {
     284                if ($flux['args']['type'] and isset($flux['args']['id']) and intval($flux['args']['id']) > 0) {
     285                        $flux['data'] .= recuperer_fond('inclure/diogene_liste_evenements', array('id_article' => $flux['args']['id'],'editer_id_evenement' => _request('editer_id_evenement'),'agenda_multiple' => $flux['args']['options_complements']['agenda_multiple'],'debut_evenements' => _request('debut_evenements')));
     286                }
     287        }
     288        return $flux;
     289}
  • _plugins_/diogene/diogene_complements/diogene_agenda/trunk/lang/diogene_agenda_fr.php

    r84739 r97999  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    3 if (!defined('_ECRIRE_INC_VERSION')) return;
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4        return;
     5}
    46
    57$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    1618        'label_agenda_obligatoire' => 'L\'événement est obligatoire',
    1719        'label_cfg_ajout_agenda' => 'Événement',
    18        
     20
    1921        // T
    2022        'titre_evenements_lies' => 'Événements liés'
    2123);
    22 
    23 ?>
  • _plugins_/diogene/diogene_complements/diogene_agenda/trunk/lang/paquet-diogene_agenda_fr.php

    r81860 r97999  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    3 if (!defined('_ECRIRE_INC_VERSION')) return;
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4        return;
     5}
    46
    57$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    1113
    1214);
    13 
    14 ?>
  • _plugins_/diogene/diogene_complements/diogene_documents/trunk/diogene_documents_pipelines.php

    r87429 r97999  
    55 * Auteurs :
    66 * kent1 (http://www.kent1.info - kent1@arscenic.info)
    7  * 
     7 *
    88 * © 2014-2015 - Distribue sous licence GNU/GPL
    99 *
     
    1212 * @package SPIP\Diogene Documents\Pipelines
    1313 **/
    14  
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
     14
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
    1618
    1719/**
     
    1921 *
    2022 * Ajout des saisies supplémentaires dans le formulaire
    21  * 
     23 *
    2224 * @param array $flux Le contexte du pipeline
    2325 * @return array $flux le contexte modifié passé aux suivants
    2426 */
    25 function diogene_documents_diogene_ajouter_saisies($flux){
    26         if (is_array(unserialize($flux['args']['champs_ajoutes'])) && in_array('documents',unserialize($flux['args']['champs_ajoutes']))){
     27function diogene_documents_diogene_ajouter_saisies($flux) {
     28        if (is_array(unserialize($flux['args']['champs_ajoutes']))
     29                and in_array('documents', unserialize($flux['args']['champs_ajoutes']))) {
    2730                $objet = $flux['args']['type'];
    2831                $id_table_objet = id_table_objet($flux['args']['type']);
    2932                $id_objet = $flux['args']['contexte'][$id_table_objet];
    30                 if(is_array(unserialize($flux['args']['options_complements']['champs_documents'])))
     33                if (is_array(unserialize($flux['args']['options_complements']['champs_documents']))) {
    3134                        $flux['args']['contexte']['champs_documents'] = unserialize($flux['args']['options_complements']['champs_documents']);
    32                 else
     35                } else {
    3336                        $flux['args']['contexte']['champs_documents'] = array();
     37                }
    3438
    3539                $flux['args']['contexte']['nombre_documents'] = isset($flux['args']['options_complements']['nombre_documents']) ? $flux['args']['options_complements']['nombre_documents'] : 0;
    3640
    37                 if(intval($id_objet) > 0){
    38                         $documents_objet = sql_allfetsel('*','spip_documents as docs LEFT JOIN spip_documents_liens as liens on docs.id_document = liens.id_document','liens.objet='.sql_quote($objet).' AND liens.id_objet='.intval($id_objet));
    39                         foreach($documents_objet as $doc){
     41                if (intval($id_objet) > 0) {
     42                        $documents_objet = sql_allfetsel('*', 'spip_documents as docs LEFT JOIN spip_documents_liens as liens on docs.id_document = liens.id_document', 'liens.objet='.sql_quote($objet).' AND liens.id_objet='.intval($id_objet));
     43                        foreach ($documents_objet as $doc) {
    4044                                $id_document = $doc['id_document'];
    41                                 foreach(array('titre','credits','descriptif','supprimer') as $champ){
     45                                foreach (array('titre','credits','descriptif','supprimer') as $champ) {
    4246                                        $champ_ok = $champ.'_'.$id_document;
    4347                                        $flux['args']['contexte'][$champ_ok] = _request($champ_ok) ? _request($champ_ok) : $doc[$champ];
     
    4650                }
    4751
    48                 if(isset($flux['args']['options_complements']['documents_un_par_un']) && $flux['args']['options_complements']['documents_un_par_un'] == 'on' && intval($flux['args']['options_complements']['nombre_documents']) >= 1)
    49                         $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_documents_un_par_un',$flux['args']['contexte']);
    50                 else
    51                         $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_documents',$flux['args']['contexte']);
     52                if (isset($flux['args']['options_complements']['documents_un_par_un'])
     53                        and $flux['args']['options_complements']['documents_un_par_un'] == 'on'
     54                        and intval($flux['args']['options_complements']['nombre_documents']) >= 1) {
     55                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_documents_un_par_un', $flux['args']['contexte']);
     56                } else {
     57                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_documents', $flux['args']['contexte']);
     58                }
    5259        }
    5360        return $flux;
     
    5764 * Insertion dans le pipeline diogene_traiter (Diogene)
    5865 * Fonction s'exécutant au traitement des formulaires modifiés par Diogene
    59  * 
     66 *
    6067 * @param array $flux Le contexte du pipeline
    6168 * @return array $flux le contexte modifié passé aux suivants
    6269 */
    63 function diogene_documents_diogene_traiter($flux){
     70function diogene_documents_diogene_traiter($flux) {
    6471        $pipeline = pipeline('diogene_objets');
    65         if (in_array($flux['args']['type'],array_keys($pipeline)) && isset($pipeline[$flux['args']['type']]['champs_sup']['documents']) AND ($id_diogene = _request('id_diogene'))) {
     72        if (in_array($flux['args']['type'], array_keys($pipeline))
     73                and isset($pipeline[$flux['args']['type']]['champs_sup']['documents'])
     74                and _request('id_diogene')) {
    6675                $objet = $flux['args']['type'];
    6776                $id_objet = $flux['args']['id_objet'];
    68                
     77
    6978                $post = isset($_FILES) ? $_FILES : $GLOBALS['HTTP_POST_FILES'];
    70                
    71                 if(_request('titre'))
     79
     80                if (_request('titre')) {
    7281                        $ancien_titre = _request('titre');
    73                 if(_request('credits'))
     82                }
     83                if (_request('credits')) {
    7484                        $ancien_credits = _request('credits');
    75                 if(_request('descriptif'))
     85                }
     86                if (_request('descriptif')) {
    7687                        $ancien_descriptif = _request('descriptif');
    77                
     88                }
     89
    7890                $nouveaux_doc = array();
    79                 if (is_array($post)){
     91                if (is_array($post)) {
    8092                        include_spip('inc/joindre_document');
    8193                        include_spip('formulaires/joindre_document');
    8294                        $ajouter_documents = charger_fonction('ajouter_documents', 'action');
    83                         $mode = joindre_determiner_mode('auto','new',$objet);
     95                        $mode = joindre_determiner_mode('auto', 'new', $objet);
    8496                        $files = diogene_document_joindre_trouver_fichier_envoye(array($post['fichier_upload']));
    85                         if(is_array($files)){
    86                                 $nouveaux_doc = $ajouter_documents('new',$files,$objet,$id_objet,$mode);
    87                                 foreach($files as $i => $file){
     97                        if (is_array($files)) {
     98                                $nouveaux_doc = $ajouter_documents('new', $files, $objet, $id_objet, $mode);
     99                                foreach ($files as $i => $file) {
    88100                                        $infos_doc = array();
    89                                         foreach(array('titre','credits','descriptif') as $champ){
    90                                                 if(isset($file[$champ])){
    91                                                         set_request($champ,$file[$champ]);
     101                                        foreach (array('titre','credits','descriptif') as $champ) {
     102                                                if (isset($file[$champ])) {
     103                                                        set_request($champ, $file[$champ]);
    92104                                                        $infos_doc[$champ] = $file[$champ];
     105                                                } else {
     106                                                        set_request($champ, '');
    93107                                                }
    94                                                 else
    95                                                         set_request($champ,'');
    96                                         }
    97                                        
    98                                         document_modifier($nouveaux_doc[$i],$infos_doc);
    99                                 }
    100                         }
    101                 }
    102                
    103                 if(intval($id_objet) > 0){
     108                                        }
     109                                        document_modifier($nouveaux_doc[$i], $infos_doc);
     110                                }
     111                        }
     112                }
     113
     114                if (intval($id_objet) > 0) {
    104115                        include_spip('action/editer_document');
    105                         $documents_objet = sql_allfetsel('id_document','spip_documents_liens','objet='.sql_quote($objet).' AND id_objet='.intval($id_objet));
    106                         foreach($documents_objet as $doc){
    107                                 if(!in_array($doc['id_document'],$nouveaux_doc)){
     116                        $documents_objet = sql_allfetsel('id_document', 'spip_documents_liens', 'objet='.sql_quote($objet).' AND id_objet='.intval($id_objet));
     117                        foreach ($documents_objet as $doc) {
     118                                if (!in_array($doc['id_document'], $nouveaux_doc)) {
    108119                                        $id_document = $doc['id_document'];
    109                                         if(_request('supprimer_'.$id_document)){
     120                                        if (_request('supprimer_'.$id_document)) {
    110121                                                include_spip('action/dissocier_document');
    111                                                 $suppression = supprimer_lien_document($id_document, $objet, $id_objet, true);
    112                                         }else{
     122                                                supprimer_lien_document($id_document, $objet, $id_objet, true);
     123                                        } else {
    113124                                                $infos_doc = array();
    114                                                 foreach(array('titre','credits','descriptif') as $champ){
    115                                                         if(_request($champ.'_'.$id_document)){
     125                                                foreach (array('titre', 'credits', 'descriptif') as $champ) {
     126                                                        if (_request($champ . '_' . $id_document)) {
    116127                                                                $valeur_champ = _request($champ.'_'.$id_document);
    117                                                                 set_request($champ,$valeur_champ);
     128                                                                set_request($champ, $valeur_champ);
    118129                                                                $infos_doc[$champ] = $valeur_champ;
    119                                                         }
    120                                                         else
    121                                                                 set_request($champ,'');
     130                                                        } else {
     131                                                                set_request($champ, '');
     132                                                        }
    122133                                                }
    123                                                 $err = document_modifier($id_document, $infos_doc);
    124                                         }
    125                                 }
    126                         }
    127                 }
    128                 if(isset($ancien_titre))
    129                         set_request('titre',$ancien_titre);
    130                 if(isset($ancien_credits))
    131                         set_request('credits',$ancien_credits);
    132                 if(isset($ancien_descriptif))
    133                         set_request('descriptif',$ancien_descriptif);
    134         }
    135         return $flux;
    136 }
    137 
    138 function diogene_document_joindre_trouver_fichier_envoye($post){
    139         if (is_array($post)){
     134                                                document_modifier($id_document, $infos_doc);
     135                                        }
     136                                }
     137                        }
     138                }
     139                if (isset($ancien_titre)) {
     140                        set_request('titre', $ancien_titre);
     141                }
     142                if (isset($ancien_credits)) {
     143                        set_request('credits', $ancien_credits);
     144                }
     145                if (isset($ancien_descriptif)) {
     146                        set_request('descriptif', $ancien_descriptif);
     147                }
     148        }
     149        return $flux;
     150}
     151
     152function diogene_document_joindre_trouver_fichier_envoye($post) {
     153        if (is_array($post)) {
    140154                $i = 1;
    141155                include_spip('action/ajouter_documents');
    142156                foreach ($post as $file) {
    143                         if (is_array($file['name'])){
    144                                 while (count($file['name'])){
    145                                                 $test=array(
     157                        $files = array();
     158                        if (is_array($file['name'])) {
     159                                while (count($file['name'])) {
     160                                                $test = array(
    146161                                                        'error'=>array_shift($file['error']),
    147162                                                        'name'=>array_shift($file['name']),
    148163                                                        'tmp_name'=>array_shift($file['tmp_name']),
    149164                                                        'type'=>array_shift($file['type']),
    150                                                         );
    151                                                 if (!($test['error'] == 4)){
    152                                                         if (is_string($err = joindre_upload_error($test['error'])))
     165                                                );
     166                                                if (!($test['error'] == 4)) {
     167                                                        if (is_string($err = joindre_upload_error($test['error']))) {
    153168                                                                return $err; // un erreur upload
    154                                                         if (!is_array(verifier_upload_autorise($test['name'])))
    155                                                                 return _T('medias:erreur_upload_type_interdit',array('nom'=>$test['name']));
    156                                                         if(_request('titre_document'.$i))
     169                                                        }
     170                                                        if (!is_array(verifier_upload_autorise($test['name']))) {
     171                                                                return _T('medias:erreur_upload_type_interdit', array('nom'=>$test['name']));
     172                                                        }
     173                                                        if (_request('titre_document'.$i)) {
    157174                                                                $test['titre'] = _request('titre_document'.$i);
    158                                                         if(_request('descriptif_document'.$i))
     175                                                        }
     176                                                        if (_request('descriptif_document'.$i)) {
    159177                                                                $test['descriptif'] = _request('descriptif_document'.$i);
    160                                                         if(_request('credits_document'.$i))
     178                                                        }
     179                                                        if (_request('credits_document'.$i)) {
    161180                                                                $test['credits'] = _request('credits_document'.$i);
    162                                                         $files[]=$test;
     181                                                        }
     182                                                        $files[] = $test;
    163183                                                }
    164184                                                $i++;
    165185                                }
    166                         }
    167                         else {
     186                        } else {
    168187                                //UPLOAD_ERR_NO_FILE
    169                                 if (!($file['error'] == 4)){
    170                                         if (is_string($err = joindre_upload_error($file['error'])))
     188                                if (!($file['error'] == 4)) {
     189                                        if (is_string($err = joindre_upload_error($file['error']))) {
    171190                                                return $err; // un erreur upload
    172                                         if (!is_array(verifier_upload_autorise($file['name'])))
    173                                                 return _T('medias:erreur_upload_type_interdit',array('nom'=>$file['name']));
    174                                         $files[]=$file;
    175                                 }
    176                         }
    177                 }
    178                 if (!count($files))
     191                                        }
     192                                        if (!is_array(verifier_upload_autorise($file['name']))) {
     193                                                return _T('medias:erreur_upload_type_interdit', array('nom' => $file['name']));
     194                                        }
     195                                        $files[] = $file;
     196                                }
     197                        }
     198                }
     199                if (!count($files)) {
    179200                        return _T('medias:erreur_indiquez_un_fichier');
     201                }
    180202        }
    181203        return $files;
     
    183205/**
    184206 * Insertion dans le pipeline diogene_objets (Diogene)
    185  * 
     207 *
    186208 * Ajout des documents comme champs supplémentaires possible sur les articles
    187  * 
     209 *
    188210 * @param array $flux Le contexte du pipeline
    189211 * @return array $flux le contexte modifié passé aux suivants
    190212 */
    191 function diogene_documents_diogene_objets($flux){
     213function diogene_documents_diogene_objets($flux) {
    192214        $flux['article']['champs_sup']['documents'] = _T('medias:info_documents');
    193         if(defined('_DIR_PLUGIN_PAGES'))
     215        if (defined('_DIR_PLUGIN_PAGES')) {
    194216                $flux['page']['champs_sup']['documents'] = _T('medias:info_documents');
     217        }
    195218        return $flux;
    196219}
     
    198221/**
    199222 * Insertion dans le pipeline diogene_champs_texte (Diogene)
    200  * 
     223 *
    201224 * Ajout du squelette permettant de configurer les éléments supplémentaires liés aux documents :
    202225 * - les champs éditables de chaque document
    203226 * - le nombre maximal de documents
    204  * 
     227 *
    205228 * @param array $flux
    206229 * @return array
    207230 */
    208 function diogene_documents_diogene_champs_texte($flux){
     231function diogene_documents_diogene_champs_texte($flux) {
    209232        $champs = $flux['args']['champs_ajoutes'];
    210         if((is_array($champs) OR is_array($champs = unserialize($champs)))
    211                 && in_array('documents',$champs)){
     233        if ((is_array($champs)
     234                or is_array($champs = unserialize($champs)))
     235                and in_array('documents', $champs)) {
    212236                $flux['data'] .= recuperer_fond('prive/diogene_documents_champs_texte', $flux['args']);
    213237        }
     
    217241/**
    218242 * Insertion dans le pipeline diogene_champs_pre_edition (Diogene)
    219  * 
     243 *
    220244 * Ajoute la prise en compte des champs insérés dans le diogène :
    221245 * - champs_documents : tableau de champs associés aux documents dans l'interface de saisie
    222246 * - nombre_documents : nombre maximal de documents pouvant être lié
    223247 * - documents_un_par_un : affichera dans le formulaire autant de bouton parcourir que de documents possibles
    224  * 
     248 *
    225249 * @param array $array
    226250 * @return array
    227251 */
    228 function diogene_documents_diogene_champs_pre_edition($array){
     252function diogene_documents_diogene_champs_pre_edition($array) {
    229253        $array[] = 'champs_documents';
    230254        $array[] = 'nombre_documents';
     
    232256        return $array;
    233257}
    234 
    235 ?>
  • _plugins_/diogene/diogene_complements/diogene_documents/trunk/lang/diogene_documents_fr.php

    r87412 r97999  
    44// ** ne pas modifier le fichier **
    55
    6 if (!defined('_ECRIRE_INC_VERSION')) return;
     6if (!defined('_ECRIRE_INC_VERSION')) {
     7        return;
     8}
    79
    810$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    1618        'legende_documents' => 'Documents',
    1719);
    18 
    19 ?>
  • _plugins_/diogene/diogene_complements/diogene_geo/trunk/diogene_geo_pipelines.php

    r83969 r97999  
    22/**
    33 * Plugin Diogène géo : extensions géographique pour Diogène
    4  * 
     4 *
    55 * Auteurs :
    66 * b_b
     
    1414 */
    1515
    16 if (!defined("_ECRIRE_INC_VERSION")) return;
     16if (!defined('_ECRIRE_INC_VERSION')) {
     17        return;
     18}
    1719
    1820/**
    1921 * Insertion dans le pipeline diogene_ajouter_saisies (plugin Diogene)
    20  * 
     22 *
    2123 * On ajoute la carte et les saisies supplémentaires liées à diogene_geo ou un sélecteur de point existant
    22  * 
    23  * @param array $flux 
     24 *
     25 * @param array $flux
    2426 *              le contexte du pipeline
    2527 * @return array $flux
    2628 *              Le contexte du pipeline modifié
    2729 */
    28 function diogene_geo_diogene_ajouter_saisies($flux){
     30function diogene_geo_diogene_ajouter_saisies($flux) {
    2931        $objet = $flux['args']['type'];
    3032        $id_objet = $flux['args']['contexte']['id_'.$objet];
    31         if(defined('_DIR_PLUGIN_GIS') && in_array($objet,array('article','rubrique')) && is_array(unserialize($flux['args']['champs_ajoutes'])) && in_array('geo',unserialize($flux['args']['champs_ajoutes']))){
     33        if (defined('_DIR_PLUGIN_GIS')
     34                and in_array($objet, array('article', 'rubrique'))
     35                and is_array(unserialize($flux['args']['champs_ajoutes']))
     36                and in_array('geo', unserialize($flux['args']['champs_ajoutes']))) {
    3237                /**
    3338                 * Récupérer le point gis lié à l'objet
    3439                 */
    35                 if(intval($id_objet)){
    36                         $valeurs_gis = sql_fetsel("*","spip_gis AS gis LEFT JOIN spip_gis_liens AS lien USING(id_gis)","lien.id_objet=$id_objet AND lien.objet=".sql_quote($objet));
    37                         if(is_array($valeurs_gis)){
     40                if (intval($id_objet)) {
     41                        $valeurs_gis = sql_fetsel('*', 'spip_gis AS gis LEFT JOIN spip_gis_liens AS lien USING(id_gis)', "lien.id_objet=$id_objet AND lien.objet=".sql_quote($objet));
     42                        if (is_array($valeurs_gis)) {
    3843                                $valeurs_gis['gis_titre'] = $valeurs_gis['titre'];
    3944                                $valeurs_gis['gis_descriptif'] = $valeurs_gis['descriptif'];
    4045                                unset($valeurs_gis['titre']);
    4146                                unset($valeurs_gis['gis_descriptif']);
    42                                 $flux['args']['contexte'] = array_merge($flux['args']['contexte'],$valeurs_gis);
     47                                $flux['args']['contexte'] = array_merge($flux['args']['contexte'], $valeurs_gis);
    4348                        }
    4449                }
     
    4651                 * Afficher le select si on veut forcer le point existant
    4752                 */
    48                 if(isset($flux['args']['options_complements']['geo_forcer_existant']) && $flux['args']['options_complements']['geo_forcer_existant'] == 'on'){
    49                         if(intval(_request('id_gis')) > 0)
     53                if (isset($flux['args']['options_complements']['geo_forcer_existant']) and $flux['args']['options_complements']['geo_forcer_existant'] == 'on') {
     54                        if (intval(_request('id_gis')) > 0) {
    5055                                $flux['args']['contexte']['id_gis'] = _request('id_gis');
    51                         $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_medias_geo_forcer',$flux['args']['contexte']);
    52                 }
    53                 /**
    54                  * Afficher une carte dans les autres cas
    55                  */
    56                 else
    57                         $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_medias_geo',$flux['args']['contexte']);
     56                        }
     57                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_medias_geo_forcer', $flux['args']['contexte']);
     58                } else {
     59                        /**
     60                         * Afficher une carte dans les autres cas
     61                         */
     62                        $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_medias_geo', $flux['args']['contexte']);
     63                }
    5864        }
    5965        return $flux;
     
    6268/**
    6369 * Insertion dans le pipeline diogene_charger (plugin Diogène)
    64  * 
     70 *
    6571 * On récupère les valeurs de lat, lon, zoom, gis_titre et gis_descriptif dans ce qui a été auparavant posté
    6672 * (On évite le $_GET de l'url) pour le réinsérer en cas d'erreur dans le formulaire
    67  * 
    68  * @param array $flux 
     73 *
     74 * @param array $flux
    6975 *              Le contexte du pipeline
    70  * @return array $flux 
     76 * @return array $flux
    7177 *              Le contexte du pipeline modifié
    7278 */
    73 function diogene_geo_diogene_charger($flux){
    74         if(defined('_DIR_PLUGIN_GIS')){
     79function diogene_geo_diogene_charger($flux) {
     80        if (defined('_DIR_PLUGIN_GIS')) {
    7581                $flux['data']['lat'] = $_POST['lat'];
    7682                $flux['data']['lon'] = $_POST['lon'];
     
    9197/**
    9298 * Insertion dans le pipeline diogene_verifier (Plugin Diogene)
    93  * 
     99 *
    94100 * Vérifie la validité des champs lat, lon, zoom, gis_titre, gis_descriptif
    95101 * - Si au moins une de ces valeurs est présente (sauf le descriptif), lat, lon, zoom, et titre
     
    97103 * - Si lat et lon sont présents mais ne sont pas de type float => erreur
    98104 * - Si zoom est présent et n'est pas un int => erreur
    99  * 
    100  * @param array $flux 
     105 *
     106 * @param array $flux
    101107 *              Le contexte du pipeline
    102  * @return array $flux 
     108 * @return array $flux
    103109 *              Le contexte du pipeline modifié
    104110 */
    105 function diogene_geo_diogene_verifier($flux){
    106         if(defined('_DIR_PLUGIN_GIS') && !_request('gis_supprimer') && _request('gis_afficher')){
     111function diogene_geo_diogene_verifier($flux) {
     112        if (defined('_DIR_PLUGIN_GIS') && !_request('gis_supprimer') && _request('gis_afficher')) {
    107113                $erreurs = &$flux['args']['erreurs'];
    108                 if(!isset($flux['args']['options_complements']['geo_forcer_existant']) || $flux['args']['options_complements']['geo_forcer_existant'] != 'on'){
     114                if (!isset($flux['args']['options_complements']['geo_forcer_existant'])
     115                        or $flux['args']['options_complements']['geo_forcer_existant'] != 'on') {
    109116                        $lat = _request('lat');
    110117                        $lon = _request('lon');
     
    112119                        $titre = _request('gis_titre');
    113120
    114                         if(_request('statut') != 'poubelle' && ($lat OR $lon OR $zoom)){
    115                                 if(!$lat)
     121                        if (_request('statut') != 'poubelle' && ($lat or $lon or $zoom)) {
     122                                if (!$lat) {
    116123                                        $flux['data']['lat'] = _T('info_obligatoire');
    117                                 if(!$lon)
     124                                }
     125                                if (!$lon) {
    118126                                        $flux['data']['lon'] = _T('info_obligatoire');
    119                                 if(!$zoom)
     127                                }
     128                                if (!$zoom) {
    120129                                        $flux['data']['zoom'] = _T('info_obligatoire');
    121                                 if(!$titre)
     130                                }
     131                                if (!$titre) {
    122132                                        $flux['data']['gis_titre'] = _T('info_obligatoire');
    123                         }
    124 
    125                         if((!$erreur['lat']) && $lat){
    126                                 if((!empty($lat)) && !is_numeric($lat))
    127                                         $flux['data']['lat'] = _T('diogene:erreur_valeur_float',array('champ'=> _T('diogene_geo:latitude')));
    128                         }
    129                         if((!$erreur['lon']) && $lon){
    130                                 if((!empty($lon)) && !is_numeric($lon))
    131                                         $flux['data']['lonx'] = _T('diogene:erreur_valeur_float',array('champ'=> _T('diogene_geo:longitude')));
    132                         }
    133                         if((!$erreur['zoom']) && $zoom){
    134                                 if((!empty($zoom)) && !ctype_digit($zoom))
    135                                         $flux['data']['zoom'] = _T('diogene:erreur_valeur_int',array('champ'=>_T('diogene_geo:zoom')));
     133                                }
     134                        }
     135
     136                        if ((!$erreurs['lat']) && $lat) {
     137                                if ((!empty($lat)) && !is_numeric($lat)) {
     138                                        $flux['data']['lat'] = _T('diogene:erreur_valeur_float', array('champ' => _T('diogene_geo:latitude')));
     139                                }
     140                        }
     141                        if ((!$erreurs['lon']) && $lon) {
     142                                if ((!empty($lon)) && !is_numeric($lon)) {
     143                                        $flux['data']['lonx'] = _T('diogene:erreur_valeur_float', array('champ' => _T('diogene_geo:longitude')));
     144                                }
     145                        }
     146                        if ((!$erreurs['zoom']) && $zoom) {
     147                                if ((!empty($zoom)) && !ctype_digit($zoom)) {
     148                                        $flux['data']['zoom'] = _T('diogene:erreur_valeur_int', array('champ' =>_T('diogene_geo:zoom')));
     149                                }
    136150                        }
    137151                }
     
    142156/**
    143157 * Insertion dans le pipeline diogene_traiter (plugin Diogene)
    144  * 
     158 *
    145159 * On crée un point ou le met à jour si on a les infos de géoloc
    146  * 
    147  * @param array $flux 
     160 *
     161 * @param array $flux
    148162 *              Le contexte du pipeline
    149163 * @return array $flux
    150164 *              Le contexte du pipeline modifié
    151165 */
    152 function diogene_geo_diogene_traiter($flux){
    153         if(defined('_DIR_PLUGIN_GIS') && $flux['args']['action'] == 'modifier'){
     166function diogene_geo_diogene_traiter($flux) {
     167        if (defined('_DIR_PLUGIN_GIS') && $flux['args']['action'] == 'modifier') {
    154168                $objet = $flux['args']['type'];
    155169                $id_objet = $flux['args']['id_objet'];
    156                 if(intval(_request('id_diogene')) > 0)
    157                         $options_complements = unserialize(sql_getfetsel("options_complements","spip_diogenes","id_diogene=".intval(_request('id_diogene'))));
    158                 if(isset($options_complements['geo_forcer_existant']) && $options_complements['geo_forcer_existant'] == 'on'){
     170                if (intval(_request('id_diogene')) > 0) {
     171                        $options_complements = unserialize(sql_getfetsel('options_complements', 'spip_diogenes', 'id_diogene='.intval(_request('id_diogene'))));
     172                }
     173                if (isset($options_complements['geo_forcer_existant']) && $options_complements['geo_forcer_existant'] == 'on') {
    159174                        include_spip('action/editer_gis');
    160175                        $id_gis = false;
    161176                        $post_gis = _request('id_gis') ? _request('id_gis') : $_POST['id_gis'];
    162                         if(intval($id_objet))
    163                                 $id_gis = sql_getfetsel("gis.id_gis","spip_gis AS gis LEFT JOIN spip_gis_liens AS lien USING(id_gis)","lien.id_objet=$id_objet AND lien.objet=".sql_quote($objet));
    164 
    165                         if(intval($id_gis) > 0 &&  $id_gis != $post_gis)
    166                                 gis_dissocier($id_gis,array($objet => $id_objet));
    167 
    168                         if(intval($post_gis) > 0 && $id_gis != $post_gis)
     177                        if (intval($id_objet)) {
     178                                $id_gis = sql_getfetsel('gis.id_gis', 'spip_gis AS gis LEFT JOIN spip_gis_liens AS lien USING(id_gis)', "lien.id_objet=$id_objet AND lien.objet=".sql_quote($objet));
     179                        }
     180                        if (intval($id_gis) > 0 &&  $id_gis != $post_gis) {
     181                                gis_dissocier($id_gis, array($objet => $id_objet));
     182                        }
     183                        if (intval($post_gis) > 0 && $id_gis != $post_gis) {
    169184                                gis_associer($post_gis, array($objet => $id_objet));
    170                 }
    171                 else{
    172                         if(_request('gis_supprimer')){
     185                        }
     186                } else {
     187                        if (_request('gis_supprimer')) {
    173188                                include_spip('action/editer_gis');
    174189                                $id_gis = _request('id_gis');
    175190                                delier_gis($id_gis, $objet, $id_objet);
    176                                 $nb_gis = sql_countsel('spip_gis_liens','id_gis='.intval($id_gis));
    177                                 if($nb_gis == 0)
     191                                $nb_gis = sql_countsel('spip_gis_liens', 'id_gis='.intval($id_gis));
     192                                if ($nb_gis == 0) {
    178193                                        supprimer_gis($id_gis);
     194                                }
    179195
    180196                                /**
    181197                                 * On vide ensuite les request sur les données géo
    182198                                 */
    183                                 set_request('lat','');
    184                                 set_request('lon','');
    185                                 set_request('zoom','');
    186                                 set_request('gis_titre','');
    187                                 set_request('gis_descriptif','');
    188                                 set_request('adresse','');
    189                                 set_request('code_postal','');
    190                                 set_request('ville','');
    191                                 set_request('region','');
    192                                 set_request('pays','');
    193                         }
    194                         else if(($lat = _request('lat')) && ($lon = _request('lon')) && ($gis_afficher = _request('gis_afficher'))){
     199                                set_request('lat', '');
     200                                set_request('lon', '');
     201                                set_request('zoom', '');
     202                                set_request('gis_titre', '');
     203                                set_request('gis_descriptif', '');
     204                                set_request('adresse', '');
     205                                set_request('code_postal', '');
     206                                set_request('ville', '');
     207                                set_request('region', '');
     208                                set_request('pays', '');
     209                        } elseif (($lat = _request('lat')) && ($lon = _request('lon')) && ($gis_afficher = _request('gis_afficher'))) {
    195210                                include_spip('action/editer_gis');
    196211                                // On crée l'array pour l'update et pour la création des coordonnées
     
    212227                                        'pays' => _request('pays')
    213228                                );
    214                                 if(!intval($id_gis))
     229                                if (!intval($id_gis)) {
    215230                                        $id_gis = insert_gis();
    216        
    217                                 if(isset($datas['lon'])){
    218                                         if($datas['lon'] > 180){
    219                                                 while($datas['lon'] > 180){
     231                                }
     232
     233                                if (isset($datas['lon'])) {
     234                                        if ($datas['lon'] > 180) {
     235                                                while ($datas['lon'] > 180) {
    220236                                                        $datas['lon'] = $datas['lon'] - 360;
    221237                                                }
    222                                         }else if($datas['lon'] <= -180){
    223                                                 while($datas['lon'] <= -180){
     238                                        } elseif ($datas['lon'] <= -180) {
     239                                                while ($datas['lon'] <= -180) {
    224240                                                        $datas['lon'] = $datas['lon'] + 360;
    225241                                                }
    226242                                        }
    227243                                }
    228                                 if(isset($datas['lat'])){
    229                                         if($datas['lat'] > 90){
    230                                                 while($datas['lat'] > 90){
     244                                if (isset($datas['lat'])) {
     245                                        if ($datas['lat'] > 90) {
     246                                                while ($datas['lat'] > 90) {
    231247                                                        $datas['lat'] = $datas['lat'] - 180;
    232248                                                }
    233                                         }else if($datas['lat'] <= -90){
    234                                                 while($datas['lat'] <= -90){
     249                                        } elseif ($datas['lat'] <= -90) {
     250                                                while ($datas['lat'] <= -90) {
    235251                                                        $datas['lat'] = $datas['lon'] + 180;
    236252                                                }
    237253                                        }
    238254                                }
    239                                 sql_updateq('spip_gis',$datas,'id_gis='.intval($id_gis));
    240                                 if($objet && $id_objet)
     255                                sql_updateq('spip_gis', $datas, 'id_gis='.intval($id_gis));
     256                                if ($objet && $id_objet) {
    241257                                        lier_gis($id_gis, $objet, $id_objet);
    242                         }
    243                         set_request('gis_afficher',$gis_afficher);
     258                                }
     259                        }
     260                        set_request('gis_afficher', $gis_afficher);
    244261                }
    245262        }
     
    249266/**
    250267 * Insertion dans le pipeline diogene_objets (plugin Diogene)
    251  * 
    252  * On ajoute la possibilité d'avoir une partie de formulaire pour gis pour les articles, les rubriques, 
     268 *
     269 * On ajoute la possibilité d'avoir une partie de formulaire pour gis pour les articles, les rubriques,
    253270 * les pages spécifiques et emballe_medias
    254  * 
    255  * @param array $flux 
     271 *
     272 * @param array $flux
    256273 *              Le contexte du flux
    257  * @return array $flux 
     274 * @return array $flux
    258275 *              Le contexte du flux modifié
    259276 */
    260 function diogene_geo_diogene_objets($flux){
    261         if(defined('_DIR_PLUGIN_GIS')){
     277function diogene_geo_diogene_objets($flux) {
     278        if (defined('_DIR_PLUGIN_GIS')) {
    262279                $flux['article']['champs_sup']['geo'] = $flux['rubrique']['champs_sup']['geo'] = _T('diogene_geo:form_legend');
    263                 if(defined('_DIR_PLUGIN_PAGES'))
     280                if (defined('_DIR_PLUGIN_PAGES')) {
    264281                        $flux['page']['champs_sup']['geo'] = _T('diogene_geo:form_legend');
     282                }
    265283        }
    266284        return $flux;
     
    269287/**
    270288 * Insertion dans le pipeline diogene_champs_texte (plugin Diogene)
    271  * 
    272  * On ajoute dans le formulaire d'édition de diogène la possibilité 
    273  * de demander de cacher la carte par défaut car elle prend beaucoup de place 
     289 *
     290 * On ajoute dans le formulaire d'édition de diogène la possibilité
     291 * de demander de cacher la carte par défaut car elle prend beaucoup de place
    274292 * (utile pour les sites qui ne sont pas basés sur la géolocalisation d'objets)
    275  * 
    276  * @param array $flux 
     293 *
     294 * @param array $flux
    277295 *              Le contexte du flux
    278  * @return array $flux 
     296 * @return array $flux
    279297 *              Le contexte du flux modifié
    280298 */
    281 function diogene_geo_diogene_champs_texte($flux){
    282         if(defined('_DIR_PLUGIN_GIS') && in_array($flux['args']['objet'],array('article','page','emballe_media')))
    283                 $flux['data'] .= recuperer_fond('formulaires/diogene_geo_cacher',$flux['args']);
    284         return $flux;
    285 }
    286 
    287 function diogene_geo_diogene_champs_pre_edition($array){
    288         if(defined('_DIR_PLUGIN_GIS')){
     299function diogene_geo_diogene_champs_texte($flux) {
     300        if (defined('_DIR_PLUGIN_GIS') && in_array($flux['args']['objet'], array('article','page','emballe_media'))) {
     301                $flux['data'] .= recuperer_fond('formulaires/diogene_geo_cacher', $flux['args']);
     302        }
     303        return $flux;
     304}
     305
     306function diogene_geo_diogene_champs_pre_edition($array) {
     307        if (defined('_DIR_PLUGIN_GIS')) {
    289308                $array[] = 'geo_cacher';
    290309                $array[] = 'geo_forcer_existant';
     
    295314/**
    296315 * Insertion dans le pipeline em_post_upload_medias (plugin Emballe médias)
    297  * 
    298  * Dans le cas des documents mis en ligne par emballe medias, 
     316 *
     317 * Dans le cas des documents mis en ligne par emballe medias,
    299318 * si on a récupéré une géolocalisation associée au document,
    300  * on l'ajoute à l'article également 
    301  * 
    302  * @param array $flux 
     319 * on l'ajoute à l'article également
     320 *
     321 * @param array $flux
    303322 *              Le contexte du flux
    304  * @param array $flux 
     323 * @param array $flux
    305324 *              Le contexte du flux sans modification
    306325 */
    307 function diogene_geo_em_post_upload_medias($flux){
    308         if(defined('_DIR_PLUGIN_GIS')){
     326function diogene_geo_em_post_upload_medias($flux) {
     327        if (defined('_DIR_PLUGIN_GIS')) {
    309328                /**
    310329                 * Si on reçoit un id_gis_meta dans l'environnement,
     
    312331                 * dans spipmotion par exemple (par metadata/video.php)
    313332                 */
    314                 if(_request('id_gis_meta')){
     333                if (_request('id_gis_meta')) {
    315334                        $id_gis = intval(_request('id_gis_meta'));
    316335                        lier_gis($id_gis, 'document', $flux['args']['id_document']);
    317                 }else{
    318                         $id_gis = sql_getfetsel('id_gis','spip_gis_liens','objet='.sql_quote('document').' AND id_objet='.intval($flux['args']['id_document']));
    319                 }
    320                 if(intval($id_gis)){
     336                } else {
     337                        $id_gis = sql_getfetsel('id_gis', 'spip_gis_liens', 'objet='.sql_quote('document').' AND id_objet='.intval($flux['args']['id_document']));
     338                }
     339                if (intval($id_gis)) {
    321340                        include_spip('action/editer_gis');
    322                         sql_delete('spip_gis_liens','objet='.sql_quote($flux['args']['objet']).' AND id_objet='.intval($flux['args']['id_objet']));
     341                        sql_delete('spip_gis_liens', 'objet='.sql_quote($flux['args']['objet']).' AND id_objet='.intval($flux['args']['id_objet']));
    323342                        lier_gis($id_gis, $flux['args']['objet'], $flux['args']['id_objet']);
    324                         set_request('position_auto',true);
    325                 }
    326         }
    327         return $flux;
    328 }
    329 ?>
     343                        set_request('position_auto', true);
     344                }
     345        }
     346        return $flux;
     347}
  • _plugins_/diogene/diogene_complements/diogene_gerer_auteurs/trunk/diogene_gerer_auteurs_pipelines.php

    r87594 r97999  
    1313 **/
    1414
    15 if (!defined("_ECRIRE_INC_VERSION")) return;
     15if (!defined('_ECRIRE_INC_VERSION')) {
     16        return;
     17}
    1618
    1719/**
    1820 * Insertion dans le pipeline diogene_ajouter_saisies (Diogène)
    19  * 
     21 *
    2022 * On ajoute la partie du formulaire concernant les auteurs si nécessaire
    21  * 
    22  * @param array $flux 
     23 *
     24 * @param array $flux
    2325 *      Le contexte du pipeline
    24  * @return array $flux 
     26 * @return array $flux
    2527 *      Le contexte modifié passé aux suivants
    2628 */
    27 function diogene_gerer_auteurs_diogene_ajouter_saisies($flux){
    28         if(is_array(unserialize($flux['args']['champs_ajoutes'])) && in_array('auteurs',unserialize($flux['args']['champs_ajoutes']))){
     29function diogene_gerer_auteurs_diogene_ajouter_saisies($flux) {
     30        if (is_array(unserialize($flux['args']['champs_ajoutes']))
     31                and in_array('auteurs', unserialize($flux['args']['champs_ajoutes']))) {
    2932                $objet = $flux['args']['type'];
    3033                $id_table_objet = id_table_objet($flux['args']['type']);
     
    3235                $auteur_uniques = array();
    3336
    34                 if(is_numeric($id_objet) && intval($id_objet) > 0){
     37                if (is_numeric($id_objet) && intval($id_objet) > 0) {
    3538                        include_spip('inc/autoriser');