Changeset 85947 in spip-zone for _plugins_/albums


Ignore:
Timestamp:
Nov 9, 2014, 6:58:02 PM (7 years ago)
Author:
tcharlss@…
Message:

report de r85946 et r85945 : prise en charge plugin autorité + corrections coquilles
up de z

Location:
_plugins_/albums/branches/v3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/albums/branches/v3/albums_autorisations.php

    r83860 r85947  
    126126 * Dans ce cas il faut contourner le problème en vérifiant si l'objet vient juste d'être créé.
    127127 * cf. autorisation à modifier un album : même combat.
     128 *
     129 * TODO
     130 * Le problème du hack est réglé avec SPIP 3.1, n'y avoir recours que pour les versions antérieures.
    128131 *
    129132 * @example
     
    187190 *
    188191 * Il faut être l'auteur et avoir le droit de modifier tous les objets auxquels l'album est lié,
    189  * ou qu'il s'agisse d'un album en cours de création (vide, pas d'auteur et récent, cf. note).
    190  * ou être admin complet.
     192 * ou qu'il s'agisse d'un album en cours de création (vide, pas d'auteur et récent, cf. note),
     193 * ou être admin complet,
     194 * ou que l'album soit lié à une rubrique wiki/ouverte ou un de ses article et utilisé une seule fois (plugin autorité).
    191195 *
    192196 * @note
     
    200204 * cf. autorisation à ajouter un album : même combat.
    201205 *
     206 * TODO
     207 * Le problème du hack est réglé avec SPIP 3.1, n'y avoir recours que pour les versions antérieures.
     208 *
    202209 * @param  string $faire Action demandée
    203210 * @param  string $type  Type d'objet sur lequel appliquer l'action
     
    223230        // dans ce cas id_objet est négatif
    224231        $autoriser_modifier_objets_lies = true;
    225         if (is_array($liens_objets = objet_trouver_liens(array('album'=>$id),'*'))){
     232        $liens_objets = objet_trouver_liens(array('album'=>$id),'*');
     233        if (is_array($liens_objets)){
    226234                foreach($liens_objets as $l) {
    227235                        $objet = $l['objet'];
     
    251259                true : false;
    252260
     261        // album lié à une rubrique wiki/ouverte ou un de ses article et utilisé une seule fois (plugin autorité)
     262        $album_wiki = false;
     263        if (defined('_DIR_PLUGIN_AUTORITE') AND _DIR_PLUGIN_AUTORITE){
     264                if (
     265                        is_array($liens_objets)
     266                        AND count($liens_objets) == 1
     267                        AND $objet = $liens_objets[0]['objet']
     268                        AND $id_objet = $liens_objets[0]['id_objet']
     269                        AND in_array($objet,array('article','rubrique'))
     270                ) {
     271                        $id_secteur = sql_getfetsel('id_secteur',table_objet_sql($objet),id_table_objet($objet).'='.intval($id_objet));
     272                        // on cherche à savoir la rubrique est wiki/ouverte.
     273                        // comme autorité ne fournit pas de fonction générique pour ça,
     274                        // on reprend une partie du code de l'autorisation 'rubrique_publierdans'.
     275                        // cf. inc/autoriser.php L291 à 317
     276                        if (
     277                                (
     278                                        $GLOBALS['autorite']['espace_publieur']
     279                                        AND autorisation_publie_visiteur($qui, $id_secteur)
     280                                        AND $qui['statut']
     281                                )
     282                                OR (
     283                                        $GLOBALS['autorite']['espace_wiki']
     284                                        AND autorisation_wiki_visiteur($qui, $id_secteur)
     285                                        AND (
     286                                                $GLOBALS['autorite']['espace_wiki_rubrique_anonyme']
     287                                                OR $qui['statut']
     288                                        )
     289                                )
     290                        ){
     291                                $album_wiki = true;
     292                        }
     293                }
     294        }
     295
    253296        $autoriser = (
    254297                ($auteur_album AND $autoriser_modifier_objets_lies)
    255298                OR $nouvel_album
    256299                OR $admin_complet
     300                OR $album_wiki
    257301        ) ? true : false;
    258302
     
    327371        $autoriser = (
    328372                ($qui['statut'] == '0minirezo' AND !$qui['restreint'])
    329                 OR (autoriser('modifier', $opts['objet'], $opt['id_objet'], $qui))
     373                OR (autoriser('modifier', $opts['objet'], $opts['id_objet'], $qui))
    330374        ) ? true : false;
    331375
  • _plugins_/albums/branches/v3/modeles/inc-album.html

    r85922 r85947  
    3939                </BOUCLE_documents_album>
    4040        </ul>
    41         [(#GET{titre}|ou{#GET{descriptif}}|oui)
     41        [(#GET{titre_album}|ou{#GET{descriptif_album}}|oui)
    4242        [<(#HTML5|?{figcaption,div}) class="figcaption">]
    4343                [<div class="titre_album">(#GET{titre_album}|wrap{[<(#ENV*{balise_titre,#ENV*{balise_titraille}}|replace{^<}|replace{>$})>]})</div>]
  • _plugins_/albums/branches/v3/modeles/inc-album_liste.html

    r85922 r85947  
    2020]<B_documents_album>
    2121<div class="album liste[ (#ENV{align})][ (#ENV{classe})]">
    22     [(#GET{titre}|ou{#GET{descriptif}}|oui)
     22    [(#GET{titre_album}|ou{#GET{descriptif_album}}|oui)
    2323        <div class="caption">
    2424                [<div class="titre_album">(#GET{titre_album}|wrap{[<(#ENV*{balise_titre,#ENV*{balise_titraille}}|replace{^<}|replace{>$})>]})</div>]
  • _plugins_/albums/branches/v3/paquet.xml

    r85922 r85947  
    22        prefix="albums"
    33        categorie="multimedia"
    4         version="3.0.16"
     4        version="3.0.17"
    55        schema="1.0.0"
    66        etat="stable"
Note: See TracChangeset for help on using the changeset viewer.