source: spip-zone/_plugins_/roles_documents/trunk/formulaires/editer_roles_objet_lie.php @ 88659

Last change on this file since 88659 was 88659, checked in by tcharlss@…, 4 years ago

Dépôt initial d'un plugin expérimental pour donner des rôles à des documents. Il ajoute un bouton aux images qui permet de définir des rôles : par exemple 'visuel principal', 'image secondaire', 'logo', ce genre de trucs. Par défaut il ne propose que 'logo' et 'logo de survol', les rôles sont propres à chaque site et sont à définir au niveau des squelettes. Il y a un pipeline qui permet de compléter la liste des rôles. Ça répond à la même problématique que le récent plugin visuels, mais avec une approche différente. Très largement copié-collé du plugin rôles d'auteurs de marcimat, et très largement aidé par rastapopoulos. Pour l'instant, c'est du proof of concept, mais on peut déjà s'en servir.

File size: 1.6 KB
Line 
1<?php
2
3/**
4 * Gestion du formulaire d'édition de rôles de liens
5 *
6 * @package SPIP\Formulaires
7 **/
8if (!defined('_ECRIRE_INC_VERSION')) return;
9
10/**
11 * Chargement du formulaire d'édition de rôles de liens
12 *
13 * #FORMULAIRE_EDITER_ROLES_OBJET_LIE{document,2,article,3}
14 *   pour editer les roles du document 2 lié à l'article 3
15 *
16 * @param string $objet_source
17 *              objet étant associé
18 * @param string|int $id_objet_source
19 *              identifiant de l'objet associé
20 * @param string $objet
21 * @param int|string $id_objet
22 * @return array
23 */
24function formulaires_editer_roles_objet_lie_charger_dist($objet_source,$id_objet_source,$objet,$id_objet){
25
26        // retourner les valeurs de editer_liens
27        $table_source = table_objet($objet_source);
28        $editer_liens_charger = charger_fonction('charger','formulaires/editer_liens');
29        $valeurs = $editer_liens_charger($table_source,$objet,$id_objet); // documents, article, 2
30
31        // on a besoin de id_objet_source (= document) pour inc-editer_liens_actions_roles
32        if (is_array($valeurs)) {
33                $valeurs = array_merge($valeurs,array('id_objet_source'=>$id_objet_source));
34        }
35
36        return $valeurs;
37}
38
39/**
40 * Traiter le post des informations d'édition de rôles de liens
41 *
42 */
43function formulaires_editer_roles_objet_lie_traiter_dist($objet_source,$id_objet_source,$objet,$id_objet){
44
45        // retourner les traitements de editer_liens
46        $table_source = table_objet($objet_source);
47        $editer_liens_traiter = charger_fonction('traiter','formulaires/editer_liens');
48        $res = $editer_liens_traiter($table_source,$objet,$id_objet); // documents, article, 2
49
50        return $res;
51
52}
53
Note: See TracBrowser for help on using the repository browser.