Changeset 32316 in spip-zone
- Timestamp:
- Oct 23, 2009, 11:04:35 PM (11 years ago)
- Location:
- _plugins_/champs_extras2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/champs_extras2/core/base/cextras.php
r32222 r32316 22 22 return declarer_champs_extras($champs, $tables_principales); 23 23 } 24 25 26 27 function cextras_declarer_tables_interfaces($interface){ 28 29 // pouvoir utiliser la class ChampExtra 30 include_spip('inc/cextras'); 31 32 // recuperer les champs crees par les plugins 33 $champs = pipeline('declarer_champs_extras', array()); 34 35 // ajouter les champs au tableau spip 36 return declarer_champs_extras_interfaces($champs, $interface); 37 } 38 39 24 40 ?> -
_plugins_/champs_extras2/core/cextras_options.php
r31076 r32316 13 13 return cextras_declarer_tables_principales($tables_principales); 14 14 } 15 $GLOBALS['spip_pipeline']['declarer_tables_interfaces'] .= '||cextras_declarer_champs_interfaces_apres_les_autres'; 16 function cextras_declarer_champs_interfaces_apres_les_autres($interface) { 17 include_spip('base/cextras'); 18 return cextras_declarer_tables_interfaces($interface); 19 } 15 20 ?> -
_plugins_/champs_extras2/core/cextras_pipelines.php
r32143 r32316 89 89 90 90 91 // recuperation d'une saisie interne 92 function ce_calculer_saisie_interne($c, $contexte) { 93 // le contexte possede deja l'entree SQL, 94 // calcule par le pipeline formulaire_charger. 95 $contexte = cextras_creer_contexte($c, $contexte); 96 97 // calculer le bon squelette et l'ajouter 98 if (!find_in_path( 99 ($f = 'extra-saisies/'.$c->type).'.html')) { 100 // si on ne sait pas, on se base sur le contenu 101 // pour choisir ligne ou bloc 102 $f = strstr($contexte[$c->champ], "\n") 103 ? 'extra-saisies/bloc' 104 : 'extra-saisies/ligne'; 105 } 106 return array($f, $contexte); 107 } 108 109 110 // en utilisant le plugin "saisies" 111 function ce_calculer_saisie_externe($c, $contexte) { 112 113 $contexte['nom'] = $c->champ; 114 $contexte['type_saisie'] = $c->type; 115 if (isset($contexte[$c->champ]) and $contexte[$c->champ]) { 116 $contexte['valeur'] = $contexte[$c->champ]; 117 } 118 119 $opts = $c->toArray(); 120 // remapper les precisions 121 if ($opts['precisions']) { 122 $opts['explication'] = $opts['precisions']; 123 } 124 // traductions a faire 125 foreach (array('label', 'explication', 'attention') as $nom) { 126 if ($opts[$nom]) { 127 $contexte[$nom] = _T($opts[$nom]); 128 } 129 } 130 131 // inutiles dans le contexte 132 unset( $opts['champ'], 133 $opts['type'], 134 $opts['precisions'], 135 $opts['sql'], 136 $opts['rechercher'], 137 // deja dedans 138 $opts['label'], 139 $opts['explication'], 140 $opts['attention']); 141 142 // tout inserer le reste des champs 143 foreach ($opts as $nom=>$val) { 144 if ($val) { 145 $contexte[$nom] = $val; 146 } 147 } 148 149 return array('saisies/_base', $contexte); 150 } 151 152 153 154 91 155 // recuperer en bdd les valeurs des champs extras 92 156 // en une seule requete... … … 147 211 'contexte' => $flux['args']['contexte']))) 148 212 { 149 150 // le contexte possede deja l'entree SQL, 151 // calcule par le pipeline formulaire_charger. 152 $contexte = cextras_creer_contexte($c, $flux['args']['contexte']); 153 $extras[$c->champ] = $contexte[$c->champ]; 154 155 // calculer le bon squelette et l'ajouter 156 if (!find_in_path( 157 ($f = 'extra-saisies/'.$c->type).'.html')) { 158 // si on ne sait pas, on se base sur le contenu 159 // pour choisir ligne ou bloc 160 $f = strstr($contexte[$c->champ], "\n") 161 ? 'extra-saisies/bloc' 162 : 'extra-saisies/ligne'; 213 214 if ($c->saisie_externe) { 215 list($f, $contexte) = ce_calculer_saisie_externe($c, $flux['args']['contexte']); 216 } else { 217 list($f, $contexte) = ce_calculer_saisie_interne($c, $flux['args']['contexte']); 163 218 } 164 219 $saisie = recuperer_fond($f, $contexte); -
_plugins_/champs_extras2/core/inc/cextras.php
r32146 r32316 14 14 15 15 var $_id = ''; // identifiant de ce champ extra 16 17 // experimental (avec saisies) 18 var $saisie_externe = false; 19 var $explication = ''; // message d'explication ! 20 var $attention = ''; // message d'attention ! 21 var $filtres = ''; // _TRAITEMENT_RACCOURCIS , _TRAITEMENT_TYPO 22 var $class = ""; // classes CSS sur l'element 23 var $li_class = ""; // classes CSS sur l'element parent LI 24 16 25 17 26 // constructeur … … 70 79 71 80 81 function declarer_champs_extras_interfaces($champs, $interface){ 82 // ajoutons les filtres sur les champs 83 foreach ($champs as $c){ 84 if ($c->filtres and $c->champ and $c->sql) { 85 $tobjet = table_objet($c->table); 86 $balise = strtoupper($c->champ); 87 // definir 88 if (!isset($interface['table_des_traitements'][$balise])) { 89 $interface['table_des_traitements'][$balise] = array(); 90 } 91 $interface['table_des_traitements'][$balise][$tobjet] = $c->filtres; 92 } 93 } 94 return $interface; 95 } 96 72 97 73 98 /** -
_plugins_/champs_extras2/core/plugin.xml
r32248 r32316 3 3 <auteur>Matthieu Marcillaud, Fil</auteur> 4 4 <licence>GNU/GPL</licence> 5 <version>1. 3.1</version>5 <version>1.4.0</version> 6 6 <description> 7 7 Creer de nouveaux champs aux objets d'édition de SPIP -
_plugins_/champs_extras2/extensions/interface/formulaires/editer_champ_extra.html
r32312 r32316 6 6 #ACTION_FORMULAIRE{#ENV{action}} 7 7 <input type='hidden' name='extra_id' value='#ENV{extra_id}' /> 8 <ul> 8 9 9 #SET{disable,#ENV{new}|?{'',oui}} 10 11 [(#SAISIE{input,champ, 12 label=<:iextras:label_champ:>, 13 explication=<:iextras:caracteres_autorises_champ:>, 14 obligatoire=oui, 15 disable_avec_post=#GET{disable}})] 16 17 [(#SAISIE{selection,table, 18 label=<:iextras:label_table:>, 19 obligatoire=oui, 20 disable_avec_post=#GET{disable}, 21 datas=[(#VAL|cextras_objets_valides_boucle_pour)]})] 10 <fieldset> 11 <h3 class='legend'><:iextras:legend_declaration:></h3> 12 <ul> 13 [(#SAISIE{input,champ, 14 label=<:iextras:label_champ:>, 15 explication=<:iextras:caracteres_autorises_champ:>, 16 obligatoire=oui, 17 disable_avec_post=#GET{disable}})] 22 18 23 [(#SAISIE{input,label, 24 label=<:iextras:label_label:>, 25 explication=<:iextras:precisions_pour_label:>, 26 obligatoire=oui})] 19 [(#SAISIE{selection,table, 20 label=<:iextras:label_table:>, 21 obligatoire=oui, 22 disable_avec_post=#GET{disable}, 23 datas=[(#VAL|cextras_objets_valides_boucle_pour)]})] 27 24 28 [(#SAISIE{input,precisions, 29 label=<:iextras:label_precisions:>, 30 explication=<:iextras:precisions_pour_precisions:>})] 31 32 [(#SAISIE{oui_non,obligatoire, 33 label=<:iextras:label_obligatoire:>, 34 obligatoire=oui})] 35 36 [(#SAISIE{oui_non,rechercher, 37 label=<:iextras:label_rechercher:>, 38 explication=<:iextras:precisions_pour_rechercher:>})] 39 40 [(#SAISIE{selection,type, 41 label=<:iextras:label_type:>, 42 obligatoire=oui, 43 explication=<:iextras:precisions_pour_type:>, 44 datas=[(#VAL|cextras_types_formulaires)]})] 45 46 #SET{defaut,",-vide- 25 [(#SAISIE{input,label, 26 label=<:iextras:label_label:>, 27 explication=<:iextras:precisions_pour_label:>, 28 obligatoire=oui})] 29 30 [(#SAISIE{selection,type, 31 label=<:iextras:label_type:>, 32 obligatoire=oui, 33 explication=<:iextras:precisions_pour_type:>, 34 datas=[(#VAL|cextras_types_formulaires)]})] 35 36 #SET{defaut,",-vide- 47 37 1,valeur 1 48 38 2,valeur 2"} 49 [(#SAISIE{textarea,enum,50 label=<:iextras:label_enum:>,51 explication=<:iextras:precisions_pour_enum:>,52 rows=3,53 defaut=#GET{defaut}})]39 [(#SAISIE{textarea,enum, 40 label=<:iextras:label_enum:>, 41 explication=<:iextras:precisions_pour_enum:>, 42 rows=3, 43 defaut=#GET{defaut}})] 54 44 55 [(#SAISIE{input,sql, 56 label=<:iextras:label_sql:>, 57 obligatoire=oui, 58 disable_avec_post=#GET{disable}})] 45 </ul> 46 </fieldset> 47 <fieldset> 48 <h3 class='legend'><:iextras:legend_options:></h3> 49 <ul> 50 [(#SAISIE{input,precisions, 51 label=<:iextras:label_precisions:>, 52 explication=<:iextras:precisions_pour_precisions:>})] 59 53 60 </ul> 54 [(#SAISIE{oui_non,obligatoire, 55 label=<:iextras:label_obligatoire:>, 56 obligatoire=oui})] 57 58 [(#SAISIE{oui_non,rechercher, 59 label=<:iextras:label_rechercher:>, 60 explication=<:iextras:precisions_pour_rechercher:>})] 61 62 [(#SAISIE{input,sql, 63 label=<:iextras:label_sql:>, 64 obligatoire=oui, 65 disable_avec_post=#GET{disable}})] 66 </ul> 67 </fieldset> 61 68 [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] 62 69 <!--extra--> -
_plugins_/champs_extras2/extensions/interface/lang/iextras_fr.php
r25810 r32316 46 46 'label_table' => 'Objet', 47 47 'label_type' => 'Type de saisie', 48 'legend_declaration' => 'Déclaration', 49 'legend_options' => 'Options', 48 50 'liste_des_extras' => 'Liste des champs extras', 49 51 'liste_des_extras_possibles' => 'Liste des champs présents non gérés',
Note: See TracChangeset
for help on using the changeset viewer.