Changeset 111843 in spip-zone for _plugins_/albums


Ignore:
Timestamp:
Oct 4, 2018, 5:15:41 PM (11 days ago)
Author:
tcharlss@…
Message:

Un plugin pour ajouter des rôles aux sélections éditoriales (enfin aux liens quoi). Il ne fournit qu'un rôle par défaut, c'est aux plugins qui le nécessitent de déclarer les rôles utiles aux projets.

Location:
_plugins_/albums/trunk
Files:
14 edited

Legend:

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

    r108754 r111843  
    5353                $champs          = sql_fetsel('*', $table_objet_sql, addslashes($id_table_objet).'='.intval($id));
    5454                $marquer_doublons_album = charger_fonction('marquer_doublons_album', 'inc');
    55                 $marquer_doublons_album($champs, $id, $type, $id_table_objet, $table_objet, $table_objet_sql);
     55                $marquer_doublons_album($champs,$id,$type,$id_table_objet,$table_objet,$table_objet_sql);
    5656                // puis on récupère le squelette
    5757                $texte .= recuperer_fond('prive/squelettes/contenu/portfolio_albums', array(
    5858                                'objet' => $type,
    5959                                'id_objet' => $id,
     60                                'ajouter' => _request('ajouter'),
    6061                        ), array('ajax'=>'albums'));
    6162        }
    6263
    63         // Fiches des albums : documents liés quand les documents «classiques» ne sont pas affichés
     64        // Fiches des albums : documents liés quand le portfolio n'est pas affiché
    6465        if (
    6566                $e !== false // page d'un objet éditorial
     
    272273
    273274        return $flux;
    274 }
    275 
    276 
    277 /**
    278  * Plugins Jquery UI nécessaires au plugin
    279  *
    280  * @pipeline jqueryui_plugins
    281  *
    282  * @param  array $scripts Liste des js chargés
    283  * @return array          Liste complétée des js chargés
    284 **/
    285 function albums_jqueryui_plugins($plugins) {
    286         if (test_espace_prive()) {
    287                 include_spip('inc/config');
    288                 $plugins[] = 'jquery.ui.autocomplete';
    289                 if (lire_config('albums/deplacer_documents')) {
    290                         $plugins[] = 'jquery.ui.sortable';
    291                 }
    292         }
    293         return $plugins;
    294275}
    295276
     
    600581function albums_album_boutons_actions($flux) {
    601582
    602         if (!function_exists('bouton_action')) {
    603                 include_spip('inc/filtres');
    604         }
    605         if (!function_exists('generer_action_auteur')) {
    606                 include_spip('inc/actions');
    607         }
    608         if (!function_exists('autoriser')) {
    609                 include_spip('inc/autoriser');
    610         }
     583        include_spip('inc/filtres');
     584        include_spip('inc/actions');
     585        include_spip('inc/autoriser');
     586        $icone_horizontale = chercher_filtre('icone_horizontale');
    611587
    612588        $data = (is_array($flux['data']) and count($flux['data'])) ? $flux['data'] : array();
     
    675651                'remplir' => array(
    676652                        'positions' => array('footer'),
    677                         'liaison' => '',
     653                        'liaison'   => '',
    678654                        'autoriser' => autoriser('modifier', 'album', $id_album),
    679                         'html' => '<a href="#" class="bouton remplir" role="button" tabindex="0">'._T('medias:bouton_ajouter_document').'</a>'
     655                        'html'      => $icone_horizontale(parametre_url(self(), 'ajouter', 'album'.$id_album), _T('medias:bouton_ajouter_document'), 'ajouter-16.png', '', 'bouton-remplir-album ajax right'),
    680656                ),
    681657        );
  • _plugins_/albums/trunk/formulaires/ajouter_album.html

    r99737 r111843  
    3131                        </h4>
    3232
    33                         <p class="explication"><strong><:album:label_onglet_ajouter_creer:></strong></p>
    34                         <p class="explication"><:album:explication_onglet_ajouter_creer:></p>
     33                        <p class="explication">
     34                                <strong><:album:label_onglet_ajouter_creer:></strong>
     35                                <br><:album:explication_onglet_ajouter_creer:>
     36                        </p>
    3537
    3638                        <[(#GET{ul})] class="editer-groupe">
     
    7476                        </h4>
    7577
    76                         <p class="explication"><strong><:album:label_onglet_ajouter_choisir:></strong></p>
    77                         <p class="explication"><:album:explication_onglet_ajouter_choisir:></p>
     78                        <p class="explication">
     79                                <strong><:album:label_onglet_ajouter_choisir:></strong>
     80                                <br><:album:explication_onglet_ajouter_choisir:>
     81                        </p>
    7882
    7983                        <[(#GET{ul})] class="editer-groupe">
  • _plugins_/albums/trunk/formulaires/ajouter_album.php

    r103635 r111843  
    164164                include_spip('inc/joindre_document');
    165165                $id_temporaire = 0-$GLOBALS['visiteur_session']['id_auteur'];
    166                 $verifier_joindre_document = charger_fonction('verifier', 'formulaires/joindre_document');
    167                 $res_verifier_joindre_document = $verifier_joindre_document('new', $id_temporaire, 'album', 'document');
    168                 if (count($res_verifier_joindre_document) == 0) {
    169                         $traiter_joindre_document = charger_fonction('traiter', 'formulaires/joindre_document');
    170                         $res_joindre_document = $traiter_joindre_document('new', $id_temporaire, 'album', 'document');
    171                         $res = array_merge($res, $res_joindre_document);
    172                 }
     166                $traiter_joindre_document = charger_fonction('traiter', 'formulaires/joindre_document');
     167                $res_joindre_document = $traiter_joindre_document('new', $id_temporaire, 'album', 'document');
     168                $res = array_merge($res, $res_joindre_document);
    173169                // pas besoin du js ajouté dans le message de retour
    174170                if (isset($res['message_ok']) and $res['message_ok']) {
     
    179175                set_request('statut', 'publie');
    180176                $traiter_editer_album = charger_fonction('traiter', 'formulaires/editer_album');
    181                 $res_editer_album = $traiter_editer_album('new', $retour, $objet.'|'.$id_objet, $lier_trad);
     177                $res_editer_album = $traiter_editer_album('new',$retour,$objet.'|'.$id_objet,$lier_trad);
    182178                if (is_array($res_editer_album)) {
    183179                        $res = array_merge($res, $res_editer_album);
     
    245241        $divs = implode(',', $divs);
    246242        $callback = "jQuery('${divs}').animateAppend();";
    247         $js = "if (window.jQuery) jQuery(function(){ajaxReload('liste_albums',{callback:function(){ $callback }});});";
     243        $js = "if (window.jQuery) jQuery(function(){ajaxReload('albums',{callback:function(){ $callback }});});";
    248244        $js = "<script type='text/javascript'>${js}</script>";
    249245        return $js;
  • _plugins_/albums/trunk/lang/album.xml

    r102881 r111843  
    11<traduction module="album" gestionnaire="salvatore" url="https://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/albums/trunk/lang/" reference="fr">
    2         <langue code="de" url="https://trad.spip.net/tradlang_module/album?lang_cible=de" total="115" traduits="115" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
     2        <langue code="de" url="https://trad.spip.net/tradlang_module/album?lang_cible=de" total="115" traduits="110" relire="0" modifs="1" nouveaux="4" pourcent="95.65">
    33                <traducteur nom="Torsten Willmann" lien="https://trad.spip.net/auteur/torsten-willmann" />
    44        </langue>
  • _plugins_/albums/trunk/lang/album_de.php

    r102881 r111843  
    5656        'icone_modifier_album' => 'Album bearbeiten',
    5757        'info_1_album' => '1 Album',
    58         'info_1_doclie' => '1 verknüpftes Dokument',
    59         'info_1_utilisation' => '1 Verwendung',
     58        'info_1_utilisation' => '1 Verwendung', # MODIF
    6059        'info_aucun_album' => 'Kein Album',
    61         'info_docslies' => 'Verknüpfte Dokumente',
    6260        'info_nb_albums' => '@nb@ Alben',
    63         'info_nb_docslies' => '@nb@ verknüpfte Dokumente',
    6461        'info_nb_utilisations' => '@nb@ Verwendungen',
    6562        'info_nouvel_album' => 'Neues Album',
    66         'info_utilisation' => 'Verwendungen',
    6763
    6864        // L
  • _plugins_/albums/trunk/lang/album_fr.php

    r100676 r111843  
    2020        'bouton_vider' => 'Vider',
    2121        'bouton_vider_explication' => 'Vider l’album de ses documents',
     22        'bouton_enlever_albums' => 'Enlever tous les albums',
     23        'bouton_ajouter_document' => 'Ajouter un document à l\'album',
    2224
    2325        // C
  • _plugins_/albums/trunk/lang/paquet-albums.xml

    r104074 r111843  
    11<traduction module="paquet-albums" gestionnaire="salvatore" url="https://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/albums/trunk/lang/" reference="fr">
    2         <langue code="de" url="https://trad.spip.net/tradlang_module/paquet-albums?lang_cible=de" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
     2        <langue code="de" url="https://trad.spip.net/tradlang_module/paquet-albums?lang_cible=de" total="3" traduits="2" relire="0" modifs="0" nouveaux="1" pourcent="66.67">
    33                <traducteur nom="Torsten Willmann" lien="https://trad.spip.net/auteur/torsten-willmann" />
    44        </langue>
  • _plugins_/albums/trunk/lang/paquet-albums_de.php

    r104074 r111843  
    1111
    1212        // A
    13         'albums_description' => 'Dieses Plugin erweitert die Dokumentenverwaltung und erlaubt es Gruppen von Dokumenten als Alben zu definieren.
    14 <br>Alben sind editierbare Objekte, die eine Reihe von Dokumenten enthalten.
    15 Sie können für sich stehen oder mit anderen Objekten verknüpft werden.
    16 Damit haben Sie in der Praxis  die Auswahl beim Hinzufügen eines Domkunets: einzeln oder als Gruppe in einem Album-
    17 <br>Es gibt 2 Modelle « album » :
    18 - das Basismodell für Bildergalerien
    19 - eine Variante zur anzeige der Dokumente in einer Liste.
    20 <br>Ein Formular erlaubt es &lt;album&gt;- Tags anzupassen und im Text einzufügen. Dafür müssen die Plugins «YAML» und «Saisies» installiert sein.',
    2113        'albums_nom' => 'Alben',
    2214        'albums_slogan' => 'Verwaltung von Dokumentengruppen in Form von Alben'
  • _plugins_/albums/trunk/paquet.xml

    r110113 r111843  
    2929        <pipeline nom="objet_compte_enfants" inclure="albums_pipelines.php" />
    3030        <pipeline nom="boite_infos" inclure="albums_pipelines.php" />
    31         <pipeline nom="jqueryui_plugins" inclure="albums_pipelines.php" />
    3231        <pipeline nom="optimiser_base_disparus" inclure="albums_pipelines.php" />
    3332        <pipeline nom="formulaire_fond" inclure="albums_pipelines.php" />
  • _plugins_/albums/trunk/prive/objets/liste/albums.html

    r102872 r111843  
    3232                {pagination #ENV{nb,10}}{!lang_select}>
    3333                <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
    34                         <td class='statut'>[(#STATUT|puce_statut{album,#ID_ALBUM})]</td>
     34                        <td class='statut'>[(#STATUT|puce_statut{album,#ID_ALBUM,#ID_RUBRIQUE})]</td>
    3535                        <td class='titre principale'>[(#LOGO_ALBUM|image_reduire{20,26})]<a href="[(#ID_ALBUM|generer_url_entite{album})]"
    3636                                        title="<:info_numero_abbreviation|attribut_html:> #ID_ALBUM">[(#RANG). ][(#TITRE)]</a></td>
  • _plugins_/albums/trunk/prive/objets/liste/albums_complets.html

    r100676 r111843  
    33        Liste des albums.
    44
    5 ][(#REM)
    6 
    75        Inclus dans :
    86                prive/squelettes/albums.html
     7
    98        Utilise :
    109                prive/squelettes/inclure/album.html
    11 
    12 ][(#REM)
    1310
    1411        Paramètres :
     
    5754                {pagination #ENV{nb,10}}>
    5855
    59         <INCLURE{fond=prive/squelettes/inclure/album, id_album, env, ajax=#VAL{album}|concat{#ID_ALBUM}}>
     56        <INCLURE{fond=prive/squelettes/inclure/resume/album, id_album, class='documents_cases', env, ajax=#VAL{album}|concat{#ID_ALBUM}}>
    6057
    6158        </BOUCLE_liste_albums>
  • _plugins_/albums/trunk/prive/squelettes/contenu/albums.html

    r100676 r111843  
    1212[(#AUTORISER{administrer,albumotheque}|sinon_interdire_acces)]
    1313
    14 <div id='albums' class='albumotheque'>
     14<div id='albums' class='portfolios albums albumotheque'>
    1515
    1616        #FORMULAIRE_RECHERCHE_ECRIRE{#SELF,ajax}
     
    1919                nb=10,
    2020                env,
    21                 ajax=liste_albums, sinon=<:album:info_aucun_album:>}>
    22 
    23         [(#REM) formulaire pour déplacer les documents par glisser-déposer ]
    24         [(#AUTORISER{deplacerdocumentsalbums}|oui)
    25         <div class='ajax'>#FORMULAIRE_ALBUMS_DEPLACER_DOCUMENTS</div>
    26         ]
     21                ajax=albums, sinon=<:album:info_aucun_album:>}>
    2722
    2823        [(#AUTORISER{creer,album})
  • _plugins_/albums/trunk/prive/squelettes/contenu/portfolio_albums.html

    r99736 r111843  
    11[(#REM)
    22
    3         Gestion du portfolio des albums liés à un objet.
    4         - liste des albums liés (portfolio d'albums)
    5         - formulaire d'ajout d'albums
     3        Gestion des albums liés à un objet.
    64
    7         Appelé par le pipeline «afficher_complement_objet»
     5        Inséré via le pipeline « afficher_complement_objet »
     6
    87        Utilise :
    9                 prive/squelettes/inclure/portfolio_albums.html
    10                 prive/squelettes/inclure/ajouter_albums.html
     8                - prive/squelettes/inclure/resume/album.html
     9                - prive/squelettes/inclure/ajouter_albums.html
     10                - javascript/medias_edit.js (plugin medias)
     11                - javascript/jquery.multifile.js (plugin medias)
     12
     13                Paramètres :
     14                **obligatoire
     15                *conseillé
     16
     17                        - **objet     (string)  Type d'objet lié
     18                        - **id_objet  (int)     Identifiant de l'objet lié
     19                        - statut      (string)  Statut des albums
     20                                                valeurs : prepa | publie | poubelle
     21                                                défaut: tous
     22                        - pagination  (int)     Nombre pour la pagination
     23                                                défaut: 10
     24                        - par         (string)  Critère de tri
    1125
    1226]
    1327<div class='nettoyeur'></div>
    14 <a name='albums'></a>
    15 <div id='albums' class='albums-lies'>
     28<div id='albums' class='portfolios albums lies'>
    1629
    17 [(#REM) PORTFOLIO DES ALBUMS LIÉS ]
    18 <INCLURE{fond=prive/squelettes/inclure/portfolio_albums,
    19         objet,
    20         id_objet,
    21         nb=10,
    22         ajax=liste_albums}>
     30        [(#REM) Liste des albums liés ]
     31        <B_albums_lies>
     32        #ANCRE_PAGINATION
    2333
    24 [(#REM) formulaire pour déplacer les documents par glisser-déposer ]
    25 [(#AUTORISER{deplacerdocumentsalbums,#ENV{objet},#ENV{id_objet}}|oui)
    26 <div class='ajax'>#FORMULAIRE_ALBUMS_DEPLACER_DOCUMENTS{#ENV{objet},#ENV{id_objet}}</div>
    27 ]
     34        [(#REM)<h2 class="titrem"><:album:titre_albums:></h2>]
    2835
    29 [(#REM) AJOUTER : ICONE ET FORMULAIRE ]
    30 <INCLURE{fond=prive/squelettes/inclure/ajouter_albums,
    31         objet,
    32         id_objet,
    33         ajouter,
    34         lier_trad,
    35         ajax=ajouter_albums}>
     36        <BOUCLE_albums_lies(ALBUMS)
     37                {objet}
     38                {id_objet}
     39                {!par date}
     40                {statut == #ENV{statut,.*}}
     41                {pagination #ENV{pagination,10} albums}
     42        >
     43        <INCLURE{fond=prive/squelettes/inclure/resume/album,
     44                id_album,
     45                objet,
     46                id_objet,
     47                ajouter}>
     48        </BOUCLE_albums_lies>
    3649
    37 </div><!-- #albums -->
     50        [<p class='pagination'>(#PAGINATION{prive})</p>]
     51
     52        [(#REM) Bouton pour enlever tous les albums ]
     53        [(#GRAND_TOTAL|>{1}|oui)
     54                <div class="actions-liste">
     55                        [(#BOUTON_ACTION{
     56                                [(#REM|icone_horizontale{'',album,del}|extraire_balise{img})]<b><:album:bouton_enlever_albums:></b>,
     57                                #URL_ACTION_AUTEUR{dissocier_album,tous/#ENV{objet}/#ENV{id_objet},#SELF|ancre_url{albums}},
     58                                'ajax icone s24 right enlever_albums',
     59                                <:ecrire:lien_tout_supprimer:> ?})]
     60                </div>
     61        ]
     62
     63        [(#REM) Formulaire d'ajout d'un album ]
     64        <INCLURE{fond=prive/squelettes/inclure/ajouter_albums,
     65                objet,
     66                id_objet,
     67                ajouter,
     68                lier_trad,
     69                ajax=ajouter_albums}>
     70
     71</div>
     72
     73[(#REM) Script pour la gestion des documents s'il n'est pas présent (pas de portfolio) ]
     74<BOULE_media_edit(CONDITION){si #AUTORISER{joindredocument,#ENV{objet},#ENV{id_objet}}|non}>
     75<script type='text/javascript'>/*<![CDATA[*/
     76        var multifile='[(#CHEMIN{javascript/jquery.multifile.js}|texte_script)]';
     77        [(#INCLURE{javascript/medias_edit.js}|compacte{js})]
     78/*]]>*/</script>
     79</BOUCLE_media_edit>
     80</B_albums_lies>
  • _plugins_/albums/trunk/prive/style_prive_plugin_albums.html

    r108002 r111843  
    77
    88/*
    9     BLOC ALBUM
    10     ==========
     9    ===========
     10    BLOC ALBUMS
     11    ===========
    1112*/
    1213.liste-albums.lies .boite-album         { margin: 10px 0; }
     
    4647.documents-album .pagination            { margin: 0;}
    4748
    48 /* footer */
    49 .footer-album .bouton.remplir           { font-weight: bold; }
    50 .boite-album .formulaire_joindre_document { margin: 0; text-align: #ENV{left}; }
    51 /* boutons */
    52 .documents-album .item .actions,
    53 .documents-album .item .actions button,
    54 .footer-album .bouton,
    55 .footer-album button                    { font-size: x-small; }
    56 .boite-album .bouton:hover ,
    57 .boite-album button:hover               { cursor: pointer; }
    58 /* reveal */
    59 .documents-album .item .actions > *:not(.editbox),
    60 .documents-album .item .tourner,
    61 .boite-album .reveal                    { opacity: .1; }
    62 .documents-album .item:hover .actions > *,
    63 .documents-album .item:hover .tourner,
    64 .header-album:hover .reveal,
    65 .footer-album:hover .reveal,
    66 .boite-album .reveal:focus              { opacity: 1; }
    67 /* header + document + footer */
    68 .boite-album.editable .header-album.hover,
    69 .boite-album.editable .header-album:hover,
    70 .boite-album.editable .item.hover       { background-color: [#(#GET{claire}|couleur_eclaircir|couleur_eclaircir)]; }
    71 .boite-album:not(.editable) .liste_items .item:hover,
    72 .documents-album:not(.editable) .item:hover { background-color: transparent; }
    73 
    74 
    75 /*
     49
     50/*
     51    ============
    7652    ALBUMOTHEQUE
    7753    ============
    7854*/
     55body.albums {
     56        background-color: #f8f8f8;
     57}
     58.portfolios.albumotheque .tri.simple {
     59        margin-bottom: 1em;
     60}
     61.portfolios.albumotheque .titre-album,
     62.portfolios.albumotheque .resume-album {
     63        border: 1px solid #eee;
     64        background-color: white;
     65}
     66.portfolios.albumotheque .titre-album {
     67        font-size: 100%;
     68        border-bottom: 0 none;
     69        padding: 0.25em;
     70}
     71.portfolios.albumotheque .resume-album {
     72        border-top: 0 none;
     73        border-bottom-right-radius: 5px;
     74        border-bottom-left-radius: 5px;
     75}
     76.portfolios.albumotheque .sortable {
     77        padding: 0.25em;
     78}
     79.portfolios.albumotheque .actions-liste {
     80        margin-top: 0;
     81        padding: 0.25em;
     82}
     83
    7984.albums #navigation,
    8085.albumotheque                           { margin-top: 2.0775em; } /* = marging-top de li.sous_navigation */
     
    95100
    96101/*
     102    =======
    97103    FILTRES
    98104    =======
     
    126132
    127133/*
     134    ======================
    128135    BOITE COMPLEMENT OBJET
    129136    ======================
     
    135142
    136143/*
    137     GLISSER-DEPOSER
    138     ===============
    139 */
    140 #portfolios.cible-album,
    141 .boite-album.cible-album ,               { position: relative; } /* pour .cible-album */
    142 .cible-album:after                       {
    143                                          position: absolute; top: 1px; right: 1px; bottom: 1px; left: 1px; content: " ";
    144                                          outline: 2px dashed #GET{foncee};
    145                                          }
    146 .placeholder-album                       { height: 1em; background-color:#GET{claire}; }
    147 #portfolios .liste_items.temp            { border: 0 none; }
    148 .cible-album .liste_items.temp           { height: 1.5em; }
    149 #albums .item.drag,
    150 #portfolios .item.drag                   { opacity: .66; }
    151 #albums .ui-sortable .item:hover,
    152 #portfolios .ui-sortable .item:hover     { cursor: move; /*grab*/ }
    153 #albums .ui-sortable .item:active,
    154 #portfolios .ui-sortable .item:active    { cursor: move; }
    155 /* documents déplacés */
    156 #albums .item.deplace .mode,
    157 #albums .item.deplace .actions,
    158 #albums .item.deplace .tourner,
    159 #albums .item.deplace .sanstitre,
    160 #portfolios .item.deplace .mode,
    161 #portfolios .item.deplace .actions,
    162 #portfolios .item.deplace .tourner       { display: none; }
    163 .formulaire_albums_deplacer_documents .fermer { float: #ENV{right}; }
    164 .formulaire_albums_deplacer_documents .fermer:hover { cursor: pointer; }
    165 .formulaire_albums_deplacer_documents .titrounet,
    166 .formulaire_albums_deplacer_documents .titrounet img { float: #ENV{left}; }
    167 .formulaire_albums_deplacer_documents .titrounet img { margin-#ENV{right}: 5px; }
    168 
    169 
    170 /*
     144    ================
    171145    FICHE D'UN ALBUM
    172146    ================
     
    180154
    181155/*
     156    =======
    182157    EDITION
    183158    =======
     
    211186
    212187/*
     188    =============
    213189    LISTE CHOISIR
    214190    =============
     
    224200
    225201/*
     202    ======
    226203    MODELE
    227204    ======
Note: See TracChangeset for help on using the changeset viewer.