Changeset 83595 in spip-zone


Ignore:
Timestamp:
Jul 7, 2014, 11:19:02 AM (5 years ago)
Author:
tcharlss@…
Message:

complément et ajout de pipelines (+ phpDoc) :

  • affiche_milieu : message sur la fiche d'un album quand un auteur (rédacteur) n'a pas le droit de modifier son album.
  • affiche_gauche : gestion des albums sur l'édition d'un objet
  • post_insertion : correction des liens temporaires sur les albums ajoutés à un objet en cours de création.
  • formulaire_fond : message avetissement sur formulaire de config des documents quand l'ajout sur les albums est désactivé
  • formulaire_traiter : ajout de document : ajout de js au message de retour pour le rechargement ajax des albums
  • compagnons : le retour de la vengeance
Location:
_plugins_/albums/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/albums/trunk/albums_pipelines.php

    r82783 r83595  
    44 *
    55 * @plugin     Albums
    6  * @copyright  2013
     6 * @copyright  2014
    77 * @author     Romy Tetue, Charles Razack
    88 * @licence    GNU/GPL
    99 * @package    SPIP\Albums\Pipelines
    10 **/
    11 
     10 */
     11
     12// Sécurité
    1213if (!defined('_ECRIRE_INC_VERSION')) return;
    1314
    1415
    1516/**
    16  * Albums sur la page de visualisation des objets
    17 **/
     17 * Ajout de contenu aux fiches des objets.
     18 *
     19 * - Albums liés aux objets activés dans la configuration du plugin
     20 * - Documents liés aux albums en cas d'absence du portfolio (cf. note)
     21 *
     22 * @note
     23 * Les portfolios ne sont affichés que pour les objets qu'on a le droit d'éditer (cf. `autoriser_joindredocument_dist`).
     24 * Mais pour les albums, les documents doivent être visibles dans tous les cas.
     25 * Si nécessaire, on affiche donc les documents via notre squelette maison.
     26 *
     27 * @uses marquer_doublons_album()
     28 * @pipeline afficher_complement_objet
     29 *
     30 * @param  array $flux Données du pipeline
     31 * @return array       Données du pipeline
     32 */
    1833function albums_afficher_complement_objet($flux) {
     34
    1935        $texte = "";
    20 
    21         $e = trouver_objet_exec($flux['args']['type']);
    22         $type = $e['type'];
    23         $id = intval($flux['args']['id']);
    24 
    25         if (!$e['edition'] AND in_array(table_objet_sql($type),lire_config('albums/objets'))) {
    26                 $texte .= '<div class=\'nettoyeur\'></div>';
    27                 $texte .= recuperer_fond('prive/squelettes/contenu/albums_afficher_complement_objet', array(
    28                         'table_source' => 'albums',
     36        $e     = trouver_objet_exec($flux['args']['type']);
     37        $type  = $e['type'];
     38        $id    = intval($flux['args']['id']);
     39
     40        // Albums liés sur les objets activés
     41        if (
     42                !$e['edition']
     43                AND autoriser(ajouteralbum,$type,$id)
     44        ) {
     45                // on vérifie d'abord que les albums vus sont bien liés
     46                $table_objet_sql = table_objet_sql($type);
     47                $table_objet = table_objet($type);
     48                $id_table_objet = id_table_objet($type);
     49                $champs = sql_fetsel('*',$table_objet_sql,addslashes($id_table_objet)."=".intval($id));
     50                $marquer_doublons_album = charger_fonction('marquer_doublons_album','inc');
     51                $marquer_doublons_album($champs,$id,$type,$id_table_objet,$table_objet,$table_objet_sql);
     52                //
     53                $texte .= recuperer_fond('prive/squelettes/contenu/portfolio_albums', array(
    2954                        'objet' => $type,
    3055                        'id_objet' => $id,
    3156                        ),
    32                         array('ajax'=>'documents')
     57                        array('ajax'=>'albums')
    3358                );
     59        }
     60
     61        // Documents liés aux albums quand le portfolio classique n'est pas affiché
     62        if (!$e['edition'] AND $type == 'album' and !autoriser('joindredocument',$type,$id)) {
     63                $texte .= recuperer_fond('prive/squelettes/inclure/documents_album', array('id_album' => $id));
    3464        }
    3565
     
    4676
    4777/**
    48  * auteurs sur la fiche d'un album
    49 **/
     78 * Ajout de contenu sur certaines pages.
     79 *
     80 * - Auteurs sur la fiche d'un album
     81 * - Message sur la fiche d'un album si auteur pas autorisé à modifier (cf. autorisation)
     82 *
     83 * @pipeline affiche_milieu
     84 *
     85 * @param  array $flux Données du pipeline
     86 * @return array       Données du pipeline
     87 */
    5088function albums_affiche_milieu($flux){
    51         $texte = "";
    52         $e = trouver_objet_exec($flux['args']['exec']);
    53 
    54         // auteurs et objets associés sur fiche d'un album
     89
     90        $texte    = "";
     91        $e        = trouver_objet_exec($flux['args']['exec']);
     92        $id_objet = $flux['args'][$e['id_table_objet']];
     93
     94        // fiche d'un album
    5595        if (!$e['edition'] AND $e['type']=='album') {
    56                 $id_album = $flux['args'][$e['id_table_objet']];
    57                 // boite auteurs
     96                // auteurs liés
    5897                $texte .= recuperer_fond('prive/objets/editer/liens', array(
    5998                        'table_source' => 'auteurs',
    6099                        'objet' => 'album',
    61                         'id_objet' => $id_album
     100                        'id_objet' => $id_objet
    62101                ));
     102                // message si l'auteur de l'album n'est pas autorisé à le modifier
     103                // c'est que l'album est lié à un objet qu'il ne peut pas modifier
     104                include_spip('action/editer_liens');
     105                if (is_array($liens_auteurs = objet_trouver_liens(array('auteur'=>'*'),array('album'=>$id_objet))))
     106                        foreach($liens_auteurs as $l)
     107                                $auteurs_album[] = $l['id_auteur'];
     108                $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
     109                if (in_array($id_auteur,$auteurs_album) AND !autoriser(modifier,album,$id_objet)) {
     110                        $texte .= recuperer_fond('prive/squelettes/inclure/message_album_non_editable');
     111                }
    63112        }
    64113
     
    75124
    76125/**
    77  * Mise a jour des liens vers les albums apres edition d'un objet
    78  * Base sur la pipeline du plugin 'medias'
     126 * Modifier ou ajouter du contenu dans la colonne de gauche.
     127 *
     128 * - Gestion des albums sur le formulaire d'édition d'un objet
     129 * lorsqu'on peut lui ajouter des albums mais que l'ajout de documents est désactivé.
     130 *
     131 * @note
     132 * Lors d'une première création de l'objet, celui-ci n'ayant pas
     133 * encore d'identifiant tant que le formulaire d'edition n'est pas enregistré,
     134 * les liaisions entre les albums liés et l'objet à créer sauvegardent
     135 * un identifiant d'objet négatif de la valeur de id_auteur (l'auteur
     136 * connecté). Ces liaisons seront corrigées apres validation dans albums_post_insertion()
     137 * cf. plugin Médias.
     138 *
     139 * @pipeline affiche_gauche
     140 *
     141 * @param  array $flux Données du pipeline
     142 * @return array       Données du pipeline
     143 */
     144function albums_affiche_gauche($flux){
     145
     146        $e              = trouver_objet_exec($flux['args']['exec']);
     147        $type           = $e['type'];
     148        $id_table_objet = $e['id_table_objet'];
     149
     150        if (
     151                $e['edition'] !== false // page édition uniquement
     152                AND (
     153                        (isset($flux['args'][$id_table_objet]) and $id = intval($flux['args'][$id_table_objet]))
     154                        // id non défini pour les nouveaux objets : on met un identifiant negatif
     155                        OR $id = 0-$GLOBALS['visiteur_session']['id_auteur']
     156                )
     157                AND autoriser('ajouteralbum',$type,$id)
     158                AND !autoriser('joindredocument',$type,$id)
     159        ){
     160                $flux['data'] .= recuperer_fond('prive/objets/editer/colonne_document',array('objet'=>$type,'id_objet'=>$id));
     161        }
     162
     163        return $flux;
     164}
     165
     166
     167/**
     168 * Actions effectuées après l'insertion d'un nouvel objet en base.
     169 *
     170 * - Mise à jour les liens temporaires avec les albums.
     171 *
     172 * @note
     173 * Lors d'une première création de l'objet, celui-ci n'ayant pas
     174 * encore d'identifiant tant que le formulaire d'edition n'est pas enregistré,
     175 * les liaisions entre les albums liés et l'objet à créer sauvegardent
     176 * un identifiant d'objet négatif de la valeur de id_auteur (l'auteur
     177 * connecté).
     178 * Une fois l'objet inséré en base, il faut rétablir ces liaisons
     179 * avec le vrai identifiant de l'objet.
     180 * cf. plugin Médias.
     181 *
     182 * @pipeline post_insertion
     183 *
     184 * @param  array $flux Données du pipeline
     185 * @return array       Données du pipeline
     186**/
     187function albums_post_insertion($flux){
     188
     189        $objet    = objet_type($flux['args']['table']);
     190        $id_objet = $flux['args']['id_objet'];
     191        include_spip('inc/autoriser');
     192
     193        if (
     194                autoriser('ajouteralbum', $objet, $id_objet)
     195                AND $id_auteur = intval($GLOBALS['visiteur_session']['id_auteur'])
     196        ){
     197                $id_temporaire = 0-$id_auteur;
     198                include_spip('action/editer_liens');
     199                $liens = objet_trouver_liens(array('album'=>'*'),array($objet=>$id_temporaire));
     200                foreach($liens as $lien){
     201                        objet_associer(array('album'=>$lien['id_album']),array($objet=>$id_objet));
     202                }
     203                // un simple delete pour supprimer les liens temporaires
     204                sql_delete("spip_albums_liens", array("id_objet=".$id_temporaire,"objet=".sql_quote($objet)));
     205        }
     206
     207        return $flux;
     208}
     209
     210
     211/**
     212 * Actions effectuées après l'édition d'un objet.
     213 *
     214 * - Mise à jour des liens avec les albums.
     215 *
     216 * @note
     217 * cf. pipeline du plugin Médias
     218 *
     219 * @uses marquer_doublons_album()
     220 * @pipeline post_edition
     221 *
     222 * @param  array $flux Données du pipeline
     223 * @return array       Données du pipeline
    79224 */
    80225function albums_post_edition($flux){
    81         // si on institue un objet, mettre ses albums lies a jour
    82         if ($flux['args']['table']!=='spip_albums'){
    83                 $type = isset($flux['args']['type'])?$flux['args']['type']:objet_type($flux['args']['table']);
    84                 // verifier d'abord les doublons !
     226
     227        $table_objet_sql = $flux['args']['table'];
     228        $serveur         = (isset($flux['args']['serveur']) ? $flux['args']['serveur'] : '');
     229        $type            = isset($flux['args']['type']) ? $flux['args']['type'] : objet_type($table_objet_sql);
     230        $id_objet        = $flux['args']['id_objet'];
     231        $id_table_objet  = id_table_objet($type, $serveur);
     232        $table_objet     = isset($flux['args']['table_objet']) ? $flux['args']['table_objet'] : table_objet($table_objet_sql,$serveur);
     233
     234        // si on édite un objet, mettre ses albums liés à jour
     235        if ($table_objet_sql !== 'spip_albums'){
    85236                include_spip('inc/autoriser');
    86                 if (autoriser('autoassocieralbum',$type,$flux['args']['id_objet'])){
    87                         $table_objet = isset($flux['args']['table_objet'])?$flux['args']['table_objet']:table_objet($flux['args']['table'],$flux['args']['serveur']);
     237                if (autoriser('autoassocieralbum',$type,$id_objet)){
    88238                        $marquer_doublons_album = charger_fonction('marquer_doublons_album','inc');
    89                         $marquer_doublons_album($flux['data'],$flux['args']['id_objet'],$type,id_table_objet($type, $flux['args']['serveur']),$table_objet,$flux['args']['table'], '', $flux['args']['serveur']);
     239                        $marquer_doublons_album($flux['data'],$id_objet,$type,$id_table_objet,$table_objet,$table_objet_sql,'',$serveur);
    90240                }
    91241        }
    92         else {
    93                 if ($flux['args']['table']!=='spip_albums'){
    94                         // verifier les doublons !
    95                         $marquer_doublons_album = charger_fonction('marquer_doublons_album','inc');
    96                         $marquer_doublons_album($flux['data'],$flux['args']['id_objet'],$flux['args']['type'],id_table_objet($flux['args']['type'], $flux['args']['serveur']),$flux['args']['table_objet'],$flux['args']['spip_table_objet'], '', $flux['args']['serveur']);
    97                 }
    98         }
    99         return $flux;
    100 }
    101 
    102 
    103 /**
    104  * Activer les plugins jquery ui
    105  *
    106  * @param array $scripts
    107  *     Liste des js chargés
    108  * @return array
    109  *     Liste complétée des js chargés
     242
     243        return $flux;
     244}
     245
     246
     247/**
     248 * Plugins Jquery UI nécessaires au plugin
     249 *
     250 * @pipeline jqueryui_plugins
     251 *
     252 * @param  array $scripts Liste des js chargés
     253 * @return array          Liste complétée des js chargés
    110254**/
    111255function albums_jqueryui_plugins($scripts){
    112         $scripts[] = "jquery.ui.sortable";
     256        foreach(array('jquery.ui.sortable','jquery.ui.autocomplete') as $jqueryui)
     257                $scripts[] = $jqueryui;
    113258        return $scripts;
    114259}
     
    116261
    117262/**
    118 * Css sur les pages publiques
    119 */
     263 * Ajout de feuilles de style CSS sur les pages publiques
     264 *
     265 * @pipeline insert_head_css
     266 *
     267 * @param string $flux Feuilles de styles
     268 * @return string      Description complétée des feuilles de styles
     269 */
    120270function albums_insert_head_css($flux) {
     271
    121272        if (!defined('_ALBUMS_INSERT_HEAD_CSS') OR !_ALBUMS_INSERT_HEAD_CSS){
    122273                include_spip("inc/config");
     
    132283
    133284/**
    134  * Compter les albums dans un objet
    135  *
    136  * @param array $flux
    137  * @return array
     285 * Compter les albums liés à un objet
     286 *
     287 * @pipeline objet_compte_enfants
     288 *
     289 * @param  array $flux Données du pipeline
     290 * @return array       Données du pipeline
    138291 */
    139292function albums_objet_compte_enfants($flux){
     293
    140294        if ($objet = $flux['args']['objet']
    141295          AND $id=intval($flux['args']['id_objet'])) {
    142                 // juste les publies ?
     296                // juste les publiés ?
    143297                if (array_key_exists('statut', $flux['args']) and ($flux['args']['statut'] == 'publie')) {
    144298                        $flux['data']['album'] = sql_countsel('spip_albums AS D JOIN spip_albums_liens AS L ON D.id_album=L.id_album', "L.objet=".sql_quote($objet)."AND L.id_objet=".intval($id)." AND (D.statut='publie')");
     
    147301                }
    148302        }
    149         return $flux;
    150 }
    151 
    152 
    153 /**
    154  * Afficher le nombre d'albums dans chaque rubrique
    155  *
    156  * @param array $flux
    157  * @return array
     303
     304        return $flux;
     305}
     306
     307
     308/**
     309 * Afficher le nombre d'albums liés dans la boîte infos des rubriques
     310 *
     311 * @pipeline boite_infos
     312 *
     313 * @param  array $flux Données du pipeline
     314 * @return array       Données du pipeline
    158315 */
    159316function albums_boite_infos($flux){
     317
    160318        if ($flux['args']['type']=='rubrique'
    161319          AND $id_rubrique = $flux['args']['id']){
     
    166324                }
    167325        }
    168         return $flux;
    169 }
    170 
    171 
    172 /**
    173 * Optimiser la base de donnee en supprimant les liens orphelins
    174 */
     326
     327        return $flux;
     328}
     329
     330
     331/**
     332 * Optimiser la base de donnée en supprimant les liens orphelins
     333 *
     334 * On supprime :
     335 * - les albums à la poubelle
     336 * - les liens obsolètes
     337 *
     338 * @pipeline optimiser_base_disparus
     339 *
     340 * @param  array $flux Données du pipeline
     341 * @return array       Données du pipeline
     342 */
    175343function albums_optimiser_base_disparus($flux){
    176344
    177         // albums a la pouvelle
    178         sql_delete("spip_albums", "statut='poubelle' AND maj < ".$flux['args']['date']);
     345        // albums à la poubelle
     346        if (
     347                isset($flux['args']['date']) AND $flux['args']['date']
     348                AND is_array($ids_albums_poubelle=sql_allfetsel('id_album', table_objet_sql('album'), "statut='poubelle' AND maj < ".$flux['args']['date']))
     349        ){
     350                $ids_albums_poubelle = array_keys($ids_albums_poubelle);
     351                include_spip('inc/albums');
     352                albums_supprimer($ids_albums_poubelle);
     353        }
    179354
    180355        // optimiser les liens morts entre documents et albums
     
    185360}
    186361
     362
     363/**
     364 * Compléter ou modifier le résultat de la compilation des squelettes de certains formulaires.
     365 *
     366 * - Formulaire de configuration des documents :
     367 *   insérer un message d'avertissement après le titre
     368 *   au cas où l'ajout des documents aux albums est désactivé.
     369 *
     370 * @pipeline formulaire_fond
     371 *
     372 * @param  array $flux Données du pipeline
     373 * @return array       Données du pipeline
     374 */
     375function albums_formulaire_fond($flux){
     376
     377        if (
     378                $flux['args']['form'] == 'configurer_documents'
     379                AND $avertissement = albums_message_cfg_documents(true)
     380        ) {
     381                // On cherche titre du formulaire : <h3 class="titrem">...</h3>
     382                // On le capture entièrement pour le faire suivre du message
     383                $cherche = "/(<h3[^>]\s*class\s?=\s?['\"]titrem.*<\/h3>)/is";
     384                $remplace = "$1$avertissement";
     385                $flux['data'] = preg_replace($cherche, $remplace, $flux['data']);
     386        }
     387
     388        return $flux;
     389}
     390
     391
     392/**
     393 * Fonction privée qui retourne un message d'avertissement
     394 * au cas où l'ajout de documents aux albums est désactivé.
     395 *
     396 * @param bool $baliser true pour baliser le texte avec <p>
     397 * @return string|bool  le message d'avertissement, sinon false
     398 */
     399function albums_message_cfg_documents($baliser=false){
     400
     401        $message = false;
     402        $config = explode(',',$GLOBALS['meta']['documents_objets']);
     403        $config = (is_array($config)) ? $config : array();
     404        if (!in_array(table_objet_sql('album'),$config)) {
     405                $message = _T('album:message_avertissement_cfg_documents');
     406                if ($baliser) $message=inserer_attribut(wrap($message,'<p>'),'class','notice');
     407        }
     408
     409        return $message;
     410}
     411
     412
     413/**
     414 * Compléter le tableau de réponse ou effectuer des traitements supplémentaires pour certains formulaires.
     415 *
     416 * - Formulaire d'ajout de documents :
     417 *   rechargement ajax du conteneur des documents : ajout de js au message de retour.
     418 *
     419 * @note
     420 * L'identifiant de l'album peut être négatif en cas de création
     421 * cf. joindre_document.php, L.206 à 222
     422 *
     423 * @pipeline formulaire_fond
     424 *
     425 * @param  array $flux Données du pipeline
     426 * @return array       Données du pipeline
     427 */
     428function albums_formulaire_traiter($flux){
     429
     430        if (
     431                $flux['args']['form'] == 'joindre_document'
     432                AND !intval($flux['args']['args'][0]) // nouveau document
     433                AND $flux['args']['args'][2] == 'album'
     434                AND $id_album = intval($flux['args']['args'][1])
     435                AND (
     436                        count($ids_documents = $flux['data']['ids'])
     437                        OR isset($flux['data']['message_ok'])
     438                )
     439        ) {
     440                // animation de chaque document ajouté
     441                // id du conteneur : «#documentX_albumY»
     442                foreach ($ids_documents as $id_document) $div_documents[] = "#document${id_document}-album${id_album}";
     443                $div_documents = implode(',',$div_documents);
     444                $callback = "jQuery('$div_documents').animateAppend();";
     445                // rechargement du conteneur des documents de l'album
     446                // id du conteneur : «#documents-albumY»
     447                $js = "if (window.jQuery) jQuery(function(){ajaxReload('documents-album$id_album',{callback:function(){ $callback }});});";
     448                $js = "<script type='text/javascript'>$js</script>";
     449                if (isset($flux['data']['message_erreur']))
     450                        $flux['data']['message_erreur'].= $js;
     451                else
     452                        $flux['data']['message_ok'] .= $js;
     453        }
     454
     455        return $flux;
     456}
     457
     458
     459/**
     460 * Compléter ou modifier la liste des messages des compagnons.
     461 *
     462 * - Page «albums» : présentation succinte des albums & explication des filtres latéraux.
     463 *
     464 * @pipeline compagnon_messages
     465 *
     466 * @param  array $flux Données du pipeline
     467 * @return array       Données du pipeline
     468 */
     469function albums_compagnon_messages($flux) {
     470
     471        $exec     = $flux['args']['exec'];
     472        $pipeline = $flux['args']['pipeline'];
     473        $vus      = $flux['args']['deja_vus'];
     474        $aides    = &$flux['data'];
     475
     476        switch ($pipeline) {
     477
     478                case 'affiche_milieu':
     479                        switch ($exec) {
     480
     481                                case 'albums':
     482                                        // éviter si possible une requête sql.
     483                                        if (!isset($vus['albums'])) {
     484                                                $aides[] = array(
     485                                                        'id' => 'albums',
     486                                                        'titre' => _T('album:c_albumotheque_titre_presentation'),
     487                                                        'texte' => _T('album:c_albumotheque_presentation'),
     488                                                        'statuts'=> array('1comite', '0minirezo', 'webmestre'),
     489                                                        'target'=> '#albumotheque .entete h2',
     490                                                );
     491                                                $aides[] = array(
     492                                                        'id' => 'albums',
     493                                                        'titre' => _T('album:c_albumotheque_titre_filtres'),
     494                                                        'texte' => _T('album:c_albumotheque_filtres'),
     495                                                        'statuts'=> array('1comite', '0minirezo', 'webmestre'),
     496                                                        'target'=> '#navigation .navigation-albums .titre-liste',
     497                                                );
     498                                        }
     499                                        break;
     500                        }
     501                        break;
     502
     503        }
     504
     505        return $flux;
     506}
     507
     508
    187509?>
  • _plugins_/albums/trunk/paquet.xml

    r83558 r83595  
    77        logo="prive/themes/spip/images/albums-128.png"
    88        schema="0.0.3"
    9         documentation="http://contrib.spip.net/Albums-v2-DEV"
     9        documentation="http://contrib.spip.net/Albums-3"
    1010>
    1111        <nom>Albums</nom>
     
    2020        <pipeline nom="declarer_tables_interfaces" inclure="base/albums.php" />
    2121
    22         <pipeline nom="afficher_complement_objet" inclure="albums_pipelines.php" /><!-- ajout d'albums sur la page d un objet -->
    23         <pipeline nom="affiche_milieu" inclure="albums_pipelines.php" /><!-- auteurs sur la page d'un album -->
     22        <pipeline nom="afficher_complement_objet" inclure="albums_pipelines.php" />
     23        <pipeline nom="affiche_milieu" inclure="albums_pipelines.php" />
     24        <pipeline nom="affiche_gauche" inclure="albums_pipelines.php" />
     25        <pipeline nom="post_edition" inclure="albums_pipelines.php" />
     26        <pipeline nom="post_insertion" inclure="albums_pipelines.php" />
    2427        <pipeline nom="autoriser" inclure="albums_autorisations.php" />
    25         <pipeline nom="insert_head_css" inclure="albums_pipelines.php" /> <!-- css pages publiques -->
    26         <pipeline nom="post_edition" inclure="albums_pipelines.php" /> <!-- mise a jour des liens albums apres edition d'un objet -->
    27         <pipeline nom="objet_compte_enfants" inclure="albums_pipelines.php" /> <!-- compter nb albums dans un objet -->
    28         <pipeline nom="boite_infos" inclure="albums_pipelines.php" /> <!-- nb albums dans une rubrique -->
    29         <pipeline nom="jqueryui_plugins" inclure="albums_pipelines.php" /> <!-- glisser-deposer -->
    30         <pipeline nom="optimiser_base_disparus" inclure="albums_pipelines.php" /> <!-- suppression liens morts -->
     28        <pipeline nom="insert_head_css" inclure="albums_pipelines.php" />
     29        <pipeline nom="objet_compte_enfants" inclure="albums_pipelines.php" />
     30        <pipeline nom="boite_infos" inclure="albums_pipelines.php" />
     31        <pipeline nom="jqueryui_plugins" inclure="albums_pipelines.php" />
     32        <pipeline nom="optimiser_base_disparus" inclure="albums_pipelines.php" />
     33        <pipeline nom="formulaire_fond" inclure="albums_pipelines.php" />
     34        <pipeline nom="formulaire_traiter" inclure="albums_pipelines.php" />
     35        <pipeline nom="compagnon_messages" inclure="albums_pipelines.php" />
    3136
    3237        <necessite nom="medias" compatibilite="[2.7.0;]" />
    33         <utilise nom="inserer_modeles" compatibilite="[1.0.0;]" />
    3438
    3539        <menu nom="albums" titre="album:titre_albums" parent="menu_edition" icone="images/album-16.png" />
    3640        <menu nom="album_creer" titre="album:icone_creer_album" parent="outils_rapides" icone="images/album-add-16.png" action="album_edit" parametres="new=oui" />
    37         <menu nom="configurer_albums" titre="album:cfg_titre_albums" parent="menu_configuration" icone="images/albums-16.png" />
     41        <menu nom="configurer_albums" titre="album:cfg_titre_albums" parent="menu_configuration" icone="images/album-16.png" />
    3842
    3943</paquet>
Note: See TracChangeset for help on using the changeset viewer.