Changeset 49091 in spip-zone
- Timestamp:
- Jun 27, 2011, 4:44:20 PM (10 years ago)
- 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 2 2 if (!defined("_ECRIRE_INC_VERSION")) return; 3 3 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 */ 9 function cextras_declarer_tables_objets_sql($tables){ 10 8 11 // pouvoir utiliser la class ChampExtra 9 12 include_spip('inc/cextras'); 10 11 // lors du renouvellement de l'alea, au demarrage de SPIP12 // 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 }17 13 18 14 // recuperer les champs crees par les plugins 19 15 $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; 23 42 } 24 43 25 44 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 **/ 27 50 function cextras_declarer_tables_interfaces($interface){ 28 51 … … 33 56 $champs = pipeline('declarer_champs_extras', array()); 34 57 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 } 35 72 // ajouter les champs au tableau spip 36 return declarer_champs_extras_interfaces($champs, $interface);73 return $interface; 37 74 } 38 75 -
_plugins_/champs_extras/core/trunk/cextras_options.php
r46787 r49091 1 1 <?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 8 3 // utiliser ce pipeline a part 9 4 // afin d'etre certain d'arriver apres les autres plugins 10 5 // sinon toutes les tables ne sont pas declarees 11 6 // 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) { 14 9 include_spip('base/cextras'); 15 return cextras_declarer_tables_ principales($tables_principales);10 return cextras_declarer_tables_objets_sql($tables); 16 11 } 17 12 $GLOBALS['spip_pipeline']['declarer_tables_interfaces'] .= '||cextras_declarer_champs_interfaces_apres_les_autres'; -
_plugins_/champs_extras/core/trunk/cextras_pipelines.php
r45378 r49091 20 20 } 21 21 return $enums; 22 }23 24 // Creer les item d'un select a partir des enum25 function cextras_enum($enum, $val='', $type='valeur', $name='', $class='') {26 27 // transformer la saisie utilisateur en tableau28 $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 == $val37 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 == $val44 ? " 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 == $val53 ? " 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));74 22 } 75 23 … … 103 51 104 52 105 // recuperation d'une saisie interne106 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'ajouter112 if (!find_in_path(113 ($f = 'extra-saisies/'.$c->type).'.html')) {114 // si on ne sait pas, on se base sur le contenu115 // pour choisir ligne ou bloc116 $f = strstr($contexte[$prefixe . $c->champ], "\n")117 ? 'extra-saisies/bloc'118 : 'extra-saisies/ligne';119 }120 return array($f, $contexte);121 }122 123 53 124 54 // en utilisant le plugin "saisies" 125 function ce_calculer_saisie _externe($c, $contexte, $prefixe='') {55 function ce_calculer_saisie($c, $contexte, $prefixe='') { 126 56 127 57 $nom_champ = $prefixe . $c->champ; … … 265 195 { 266 196 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 272 199 // Si un prefixe de champ est demande par le pipeline 273 200 // par exemple pour afficher et completer un objet différent dans … … 341 268 342 269 $contexte = cextras_creer_contexte($c, $contexte); 343 $saisie_externe = false; 344 270 345 271 // 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 { 348 275 $contexte['valeur'] = $contexte[$c->champ]; 349 276 // ajouter les listes d'éléments possibles … … 360 287 $contexte['valeur'] = explode(',', $contexte['valeur']); 361 288 } 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); 375 291 $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 } 378 295 } 379 296 } … … 444 361 445 362 446 // prendre en compte les champs extras 2 dans les recherches447 // pour les champs qui le demandent448 function cextras_rechercher_liste_des_champs($tables){449 if ($champs = pipeline('declarer_champs_extras', array())) {450 $t = array();451 // trouver les tables/champs a rechercher452 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 recherche456 // attribues pour ce champ seront eleves457 if ($c->rechercher === true458 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 ajouter470 if ($t) {471 $tables = array_merge_recursive($tables, $t);472 }473 }474 return $tables;475 }476 477 363 478 364 ?> -
_plugins_/champs_extras/core/trunk/inc/cextras.php
r45360 r49091 23 23 var $_table_sql = ''; // spip_rubriques 24 24 25 // experimental (avec saisies) 26 var $saisie_externe = false; 25 27 26 var $saisie_parametres = array(); 28 27 /* … … 89 88 90 89 91 function declarer_champs_extras($champs, $tables){92 // ajoutons les champs un par un93 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 champs105 foreach ($champs as $c){106 if ($c->traitements and $c->champ and $c->sql) {107 $tobjet = $c->_objet;108 $balise = strtoupper($c->champ);109 // definir110 if (!isset($interface['table_des_traitements'][$balise])) {111 $interface['table_des_traitements'][$balise] = array();112 }113 // le traitement peut etre le nom d'un define114 $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 122 90 /** 123 91 * Log une information si l'on est en mode debug -
_plugins_/champs_extras/core/trunk/inc/cextras_autoriser.php
r44742 r49091 2 2 if (!defined("_ECRIRE_INC_VERSION")) return; 3 3 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 10 5 11 6 // fonction pour le pipeline autoriser … … 155 150 $table = table_objet_sql($objet); 156 151 $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); 159 154 if (isset($desc['field'][$_id_cible])) { 160 155 $id_cible = sql_getfetsel($_id_cible, $table, "$id_table=".sql_quote($id_objet)); -
_plugins_/champs_extras/core/trunk/inc/cextras_gerer.php
r43287 r49091 3 3 4 4 include_spip('inc/cextras'); 5 6 // mettre 'true' pour autoriser l'utilisation7 // les saisies du plugin SAISIES8 // en plus de celles de 'extra-saisies/'9 // (experimental)10 define('_CHAMPS_EXTRAS_SAISIES_EXTERNES', false);11 5 12 6 // retourne la liste des objets valides utilisables par le plugin … … 15 9 16 10 $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 } 37 19 return $objets; 38 20 } … … 42 24 function cextras_objets_valides_boucle_pour(){ 43 25 $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']; 46 28 } 47 29 return $objets; … … 54 36 function cextras_types_formulaires(){ 55 37 $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']; 76 41 } 77 42 … … 127 92 } 128 93 94 129 95 // on met a jour les tables trouvees 130 96 // recharger les tables principales et auxiliaires 97 /* 131 98 include_spip('base/serial'); 132 99 include_spip('base/auxiliaires'); … … 134 101 base_serial($tables_principales); 135 102 base_auxiliaires($tables_auxiliaires); 103 */ 136 104 137 105 // inclure les champs extras declares ALORS que le pipeline … … 139 107 // en meme temps CE2 et un plugin dependant 140 108 // et non l'un apres l'autre 109 /* 141 110 if (!defined('_CHAMPS_EXTRAS_DECLARES')) { 142 111 include_spip('base/cextras'); 143 112 $tables_principales = cextras_declarer_tables_principales($tables_principales); 144 113 } 145 114 */ 146 115 // executer la mise a jour 147 116 include_spip('base/create'); … … 206 175 $tout = extras_champs_anormaux($connect); 207 176 $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); 217 178 } 218 179 … … 220 181 // (aucune garantie que $connect autre que la connexion principale fasse quelque chose) 221 182 function 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... 223 185 $tout = extras_base($connect); 224 186 225 187 // 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(); 229 193 230 194 // chercher ce qui est different … … 291 255 } 292 256 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 dispos311 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 */320 257 ?> -
_plugins_/champs_extras/core/trunk/lang/cextras_fr.php
r44151 r49091 8 8 'pas_auteur' => 'pas d\'auteur', 9 9 10 //T11 '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',18 10 19 11 'type' => '@type@', -
_plugins_/champs_extras/core/trunk/plugin.xml
r45360 r49091 1 1 <plugin> 2 <nom><multi>[fr]Champs Extras 2[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> 3 3 <auteur>Matthieu Marcillaud, Fil</auteur> 4 4 <licence>GNU/GPL</licence> 5 <version> 1.9.0</version>5 <version>2.0.0-dev</version> 6 6 <icon>images/cextras-64.png</icon> 7 7 <description> … … 14 14 </description> 15 15 <lien>http://www.spip-contrib.net/Champs-Extras-2</lien> 16 <etat> test</etat>16 <etat>dev</etat> 17 17 <prefix>cextras</prefix> 18 18 <options>cextras_options.php</options> 19 19 <fonctions>cextras_balises.php</fonctions> 20 20 <necessite id="SPIP" version="[2.0;]" /> 21 22 <!-- declaration de pipeline --> 23 <pipeline><nom>declarer_champs_extras</nom><action></action></pipeline> 24 21 25 <pipeline> 22 26 <nom>autoriser</nom> 23 27 <inclure>inc/cextras_autoriser.php</inclure> 24 28 </pipeline> 25 <!-- 29 30 <!-- 26 31 <pipeline> 27 <nom>declarer_tables_ principales</nom>32 <nom>declarer_tables_objets_sql</nom> 28 33 <inclure>base/cextras.php</inclure> 29 34 </pipeline> 30 --> 35 --> 36 31 37 <pipeline> 32 38 <nom>editer_contenu_objet</nom> … … 37 43 <inclure>cextras_pipelines.php</inclure> 38 44 </pipeline> 45 39 46 <pipeline> 40 47 <nom>pre_edition</nom> … … 45 52 <inclure>cextras_pipelines.php</inclure> 46 53 </pipeline> 47 <pipeline> 48 <nom>rechercher_liste_des_champs</nom> 49 <inclure>cextras_pipelines.php</inclure> 50 </pipeline> 54 51 55 <categorie>outil</categorie> 56 57 <necessite id="saisies" version="[1.9.0;]" /> 52 58 </plugin> -
_plugins_/champs_extras/interface/trunk/exec/iextras.php
r31491 r49091 43 43 include_spip('inc/cextras_gerer'); 44 44 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() 47 46 )); 48 47 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() 51 49 )); 52 50 -
_plugins_/champs_extras/interface/trunk/formulaires/editer_champ_extra.html
r41643 r49091 27 27 explication=<:iextras:precisions_pour_label:>, 28 28 obligatoire=oui})] 29 [(#SAISIE{selection _par_groupe,type,29 [(#SAISIE{selection,type, 30 30 label=<:iextras:label_type:>, 31 31 obligatoire=oui, … … 79 79 explication=<:iextras:precisions_pour_explication:>})] 80 80 81 [(#VAL{_CHAMPS_EXTRAS_SAISIES_EXTERNES}|defined|et{#EVAL{_CHAMPS_EXTRAS_SAISIES_EXTERNES}}) 81 82 82 [(#SAISIE{input,attention, 83 83 label=<:iextras:label_attention:>, … … 87 87 label=<:iextras:label_li_class:>, 88 88 explication=<:iextras:precisions_pour_li_class:>})] 89 ]90 89 91 90 [(#SAISIE{input,class, -
_plugins_/champs_extras/interface/trunk/formulaires/editer_champ_extra.php
r44359 r49091 36 36 $valeurs['saisie_parametres']['explication'] = $valeurs['precisions']; 37 37 } 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 44 39 // chaque saisie_parametres devient un parametre a charger 45 40 $valeurs = array_merge($valeurs, $valeurs['saisie_parametres']); … … 108 103 unset($extra[$p]); 109 104 } 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/'113 105 114 106 // recreer le tableau de stockage des extras -
_plugins_/champs_extras/interface/trunk/plugin.xml
r43291 r49091 9 9 <auteur>Matthieu Marcillaud, Fil</auteur> 10 10 <licence>GNU/GPL</licence> 11 <version> 1.2.2</version>11 <version>2.0.0-dev</version> 12 12 <icon>images/iextras-64.png</icon> 13 13 <description> … … 20 20 <etat>dev</etat> 21 21 <prefix>iextras</prefix> 22 22 23 <necessite id="cextras" version="[1.4.5;]" /> 23 <necessite id="s pip_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;]" /> 25 26 26 27 <pipeline> … … 33 34 </pipeline> 34 35 35 <onglet id='iextras' parent='configuration'>36 <icone>images/iextras-24.png</icone>37 <titre>iextras:champs_extras</titre>38 </onglet>39 36 40 37 <bouton id='iextras' parent='bando_configuration'> -
_plugins_/champs_extras/interface/trunk/prive/contenu/champs_extras.html
r41902 r49091 2 2 [(#CHEMIN{images/iextras-24.png}|debut_cadre_trait_couleur{1, "", <:iextras:liste_des_extras:>})] 3 3 <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> 5 5 <B_extras> 6 6 <ul class="liste_extras"> 7 7 <BOUCLE_extras(POUR){tableau #VALEUR}> 8 8 <li> 9 [(#VALEUR |table_valeur{champ})]10 [<small>— (#VALEUR |table_valeur{label})</small>]11 [(type: <tt>(#VALEUR |table_valeur{type})</tt>)]9 [(#VALEUR{champ})] 10 [<small>— (#VALEUR{label})</small>] 11 [(type: <tt>(#VALEUR{type})</tt>)] 12 12 <ul class="actions"> 13 13 [(#TOTAL_BOUCLE|>{1}|oui) 14 14 [(#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> 16 16 ] 17 17 [(#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> 19 19 ] 20 20 ] 21 21 <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> 24 24 </ul> 25 25 </li> -
_plugins_/champs_extras/interface/trunk/prive/contenu/champs_extras_possibles.html
r31491 r49091 2 2 [(#CHEMIN{images/iextras-24.png}|debut_cadre_trait_couleur{1, "", <:iextras:liste_des_extras_possibles:>})] 3 3 <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> 5 5 <B_extras> 6 6 <ul class="liste_extras_possibles">
Note: See TracChangeset
for help on using the changeset viewer.