Changeset 49091 in spip-zone


Ignore:
Timestamp:
Jun 27, 2011, 4:44:20 PM (10 years ago)
Author:
marcimat@…
Message:

Premières modifications (non fonctionnelles) pour migrer vers SPIP 3

Location:
_plugins_/champs_extras
Files:
1 added
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/champs_extras/core/trunk/base/cextras.php

    r32316 r49091  
    22if (!defined("_ECRIRE_INC_VERSION")) return;
    33
    4 function cextras_declarer_tables_principales($tables_principales){
    5         // declarer que le pipeline de declaration est bien actif
    6         define('_CHAMPS_EXTRAS_DECLARES', true);
    7        
     4
     5/*
     6 * Déclarer les nouveaux champs et
     7 * les nouvelles infos des objets éditoriaux
     8 */
     9function cextras_declarer_tables_objets_sql($tables){
     10
    811        // pouvoir utiliser la class ChampExtra
    912        include_spip('inc/cextras');
    10 
    11         // lors du renouvellement de l'alea, au demarrage de SPIP
    12         // les chemins de plugins ne sont pas encore connus.
    13         // il faut se mefier et charger tout de meme la fonction, sinon page blanche.
    14         if (!function_exists('declarer_champs_extras')) {
    15                 include_once(dirname(__file__).'/../inc/cextras.php');
    16         }
    1713       
    1814        // recuperer les champs crees par les plugins
    1915        $champs = pipeline('declarer_champs_extras', array());
    20 
    21         // ajouter les champs au tableau spip
    22         return declarer_champs_extras($champs, $tables_principales);
     16       
     17        // ajoutons les champs un par un
     18        foreach ($champs as $c){
     19                $table = $c->_table_sql;
     20                if (isset($tables[$table]) and $c->champ and $c->sql) {
     21                        $tables[$table]['field'][$c->champ] = $c->sql;
     22                        // ajouter le champ dans la fonction de recherche de SPIP
     23                        if ($c->rechercher) {
     24                                // priorite 2 par defaut, sinon sa valeur.
     25                                // Plus le chiffre est grand, plus les points de recherche
     26                                // attribues pour ce champ seront eleves
     27                                if ($c->rechercher === true
     28                                OR  $c->rechercher === 'oui'
     29                                OR  $c->rechercher === 'on') {
     30                                        $priorite = 2;
     31                                } else {
     32                                        $priorite = intval($c->rechercher);
     33                                }
     34                                if ($priorite) {
     35                                        $tables[$table]['rechercher_champs'][$c->champ] = $priorite;
     36                                }
     37                        }
     38                }
     39        }
     40       
     41        return $tables;
    2342}
    2443
    2544
    26 
     45/**
     46 * Déclarer les nouvelles infos sur les champs extras ajoutés
     47 * en ce qui concerne les traitements automatiques sur les balises.
     48 *
     49**/
    2750function cextras_declarer_tables_interfaces($interface){
    2851
     
    3356        $champs = pipeline('declarer_champs_extras', array());
    3457
     58        // ajoutons les filtres sur les champs
     59        foreach ($champs as $c){
     60                if ($c->traitements and $c->champ and $c->sql) {
     61                        $tobjet = $c->_objet;
     62                        $balise = strtoupper($c->champ);
     63                        // definir
     64                        if (!isset($interface['table_des_traitements'][$balise])) {
     65                                $interface['table_des_traitements'][$balise] = array();
     66                        }
     67                        // le traitement peut etre le nom d'un define
     68                        $traitement = defined($c->traitements) ? constant($c->traitements) : $c->traitements;
     69                        $interface['table_des_traitements'][$balise][$tobjet] = $traitement;
     70                }
     71        }
    3572        // ajouter les champs au tableau spip
    36         return declarer_champs_extras_interfaces($champs, $interface);
     73        return $interface;
    3774}
    3875
  • _plugins_/champs_extras/core/trunk/cextras_options.php

    r46787 r49091  
    11<?php
    2         // definir ce pipeline, sans ecraser sa valeur s'il existe
    3   if(!isset($GLOBALS['spip_pipeline']['declarer_champs_extras']))
    4     $GLOBALS['spip_pipeline']['declarer_champs_extras'] = "";
    5   if(!isset($GLOBALS['spip_pipeline']['objets_extensibles']))
    6     $GLOBALS['spip_pipeline']['objets_extensibles'] = "";
    7        
     2
    83        // utiliser ce pipeline a part
    94        // afin d'etre certain d'arriver apres les autres plugins
    105        // sinon toutes les tables ne sont pas declarees
    116        // et les champs supplementaires ne peuvent pas se declarer comme il faut
    12         $GLOBALS['spip_pipeline']['declarer_tables_principales'] .= '||cextras_declarer_champs_apres_les_autres';
    13         function cextras_declarer_champs_apres_les_autres($tables_principales) {
     7        $GLOBALS['spip_pipeline']['declarer_tables_objets_sql'] .= '||cextras_declarer_champs_apres_les_autres';
     8        function cextras_declarer_champs_apres_les_autres($tables) {
    149                include_spip('base/cextras');
    15                 return cextras_declarer_tables_principales($tables_principales);
     10                return cextras_declarer_tables_objets_sql($tables);
    1611        }
    1712        $GLOBALS['spip_pipeline']['declarer_tables_interfaces'] .= '||cextras_declarer_champs_interfaces_apres_les_autres';
  • _plugins_/champs_extras/core/trunk/cextras_pipelines.php

    r45378 r49091  
    2020        }
    2121        return $enums; 
    22 }
    23 
    24 // Creer les item d'un select a partir des enum
    25 function cextras_enum($enum, $val='', $type='valeur', $name='', $class='') {
    26 
    27         // transformer la saisie utilisateur en tableau
    28         $enums = cextras_enum_array($enum);
    29 
    30         $val_t = explode(',', $val);
    31         $class = $class ? " class='$class'" : '';
    32         foreach($enums as $cle => $desc) {
    33                 switch($type) {
    34                         case 'valeur':
    35                                 $enums[$cle] =
    36                                         ($cle == $val
    37                                         OR in_array($cle, $val_t))
    38                                                 ? sinon(sinon($desc,$cle),_T('cextras:cextra_par_defaut'))
    39                                                 : '';
    40                                 break;
    41                         case 'option':
    42                                 $enums[$cle] = '<option value="'.entites_html($cle).'"'
    43                                         . ($cle == $val
    44                                                 ? " selected='selected'"
    45                                                 : ''
    46                                         ) .'> '.sinon(sinon($desc,$cle),_T('cextras:cextra_par_defaut'))
    47                                         .'</option>'
    48                                         ."\n";
    49                                 break;
    50                         case 'radio':
    51                                 $enums[$cle] = "<div class='choix'><input type='radio' name='$name'$class id='${name}_$cle' value=\"".entites_html($cle).'"'
    52                                         . ($cle == $val
    53                                                 ? " checked='checked'"
    54                                                 : ''
    55                                         ) ."><label for='${name}_$cle'>"
    56                                         . sinon(sinon($desc,$cle),_T('cextras:cextra_par_defaut'))
    57                                         .'</label></div>'
    58                                         ."\n";
    59                                 break;
    60                         case 'cases':
    61                                 $enums[$cle] = "<div class='choix'><input type='checkbox' name='${name}[]'$class id='${name}_$cle' value=\"".entites_html($cle).'"'
    62                                         . (in_array($cle, $val_t)
    63                                                 ? " checked='checked'"
    64                                                 : ''
    65                                         ) ." /><label for='${name}_$cle'>"
    66                                         . sinon(sinon($desc,$cle),_T('cextras:cextra_par_defaut'))
    67                                         .'</label></div>'
    68                                         ."\n";
    69                                 break;
    70                 }
    71         }
    72 
    73         return trim(join("\n", $enums));
    7422}
    7523
     
    10351
    10452
    105 // recuperation d'une saisie interne
    106 function ce_calculer_saisie_interne($c, $contexte, $prefixe='') {
    107         // le contexte possede deja l'entree SQL,
    108         // calcule par le pipeline formulaire_charger.
    109         $contexte = cextras_creer_contexte($c, $contexte, $prefixe);
    110 
    111         // calculer le bon squelette et l'ajouter
    112         if (!find_in_path(
    113         ($f = 'extra-saisies/'.$c->type).'.html')) {
    114                 // si on ne sait pas, on se base sur le contenu
    115                 // pour choisir ligne ou bloc
    116                 $f = strstr($contexte[$prefixe . $c->champ], "\n")
    117                         ? 'extra-saisies/bloc'
    118                         : 'extra-saisies/ligne';
    119         }
    120         return array($f, $contexte);
    121 }
    122 
    12353
    12454// en utilisant le plugin "saisies"
    125 function ce_calculer_saisie_externe($c, $contexte, $prefixe='') {
     55function ce_calculer_saisie($c, $contexte, $prefixe='') {
    12656       
    12757        $nom_champ = $prefixe . $c->champ;
     
    265195                        {
    266196
    267                                 if ($c->saisie_externe) {
    268                                         list($f, $contexte) = ce_calculer_saisie_externe($c, $flux['args']['contexte'], $prefixe);
    269                                 } else {
    270                                         list($f, $contexte) = ce_calculer_saisie_interne($c, $flux['args']['contexte'], $prefixe);
    271                                 }
     197                                list($f, $contexte) = ce_calculer_saisie($c, $flux['args']['contexte'], $prefixe);
     198
    272199                                // Si un prefixe de champ est demande par le pipeline
    273200                                // par exemple pour afficher et completer un objet différent dans
     
    341268
    342269                                $contexte = cextras_creer_contexte($c, $contexte);
    343                                 $saisie_externe = false;
    344                                
     270
    345271                                // calculer le bon squelette et l'ajouter
    346                                 if($c->saisie_externe && find_in_path(
    347                                 ($f = 'saisies-vues/'.$c->type).'.html')){
     272                                if (!find_in_path(($f = 'saisies-vues/'.$c->type).'.html')) {
     273                                        extras_log("Vue de saisie non trouvee pour $c->type", true);
     274                                } else {
    348275                                        $contexte['valeur'] = $contexte[$c->champ];
    349276                                        // ajouter les listes d'éléments possibles
     
    360287                                                $contexte['valeur'] = explode(',', $contexte['valeur']);
    361288                                        }
    362                                                
    363                                         $saisie_externe = true;
    364                                 }
    365                                 else if (!find_in_path(
    366                                 ($f = 'extra-vues/'.$c->type).'.html')) {
    367                                         // si on ne sait pas, on se base sur le contenu
    368                                         // pour choisir ligne ou bloc
    369                                         $f = strstr($contexte[$c->champ], "\n")
    370                                                 ? 'extra-vues/bloc'
    371                                                 : 'extra-vues/ligne';
    372                                 }
    373                                 $extra = recuperer_fond($f, $contexte);
    374                                 if($saisie_externe){
     289                                       
     290                                        $extra = recuperer_fond($f, $contexte);
    375291                                        $extra = '<div class="'.$c->champ.'"><strong>'._T($c->label).'</strong>'.$extra.'</div>';
    376                                 }
    377                                 $flux['data'] .= "\n".$extra;
     292                                       
     293                                        $flux['data'] .= "\n".$extra;
     294                                }
    378295                        }
    379296                }
     
    444361
    445362
    446 // prendre en compte les champs extras 2 dans les recherches
    447 // pour les champs qui le demandent
    448 function cextras_rechercher_liste_des_champs($tables){
    449         if ($champs = pipeline('declarer_champs_extras', array())) {
    450                 $t = array();
    451                 // trouver les tables/champs a rechercher
    452                 foreach ($champs as $c) {
    453                         if ($c->rechercher) {
    454                                 // priorite 2 par defaut, sinon sa valeur.
    455                                 // Plus le chiffre est grand, plus les points de recherche
    456                                 // attribues pour ce champ seront eleves
    457                                 if ($c->rechercher === true
    458                                 OR  $c->rechercher === 'oui'
    459                                 OR  $c->rechercher === 'on') {
    460                                         $priorite = 2;
    461                                 } else {
    462                                         $priorite = intval($c->rechercher);
    463                                 }
    464                                 if ($priorite) {
    465                                         $t[$c->_type][$c->champ] = $priorite;
    466                                 }
    467                         }
    468                 }
    469                 // les ajouter
    470                 if ($t) {
    471                         $tables = array_merge_recursive($tables, $t);
    472                 }
    473         }
    474         return $tables;
    475 }
    476 
    477363
    478364?>
  • _plugins_/champs_extras/core/trunk/inc/cextras.php

    r45360 r49091  
    2323        var $_table_sql = ''; // spip_rubriques
    2424
    25         // experimental (avec saisies)
    26         var $saisie_externe = false;
     25
    2726        var $saisie_parametres = array();
    2827                /*
     
    8988
    9089
    91 function declarer_champs_extras($champs, $tables){
    92         // ajoutons les champs un par un
    93         foreach ($champs as $c){
    94                 $table = $c->_table_sql;
    95                 if (isset($tables[$table]) and $c->champ and $c->sql) {
    96                         $tables[$table]['field'][$c->champ] = $c->sql;
    97                 }
    98         }
    99         return $tables;
    100 }
    101 
    102 
    103 function declarer_champs_extras_interfaces($champs, $interface){
    104         // ajoutons les filtres sur les champs
    105         foreach ($champs as $c){
    106                 if ($c->traitements and $c->champ and $c->sql) {
    107                         $tobjet = $c->_objet;
    108                         $balise = strtoupper($c->champ);
    109                         // definir
    110                         if (!isset($interface['table_des_traitements'][$balise])) {
    111                                 $interface['table_des_traitements'][$balise] = array();
    112                         }
    113                         // le traitement peut etre le nom d'un define
    114                         $traitement = defined($c->traitements) ? constant($c->traitements) : $c->traitements;
    115                         $interface['table_des_traitements'][$balise][$tobjet] = $traitement;
    116                 }
    117         }
    118         return $interface;
    119 }
    120 
    121 
    12290/**
    12391 * Log une information si l'on est en mode debug
  • _plugins_/champs_extras/core/trunk/inc/cextras_autoriser.php

    r44742 r49091  
    22if (!defined("_ECRIRE_INC_VERSION")) return;
    33
    4 // mes_fonctions peut aussi declarer des autorisations, donc il faut donc le charger
    5 // en 2.1, c'est deja fait dans inc/autoriser.
    6 // en 2.0, c'est include ($f) au lieu de include_once dans public/parametrer...
    7 // du coup, on appelle directement ce fichier pour eviter des plantages.
    8 include_spip('public/parametrer');
    9 
     4// mes_fonctions peut aussi declarer des autorisations
    105
    116// fonction pour le pipeline autoriser
     
    155150                $table = table_objet_sql($objet);
    156151                $id_table = id_table_objet($table);
    157                 $trouver_table = charger_fonction('trouver_table', 'base');
    158                 $desc = $trouver_table( table_objet($table) );
     152                include_spip('base/objets');
     153                $desc = lister_tables_objets_sql($table);
    159154                if (isset($desc['field'][$_id_cible])) {
    160155                        $id_cible = sql_getfetsel($_id_cible, $table, "$id_table=".sql_quote($id_objet));
  • _plugins_/champs_extras/core/trunk/inc/cextras_gerer.php

    r43287 r49091  
    33
    44include_spip('inc/cextras');
    5 
    6 // mettre 'true' pour autoriser l'utilisation
    7 // les saisies du plugin SAISIES
    8 // en plus de celles de 'extra-saisies/'
    9 // (experimental)
    10 define('_CHAMPS_EXTRAS_SAISIES_EXTERNES', false);
    115
    126// retourne la liste des objets valides utilisables par le plugin
     
    159       
    1610        $objets = array();
    17        
    18         $objets_extensibles = pipeline("objets_extensibles", array(
    19                 'article'     => _T('cextras:table_article'),
    20                 'auteur'      => _T('cextras:table_auteur'),
    21                 'breve'       => _T('cextras:table_breve'),
    22                 'groupes_mot' => _T('cextras:table_groupes_mot'),
    23                 'mot'         => _T('cextras:table_mot'),
    24                 'rubrique'    => _T('cextras:table_rubrique'),
    25                 'site'        => _T('cextras:table_site')
    26         ));
    27         ksort($objets_extensibles);
    28        
    29         foreach ($objets_extensibles as $objet => $traduction) {
    30                 $objets[$objet] = array(
    31                         'table' => table_objet_sql($objet),
    32                         'type' => objet_type(table_objet($objet)),
    33                         'nom' => $traduction,
    34                 );
    35         }
    36 
     11        $tables = lister_tables_objets_sql();
     12        ksort($tables);
     13       
     14        foreach($tables as $table => $desc) {
     15                if ($tables['principale'] == 'oui') {
     16                        $objets[$table] = $desc;
     17                }
     18        }
    3719        return $objets;
    3820}
     
    4224function cextras_objets_valides_boucle_pour(){
    4325        $objets = array();
    44         foreach(cextras_objets_valides() as $objet) {
    45                 $objets[$objet['type']] = $objet['nom'];
     26        foreach(lister_tables_objets_sql() as $table => $desc) {
     27                $objets[ $desc['type'] ] = $desc['texte_objets'];
    4628        }
    4729        return $objets;
     
    5436function cextras_types_formulaires(){
    5537        $types = array();
    56        
    57         // saisies de ce plugin
    58         $saisies = find_all_in_path('extra-saisies/','.*\.html$');
    59         $noms = array();
    60         foreach($saisies as $saisie) {
    61                 $type = basename($saisie,'.html');
    62                 $noms['interne/'.$type] = _T('cextras:type', array('type' => $type));
    63         }
    64         $types[_T('iextras:saisies_champs_extras')] = $noms;
    65 
    66                
    67         if (_CHAMPS_EXTRAS_SAISIES_EXTERNES) {
    68                 // plugin saisies (attention au chemin "/saisies/saisies/_base.html")
    69                 $saisies = find_all_in_path('saisies/','/([^_/]{1}[^/]*)\.html$');
    70                 $noms = array();
    71                 foreach($saisies as $saisie) {
    72                         $type = basename($saisie,'.html');
    73                         $noms['externe/'.$type] = _T('cextras:type', array('type' => $type));
    74                 }
    75                 $types[_T('iextras:saisies_saisies')] = $noms;
     38        include_spip('inc/saisies');
     39        foreach(saisies_lister_disponibles() as $saisie => $desc) {
     40                $types[$saisie] = $desc['titre'];
    7641        }
    7742
     
    12792        }
    12893       
     94       
    12995        // on met a jour les tables trouvees
    13096        // recharger les tables principales et auxiliaires
     97/*
    13198        include_spip('base/serial');
    13299        include_spip('base/auxiliaires');
     
    134101        base_serial($tables_principales);
    135102        base_auxiliaires($tables_auxiliaires);
     103*/
    136104       
    137105        // inclure les champs extras declares ALORS que le pipeline
     
    139107        // en meme temps CE2 et un plugin dependant
    140108        // et non l'un apres l'autre
     109/*
    141110        if (!defined('_CHAMPS_EXTRAS_DECLARES')) {
    142111                include_spip('base/cextras');
    143112                $tables_principales = cextras_declarer_tables_principales($tables_principales);
    144113        }
    145 
     114*/
    146115        // executer la mise a jour
    147116        include_spip('base/create');
     
    206175        $tout = extras_champs_anormaux($connect);
    207176        $objets = cextras_objets_valides();
    208 
    209         $tables_utilisables = array();
    210         foreach ($objets as $o){$tables_utilisables[] = $o['table'];}
    211         foreach ($tout as $table=>$champs) {
    212                 if (!in_array($table, $tables_utilisables)) {
    213                         unset($tout[$table]);
    214                 }
    215         }
    216         return $tout;
     177        return array_diff_key($tout, $objets);
    217178}
    218179
     
    220181// (aucune garantie que $connect autre que la connexion principale fasse quelque chose)
    221182function extras_champs_anormaux($connect='') {
    222         // recuperer les tables et champs accessibles
     183        // recuperer les tables et champs de la base de donnees
     184        // les vrais de vrai dans la base sql...
    223185        $tout = extras_base($connect);
    224186
    225187        // recuperer les champs SPIP connus
    226         include_spip('base/auxiliaires');
    227         include_spip('base/serial');
    228         $tables_spip = array_merge($GLOBALS['tables_principales'], $GLOBALS['tables_auxiliaires']);
     188        // si certains ne sont pas declares alors qu'ils sont presents
     189        // dans la base sql, on pourra proposer de les utiliser comme champs
     190        // extras (plugin interface).
     191        include_spip('base/objets');
     192        $tables_spip = lister_tables_objets_sql();
    229193
    230194        // chercher ce qui est different
     
    291255}
    292256
    293 
    294 /** fonctions non utilisees du futur defunt plugin extras2 **
    295 
    296 // Liste les connexions disponibles dans config/
    297 function extras_connexions() {
    298         $connexions = array();
    299         foreach(preg_files(_DIR_CONNECT.'.*[.]php$') as $fichier) {
    300                 if (lire_fichier($fichier, $contenu)
    301                 AND strpos($contenu, 'spip_connect_db')
    302                 )
    303                         $connexions[] = basename($fichier, '.php');
    304         }
    305 
    306         return $connexions;
    307 }
    308 
    309 
    310 // etablit la liste de tous les champs de toutes les tables de toutes les bases dispos
    311 function extras_tout() {
    312         $champs = array();
    313         foreach(extras_connexions() as $connect)
    314                 foreach (extras_tables($connect) as $table)
    315                         $champs[$connect][$table] = extras_champs($table, $connect);
    316 
    317         return $champs;
    318 }
    319 */
    320257?>
  • _plugins_/champs_extras/core/trunk/lang/cextras_fr.php

    r44151 r49091  
    88        'pas_auteur' => 'pas d\'auteur',
    99       
    10         //T
    11         'table_article' => 'Articles',
    12         'table_auteur' => 'Auteurs',
    13         'table_breve' => 'Breves',
    14         'table_groupes_mot' => 'Groupes de mots',
    15         'table_mot' => 'Mots',
    16         'table_rubrique' => 'Rubriques',
    17         'table_site' => 'Sites',
    1810       
    1911        'type' => '@type@',
  • _plugins_/champs_extras/core/trunk/plugin.xml

    r45360 r49091  
    11<plugin>
    2         <nom><multi>[fr]Champs Extras2[de]Zusatzfelder 2[en]Extra fields 2[it]Campi Extra 2</multi></nom>
     2        <nom><multi>[fr]Champs Extras[de]Zusatzfelder[en]Extra fields[it]Campi Extra</multi></nom>
    33        <auteur>Matthieu Marcillaud, Fil</auteur>
    44        <licence>GNU/GPL</licence>
    5         <version>1.9.0</version>
     5        <version>2.0.0-dev</version>
    66        <icon>images/cextras-64.png</icon>
    77        <description>
     
    1414        </description>
    1515        <lien>http://www.spip-contrib.net/Champs-Extras-2</lien>
    16         <etat>test</etat>
     16        <etat>dev</etat>
    1717        <prefix>cextras</prefix>
    1818        <options>cextras_options.php</options>
    1919        <fonctions>cextras_balises.php</fonctions>
    2020        <necessite id="SPIP" version="[2.0;]" />
     21       
     22        <!-- declaration de pipeline -->
     23        <pipeline><nom>declarer_champs_extras</nom><action></action></pipeline>
     24       
    2125        <pipeline>
    2226                <nom>autoriser</nom>
    2327                <inclure>inc/cextras_autoriser.php</inclure>
    2428        </pipeline>     
    25         <!--
     29
     30<!--
    2631        <pipeline>
    27                 <nom>declarer_tables_principales</nom>
     32                <nom>declarer_tables_objets_sql</nom>
    2833                <inclure>base/cextras.php</inclure>
    2934        </pipeline>     
    30         -->
     35-->
     36
    3137        <pipeline>
    3238                <nom>editer_contenu_objet</nom>
     
    3743                <inclure>cextras_pipelines.php</inclure>
    3844        </pipeline>     
     45       
    3946        <pipeline>
    4047                <nom>pre_edition</nom>
     
    4552                <inclure>cextras_pipelines.php</inclure>
    4653        </pipeline>     
    47         <pipeline>
    48                 <nom>rechercher_liste_des_champs</nom>
    49                 <inclure>cextras_pipelines.php</inclure>
    50         </pipeline>     
     54
    5155        <categorie>outil</categorie>
     56       
     57        <necessite id="saisies" version="[1.9.0;]" />
    5258</plugin>
  • _plugins_/champs_extras/interface/trunk/exec/iextras.php

    r31491 r49091  
    4343        include_spip('inc/cextras_gerer');
    4444        echo recuperer_fond('prive/contenu/champs_extras', array(
    45                 'extras'=>iextras_get_extras_par_table(),
    46                 'noms_tables'=>cextras_objets_valides()
     45                'extras'=>iextras_get_extras_par_table()
    4746        ));
    4847        echo recuperer_fond('prive/contenu/champs_extras_possibles', array(
    49                 'extras'=>extras_champs_utilisables(),
    50                 'noms_tables'=>cextras_objets_valides()
     48                'extras'=>extras_champs_utilisables()
    5149        ));
    5250                       
  • _plugins_/champs_extras/interface/trunk/formulaires/editer_champ_extra.html

    r41643 r49091  
    2727                                explication=<:iextras:precisions_pour_label:>,
    2828                                obligatoire=oui})]
    29                         [(#SAISIE{selection_par_groupe,type,
     29                        [(#SAISIE{selection,type,
    3030                                label=<:iextras:label_type:>,
    3131                                obligatoire=oui,
     
    7979                                explication=<:iextras:precisions_pour_explication:>})]
    8080
    81 [(#VAL{_CHAMPS_EXTRAS_SAISIES_EXTERNES}|defined|et{#EVAL{_CHAMPS_EXTRAS_SAISIES_EXTERNES}})
     81
    8282                        [(#SAISIE{input,attention,
    8383                                label=<:iextras:label_attention:>,
     
    8787                                label=<:iextras:label_li_class:>,
    8888                                explication=<:iextras:precisions_pour_li_class:>})]
    89 ]
    9089
    9190                        [(#SAISIE{input,class,
  • _plugins_/champs_extras/interface/trunk/formulaires/editer_champ_extra.php

    r44359 r49091  
    3636                        $valeurs['saisie_parametres']['explication'] = $valeurs['precisions'];
    3737                }
    38                 // separer saisies internes a celles du plug "saisies"
    39                 if ($valeurs['saisie_externe']) {
    40                         $valeurs['type'] = 'externe/' . $valeurs['type'];
    41                 } else {
    42                         $valeurs['type'] = 'interne/' . $valeurs['type'];
    43                 }
     38
    4439                // chaque saisie_parametres devient un parametre a charger
    4540                $valeurs = array_merge($valeurs, $valeurs['saisie_parametres']);
     
    108103                unset($extra[$p]);
    109104        }
    110         // type est soit interne, soit externe (plugin saisies)
    111         $extra['saisie_externe'] = (substr($extra['type'],0,7) == 'externe' );
    112         $extra['type'] = substr($extra['type'], 8); // enlever 'externe/' et 'interne/'
    113105
    114106        // recreer le tableau de stockage des extras
  • _plugins_/champs_extras/interface/trunk/plugin.xml

    r43291 r49091  
    99        <auteur>Matthieu Marcillaud, Fil</auteur>
    1010        <licence>GNU/GPL</licence>
    11         <version>1.2.2</version>
     11        <version>2.0.0-dev</version>
    1212        <icon>images/iextras-64.png</icon>
    1313        <description>
     
    2020        <etat>dev</etat>
    2121        <prefix>iextras</prefix>
     22       
    2223        <necessite id="cextras" version="[1.4.5;]" />
    23         <necessite id="spip_bonux" version="[1.2;]" />
    24         <necessite id="saisies" version="[1.6.1;]" />
     24        <necessite id="saisies" version="[1.9.0;]" />
     25        <necessite id="yaml" version="[1.5;]" />
    2526       
    2627        <pipeline>
     
    3334        </pipeline>
    3435       
    35         <onglet id='iextras' parent='configuration'>
    36                 <icone>images/iextras-24.png</icone>
    37                 <titre>iextras:champs_extras</titre>
    38         </onglet>
    3936       
    4037        <bouton id='iextras' parent='bando_configuration'>
  • _plugins_/champs_extras/interface/trunk/prive/contenu/champs_extras.html

    r41902 r49091  
    22[(#CHEMIN{images/iextras-24.png}|debut_cadre_trait_couleur{1, "", <:iextras:liste_des_extras:>})]
    33        <BOUCLE_tables(POUR){tableau #ENV**{extras}}>
    4         <h2>[(#ENV**{noms_tables}|table_valeur{#CLE}|table_valeur{nom})]</h2>
     4        <h2>[(#CLE|table_objet_sql|lister_tables_objets_sql|table_valeur{texte_objets})]</h2>
    55                <B_extras>
    66                <ul class="liste_extras">
    77                <BOUCLE_extras(POUR){tableau #VALEUR}>
    88                        <li>
    9                                 [(#VALEUR|table_valeur{champ})]
    10                                 [<small>&mdash; (#VALEUR|table_valeur{label})</small>]
    11                                 [(type: <tt>(#VALEUR|table_valeur{type})</tt>)]
     9                                [(#VALEUR{champ})]
     10                                [<small>&mdash; (#VALEUR{label})</small>]
     11                                [(type: <tt>(#VALEUR{type})</tt>)]
    1212                                <ul class="actions">
    1313                                [(#TOTAL_BOUCLE|>{1}|oui)
    1414                                        [(#COMPTEUR_BOUCLE|!={1}|oui)
    15                                                 <li><a href="[(#URL_ACTION_AUTEUR{iextras, [monter_extra/(#VALEUR|table_valeur{extra_id})], #SELF})]" title="<:iextras:action_monter_title|attribut_html:>"><:iextras:action_monter:></a></li>
     15                                                <li><a href="[(#URL_ACTION_AUTEUR{iextras, [monter_extra/(#VALEUR{extra_id})], #SELF})]" title="<:iextras:action_monter_title|attribut_html:>"><:iextras:action_monter:></a></li>
    1616                                        ]
    1717                                        [(#COMPTEUR_BOUCLE|!=={#TOTAL_BOUCLE}|oui)
    18                                                 <li><a href="[(#URL_ACTION_AUTEUR{iextras, [descendre_extra/(#VALEUR|table_valeur{extra_id})], #SELF})]" title="<:iextras:action_descendre_title|attribut_html:>"><:iextras:action_descendre:></a></li>                 
     18                                                <li><a href="[(#URL_ACTION_AUTEUR{iextras, [descendre_extra/(#VALEUR{extra_id})], #SELF})]" title="<:iextras:action_descendre_title|attribut_html:>"><:iextras:action_descendre:></a></li>                     
    1919                                        ]
    2020                                ]
    2121                                <li><a href="[(#ENV{url_edit_extra}|sinon{#URL_ECRIRE{iextras_edit}}|parametre_url{extra_id,#VALEUR|table_valeur{extra_id}})]" title="<:iextras:action_modifier_title|attribut_html:>"><:iextras:action_modifier:></a></li>
    22                                 <li><a href="[(#URL_ACTION_AUTEUR{iextras, [desassocier_extra/(#VALEUR|table_valeur{extra_id})], #SELF})]" title="<:iextras:action_desassocier_title|attribut_html:>"><:iextras:action_desassocier:></a></li>
    23                                 <li><a href="[(#URL_ACTION_AUTEUR{iextras, [supprimer_extra/(#VALEUR|table_valeur{extra_id})], #SELF})]" class="supprimer" title="<:iextras:action_supprimer_title|attribut_html:>"><:iextras:action_supprimer:></a></li>
     22                                <li><a href="[(#URL_ACTION_AUTEUR{iextras, [desassocier_extra/(#VALEUR{extra_id})], #SELF})]" title="<:iextras:action_desassocier_title|attribut_html:>"><:iextras:action_desassocier:></a></li>
     23                                <li><a href="[(#URL_ACTION_AUTEUR{iextras, [supprimer_extra/(#VALEUR{extra_id})], #SELF})]" class="supprimer" title="<:iextras:action_supprimer_title|attribut_html:>"><:iextras:action_supprimer:></a></li>
    2424                                </ul>
    2525                        </li>
  • _plugins_/champs_extras/interface/trunk/prive/contenu/champs_extras_possibles.html

    r31491 r49091  
    22[(#CHEMIN{images/iextras-24.png}|debut_cadre_trait_couleur{1, "", <:iextras:liste_des_extras_possibles:>})]
    33        <BOUCLE_tables(POUR){tableau #ENV**{extras}}>
    4         <h2>[(#ENV**{noms_tables}|table_valeur{#CLE|replace{^spip_|s$,''}}|table_valeur{nom})]</h2>
     4        <h2>[(#CLE|lister_tables_objets_sql|table_valeur{texte_objets})]</h2>
    55                <B_extras>
    66                <ul class="liste_extras_possibles">
Note: See TracChangeset for help on using the changeset viewer.