source: spip-zone/_plugins_/contacts_et_organisations/contacts_pipelines.php @ 48815

Last change on this file since 48815 was 48815, checked in by n.pavot@…, 10 years ago

On peut désormais lier une ou plusieurs organisations à une rubrique, directement à partir de la vue de la rubrique dans l'espace privé.

  • Property svn:executable set to *
File size: 2.8 KB
Line 
1<?php
2/**
3 * Plugin Contacts & Organisations pour Spip 2.0
4 * Licence GPL (c) 2009 - 2010 - Ateliers CYM
5 */
6 
7
8/**
9 * Affichage du formulaire de choix Contact/Organisation
10 * dans la colonne de vue d'un auteur
11 * et
12 * Affichage du formulaire de recherche et de sélection d'Organisations
13 * dans la colonne de vue d'une rubrique
14**/
15function contacts_affiche_gauche($flux){
16
17        if ($flux['args']['exec'] == 'auteur_infos'){
18                $flux['data'] .= recuperer_fond('prive/boite/selecteur_contacts_organisations', array(
19                        'id_auteur'=>$flux['args']['id_auteur']
20                ), array('ajax'=>true));
21        }
22
23        if ($flux['args']['exec'] == 'naviguer' && $flux['args']['id_rubrique']){
24                $flux['data'] .= recuperer_fond('prive/boite/selecteur_organisations_de_rubrique', array(
25                        'id_rubrique'=>$flux['args']['id_rubrique']
26                ));
27        }       
28
29        return $flux;
30}
31
32
33/**
34 *
35 * Insertion dans la vue des auteurs
36 * des informations relatives aux contacts et organisations
37 * et
38 * Insertion dans la vue des rubriques
39 * des informations relatives aux organisations
40 */
41function contacts_affiche_milieu($flux){
42        if ($flux['args']['exec'] == 'auteur_infos') {
43                $data  = recuperer_fond('prive/contenu/contact',
44                        array('id_auteur' => $flux['args']['id_auteur'], 'cadre'=>'oui'));
45                $data .= recuperer_fond('prive/contenu/organisation',
46                        array('id_auteur' => $flux['args']['id_auteur'], 'cadre'=>'oui'));
47                $flux['data'] = $data . $flux['data'];
48                }
49               
50        if ($flux['args']['exec'] == 'naviguer' && $flux['args']['id_rubrique']){
51                $flux['data'] .= recuperer_fond('prive/liste/organisations_liees_rubrique', array(
52                        'id_rubrique' => $flux['args']['id_rubrique'],
53                        'titre' => _T('contacts:info_organisations_appartenance')
54                ), array('ajax'=>true));
55        }
56        return $flux;
57}
58
59
60/**
61 * Prendre en compte les tables dans la recherche d'éléments.
62 *
63 * @param
64 * @return
65**/
66function contacts_rechercher_liste_des_champs($tables){
67       
68        // ajouter la recherche sur contact
69        $tables['contact']['id_contact'] = 12;
70        $tables['contact']['nom'] = 4;
71        $tables['contact']['prenom'] = 2;
72       
73        // ajouter la recherche sur organisations
74        $tables['organisation']['id_auteur'] = 12;
75        $tables['organisation']['nom'] = 4;
76
77        return $tables;
78}
79
80
81/**
82 * Autoriser les champs extras sur les objets
83 * Contacts et Organisations
84**/
85function contacts_objets_extensibles($objets){
86                return array_merge($objets, array(
87                        'contact' => _T('contacts:contacts'),
88                        'organisation' => _T('contacts:organisations'),
89                ));
90}
91
92/**
93 * Ajoute une feuille de style pour la v-card
94 * Peut être surchargé ensuite
95**/
96function contacts_insert_head($flux){
97
98        $flux .= '<!-- insertion de la css contacts--><link rel="stylesheet" type="text/css" href="'.find_in_path('contacts.css').'" media="all" />';
99
100        return $flux;
101}
102
103
104?>
Note: See TracBrowser for help on using the repository browser.