Changeset 86435 in spip-zone


Ignore:
Timestamp:
Dec 3, 2014, 9:44:17 PM (6 years ago)
Author:
tcharlss@…
Message:

Autorisation à modifier un album : pour les secteurs wikis, prendre en compte tous les objets possédant un champ 'id_secteur', pas juste les rubriques & articles.
cf. http://contrib.spip.net/Albums-3#forum478295
+ 2 broutilles

Location:
_plugins_/albums/trunk
Files:
4 edited

Legend:

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

    r86340 r86435  
    259259                true : false;
    260260
    261         // album lié à une rubrique wiki/ouverte ou un de ses article et utilisé une seule fois (plugin autorité)
     261        // plugin autorité
     262        // album utilisé une seule fois et situé dans un secteur wiki/ouvert.
     263        // on vérifie que l'objet auquel il est lié possède un champ `id_secteur`, et qu'on a le droit de publier dedans.
    262264        $album_wiki = false;
    263         if (defined('_DIR_PLUGIN_AUTORITE') AND _DIR_PLUGIN_AUTORITE){
     265        if (defined('_DIR_PLUGIN_AUTORITE')){
    264266                if (
     267                        // album utilisé une seule fois...
    265268                        is_array($liens_objets)
    266269                        AND count($liens_objets) == 1
     270                        // ...et lié à un objet...
    267271                        AND $objet = $liens_objets[0]['objet']
    268272                        AND $id_objet = $liens_objets[0]['id_objet']
    269                         AND in_array($objet,array('article','rubrique'))
     273                        // ...qui possède un champ `id_secteur`
     274                        AND is_array($infos_objet = lister_tables_objets_sql(table_objet_sql($objet)))
     275                        AND isset($infos_objet['field']['id_secteur'])
     276                        AND $id_secteur = sql_getfetsel('id_secteur',table_objet_sql($objet),id_table_objet($objet).'='.intval($id_objet))
    270277                ) {
    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'.
     278                        // on cherche à savoir si le secteur est wiki/ouvert.
     279                        // faute de fonction générique, on reprend une partie du code de l'autorisation 'rubrique_publierdans'.
    275280                        // cf. inc/autoriser.php L291 à 317
    276281                        if (
  • _plugins_/albums/trunk/formulaires/ajouter_album.php

    r86340 r86435  
    168168                $traiter_editer_album = charger_fonction('traiter','formulaires/editer_album');
    169169                $res_editer_album = $traiter_editer_album('new',$retour,$objet.'|'.$id_objet,$lier_trad);
    170                 $res = array_merge($res, $res_editer_album);
     170                if (is_array($res_editer_album))
     171                        $res = array_merge($res, $res_editer_album);
    171172                if (
    172173                        isset($res['message_ok']) AND $res['message_ok']
  • _plugins_/albums/trunk/paquet.xml

    r86340 r86435  
    22        prefix="albums"
    33        categorie="multimedia"
    4         version="3.2.9"
     4        version="3.2.10"
    55        schema="1.0.0"
    66        etat="dev"
  • _plugins_/albums/trunk/prive/style_prive_plugin_albums.html

    r83613 r86435  
    4747/* footer */
    4848.footer-album .bouton.remplir           { font-weight: bold; }
    49 .boite-album .formulaire_joindre_document { margin: 0; }
     49.boite-album .formulaire_joindre_document { margin: 0; text-align: #ENV{left}; }
    5050/* boutons */
    5151.documents-album .item .actions,
Note: See TracChangeset for help on using the changeset viewer.