Changeset 77223 in spip-zone


Ignore:
Timestamp:
Oct 14, 2013, 8:11:35 PM (8 years ago)
Author:
rastapopoulos@…
Message:

Permettre de lier les fiches de nos annuaires à n'importe quel contenu éditorial : pas juste les rubriques, et pas juste pour les organisations !

Bien entendu, l'ancienne option "lier_organisations_rubriques" est migrée dans le nouveau tableau "lier_organisations_objets" si elle était activée.

Location:
_plugins_/contacts_et_organisations/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/contacts_et_organisations/trunk/contacts_administrations.php

    r77219 r77223  
    175175        $maj['1.9.0'] = array(
    176176                array('maj_tables', array('spip_annuaires', 'spip_organisations', 'spip_contacts')),
     177        );
     178       
     179        // Ajout de la possibilité de lier les fiches à n'importe quels objets, pas juste les rubriques
     180        // Il faut donc migrer l'option lier_organisations_rubriques vers une autre plus générique
     181        $maj['1.10.0'] = array(
     182                array('contacts_maj_1_10_0'),
    177183        );
    178184
     
    281287}
    282288
     289/**
     290 * Mise à jour de la base 1.10.0
     291 *
     292 * Déplace l'option lier_organisations_rubriques vers lier_organisations_objets plus générique
     293 *
     294 * @return void
     295 */
     296function contacts_maj_1_10_0() {
     297        include_spip('inc/config');
     298        $lier_organisations_rubriques = lire_config('contacts_et_organisations/lier_organisations_rubriques');
     299       
     300        // On supprime l'ancienne option
     301        effacer_config('contacts_et_organisations/lier_organisations_rubriques');
     302       
     303        // Si l'option était activée, on la réactive autre part
     304        if ($lier_organisations_rubriques){
     305                ecrire_config('contacts_et_organisations/lier_organisations_objets', array('spip_rubriques'));
     306        }
     307}
     308
    283309?>
  • _plugins_/contacts_et_organisations/trunk/contacts_pipelines.php

    r74555 r77223  
    5858 *     Données du pipeline
    5959 */
    60 function contacts_afficher_contenu_objet($flux)
    61 {
     60function contacts_afficher_contenu_objet($flux) {
     61        include_spip('inc/config');
     62       
    6263        if ($flux['args']['type'] == 'auteur') {
    63 
    6464                if (lire_config('contacts_et_organisations/associer_aux_auteurs') and
    6565                        lire_config('contacts_et_organisations/afficher_infos_sur_auteurs')) {
     
    8181                }
    8282        }
    83 
    84         if ($flux['args']['type'] == 'rubrique')
    85         {
    86                 if (lire_config('contacts_et_organisations/lier_organisations_rubriques')) {
    87                         $id = $flux['args']['id_objet'];
    88                         $infos = recuperer_fond('prive/objets/editer/liens', array(
    89                                 'table_source'=>'organisations',
    90                                 'objet'=>'rubrique',
    91                                 'id_objet'=>$id,
    92                                 'editable'=>autoriser('associerorganisation', 'rubrique', $id) ? 'oui':'non'
    93                         ));
    94                         $flux['data'] .= $infos;
    95                 }
     83       
     84        // Ajouter un bloc de liaison avec les organisations sur les objets configurés pour ça
     85        if ($table = table_objet_sql($flux['args']['type']) and in_array($table, lire_config('contacts_et_organisations/lier_organisations_objets', array()))) {
     86                $id = $flux['args']['id_objet'];
     87                $infos = recuperer_fond('prive/objets/editer/liens', array(
     88                        'table_source'=>'organisations',
     89                        'objet'=>$flux['args']['type'],
     90                        'id_objet'=>$id,
     91                        'editable'=>autoriser('associerorganisation', $flux['args']['type'], $id) ? 'oui':'non'
     92                ));
     93                $flux['data'] .= $infos;
     94        }
     95       
     96        // Ajouter un bloc de liaison avec les contacts sur les objets configurés pour ça
     97        if ($table = table_objet_sql($flux['args']['type']) and in_array($table, lire_config('contacts_et_organisations/lier_contacts_objets', array()))) {
     98                $id = $flux['args']['id_objet'];
     99                $infos = recuperer_fond('prive/objets/editer/liens', array(
     100                        'table_source'=>'contacts',
     101                        'objet'=>$flux['args']['type'],
     102                        'id_objet'=>$id,
     103                        'editable'=>autoriser('associercontact', $flux['args']['type'], $id) ? 'oui':'non'
     104                ));
     105                $flux['data'] .= $infos;
    96106        }
    97107
  • _plugins_/contacts_et_organisations/trunk/formulaires/configurer_contacts_et_organisations.html

    r77219 r77223  
    1818                explication=<:contacts:cfg_utiliser_organisations_arborescentes_explication:>})]
    1919               
    20         [(#SAISIE{oui_non,lier_organisations_rubriques,
    21                 label=<:contacts:cfg_lier_organisations_rubriques:>,
    22                 explication=<:contacts:cfg_lier_organisations_rubriques_explication:>})]
    23 
    2420        [(#SAISIE{oui_non,activer_squelettes_publics_zpip1,
    2521                label=<:contacts:cfg_activer_squelettes_publics_zpip1:>,
     
    4440                </fieldset>
    4541        </li>
     42       
     43        <li class='fieldset'>
     44                <fieldset>
     45                        <legend><:contacts:cfg_relations_avec_objets:></legend>
     46                        <ul>
     47                                [(#SAISIE{choisir_objets,lier_organisations_objets,
     48                                        label=<:contacts:cfg_lier_organisations_objets_label:>,
     49                                        explication=<:contacts:cfg_lier_organisations_objets_explication:>,
     50                                        exclus=#LISTE{spip_auteurs, spip_organisations, spip_contacts}})]
     51                               
     52                                [(#SAISIE{choisir_objets,lier_contacts_objets,
     53                                        label=<:contacts:cfg_lier_contacts_objets_label:>,
     54                                        explication=<:contacts:cfg_lier_contacts_objets_explication:>,
     55                                        exclus=#LISTE{spip_auteurs, spip_organisations, spip_contacts}})]
     56                        </ul>
     57                </fieldset>
     58        </li>
    4659
    4760</ul>
  • _plugins_/contacts_et_organisations/trunk/lang/contacts_fr.php

    r77219 r77223  
    4747                aux auteurs. Cela ajoute un formulaire pour associer un auteur sur les pages contact ou organisation,
    4848                et inversement cela ajoute un formulaire pour lier un contact ou une organisation sur les pages des auteurs.',
     49        'cfg_lier_contacts_objets_explication' => 'Permettre d’associer les contacts aux contenus éditoriaux suivants. Cela affiche le sélecteur de contacts dans les pages d’administration de ces contenus.',
     50        'cfg_lier_contacts_objets_label' => 'Associer les contacts',
     51        'cfg_lier_organisations_objets_explication' => 'Permettre d’associer les organisations aux contenus éditoriaux suivants. Cela affiche le sélecteur d’organisations dans les pages d’administration de ces contenus.',
     52        'cfg_lier_organisations_objets_label' => 'Associer les organisations',
    4953        'cfg_lier_organisations_rubriques' => 'Lier aux rubriques',
    5054        'cfg_lier_organisations_rubriques_explication' => 'Permettre de lier les organisations aux rubriques ?
    5155                Cela affiche le sélecteur d’organisations sur les rubriques ainsi que le sélecteur de rubriques sur les organisations.',
    5256        'cfg_relations_avec_auteurs' => 'Relation avec les auteurs',
     57        'cfg_relations_avec_objets' => 'Relation avec les contenus éditoriaux (autres que les auteurs)',
    5358        'cfg_supprimer_reciproquement_auteurs_et_contacts' => 'Supprimer réciproquement les auteurs et contacts ?',
    5459        'cfg_supprimer_reciproquement_auteurs_et_contacts_explication' => 'Avec cette option active, lorsqu’un contact
  • _plugins_/contacts_et_organisations/trunk/paquet.xml

    r77219 r77223  
    66        compatibilite="[3.0.0-dev;3.0.*]"
    77        logo="images/contacts-128.png"
    8         schema="1.9.0"
     8        schema="1.10.0"
    99        documentation="http://www.spip-contrib.net/Plugin-Contacts-Organisations"
    1010>
Note: See TracChangeset for help on using the changeset viewer.