Changeset 99760 in spip-zone


Ignore:
Timestamp:
Sep 30, 2016, 3:42:01 PM (3 years ago)
Author:
cedric@…
Message:

quand on associe les contacts aux auteurs et qu'on affiche les infos contacts sur la page auteur, l'edition du contact se fait aussi lors de l'edition e l'auteur, sous forme integree

Location:
_plugins_/contacts_et_organisations/trunk
Files:
2 added
6 edited

Legend:

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

    r99756 r99760  
    3535}
    3636
     37function contacts_edition_integree_auteur(){
     38        if (!function_exists('lire_config')) {
     39                include_spip('inc/config');
     40        }
     41        if (lire_config('contacts_et_organisations/associer_aux_auteurs') and
     42                lire_config('contacts_et_organisations/afficher_infos_sur_auteurs')) {
     43                return ' ';
     44        }
     45        return '';
     46}
     47
    3748/**
    3849 * Calcul de la balise `#LESORGANISATIONS`
  • _plugins_/contacts_et_organisations/trunk/contacts_pipelines.php

    r99751 r99760  
    255255        return $flux;
    256256}
     257
     258
     259function contacts_formulaire_fond($flux) {
     260        if ($flux['args']['form'] == 'editer_auteur'
     261                and isset($flux['args']['contexte']['id_contact'])){
     262                $contexte = $flux['args']['contexte'];
     263                $contexte['prefixe'] = 'contact_';
     264                if (preg_match(",<(li|div)[^>]*editer_bio[^>]*>,Uims", $flux['data'], $m)){
     265                        $contexte['tag'] = $m[1];
     266                        $p = strpos($flux['data'], $m[0]);
     267                        $ins = recuperer_fond('formulaires/editer_auteur_contact', $contexte);
     268                        $flux['data'] = substr_replace($flux['data'], $ins, $p, 0);
     269                }
     270        }
     271        return $flux;
     272}
     273
     274function contacts_formulaire_charger($flux) {
     275        if ($flux['args']['form'] == 'editer_auteur'
     276                and isset($flux['data']['id_auteur'])
     277                and $id_auteur = intval($flux['data']['id_auteur'])
     278          and contacts_edition_integree_auteur()){
     279                if ($contact = sql_fetsel('*','spip_contacts','id_auteur='.intval($id_auteur))){
     280                        $flux['data']['id_contact'] = $contact['id_contact'];
     281                        unset($contact['id_contact']);
     282                        foreach($contact as $k=>$v){
     283                                $flux['data']['contact_'.$k] = $v;
     284                        }
     285                }
     286        }
     287        return $flux;
     288}
     289function contacts_formulaire_traiter($flux) {
     290        if ($flux['args']['form'] == 'editer_auteur'
     291          and $id_auteur = intval($flux['data']['id_auteur'])){
     292
     293                if ($id_contact = intval(_request('id_contact'))
     294                  and sql_countsel('spip_contacts','id_auteur='.intval($id_auteur).' AND id_contact='.intval($id_contact))) {
     295                        foreach ($_REQUEST as $k=>$v) {
     296                                if (strncmp($k, 'contact_' , 8) !==0
     297                                        and strncmp($k, 'var_' , 4) !==0 ){
     298                                        set_request($k);
     299                                }
     300                        }
     301                        foreach ($_REQUEST as $k=>$v) {
     302                                if (strncmp($k, 'contact_' , 8) ==0 ){
     303                                        set_request(substr($k,8),$v);
     304                                }
     305                        }
     306                        formulaires_editer_objet_traiter('contact', $id_contact, 0, 0, '');
     307                }
     308        }
     309        return $flux;
     310}
  • _plugins_/contacts_et_organisations/trunk/formulaires/editer_contact.html

    r99757 r99760  
    1313                        ]
    1414                        <[(#DIV|sinon{ul})] class="editer-groupe">
    15                                 [(#CONFIG{contacts_et_organisations/utiliser_annuaires}|oui)
    16                                 [(#SAISIE{annuaires, id_annuaire,
    17                                         defaut=#ENV{id_annuaire},
    18                                         label=<:contacts:annuaire:>,
    19                                         option_intro=<:contacts:annuaire_aucun:>})]
    20                                 ]
    21 
    22                                 [(#SAISIE{input, civilite,
    23                                         label=<:contacts:label_civilite:>})]
    24 
    25                                 [(#SAISIE{input, prenom,
    26                                         label=<:contacts:label_prenom:>})]
    27 
    28                                 [(#SAISIE{input, nom,
    29                                         label=<:contacts:label_nom:>})]
    30 
    31                                 [(#SAISIE{input, fonction,
    32                                         label=<:contacts:label_fonction:>})]
    33 
    34                                 [(#SAISIE{date_jour_mois_annee, date_naissance,
    35                                         label=<:contacts:label_date_naissance:>})]
    36 
    37                                 [(#SAISIE{textarea, descriptif,
    38                                         label=<:contacts:label_descriptif:> <em class="aide">[(#AIDER{raccourcis})]</em>,
    39                                         class='inserer_barre_edition inserer_previsualisation',
    40                                         li_class=haut})]
     15                                <INCLURE{fond=formulaires/inc-editer_contact,env} />
    4116                        </[(#DIV|sinon{ul})]>
    4217                        [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
  • _plugins_/contacts_et_organisations/trunk/paquet.xml

    r99751 r99760  
    2323        <pipeline nom="declarer_tables_interfaces" inclure="base/contacts.php" />
    2424        <pipeline nom="declarer_tables_auxiliaires" inclure="base/contacts.php" />
     25
    2526        <pipeline nom="affiche_gauche" inclure="contacts_pipelines.php" />
    26         <pipeline nom="boite_infos" inclure="contacts_pipelines.php" />
    27         <pipeline nom="insert_head_css" inclure="contacts_pipelines.php" />
    2827        <pipeline nom="afficher_contenu_objet" inclure="contacts_pipelines.php" />
    2928        <pipeline nom="affiche_hierarchie" inclure="contacts_pipelines.php" />
     29        <pipeline nom="autoriser" inclure="contacts_autoriser.php" />
     30        <pipeline nom="boite_infos" inclure="contacts_pipelines.php" />
     31        <pipeline nom="formulaire_fond" inclure="contacts_pipelines.php" />
     32        <pipeline nom="formulaire_charger" inclure="contacts_pipelines.php" />
     33        <pipeline nom="formulaire_traiter" inclure="contacts_pipelines.php" />
     34        <pipeline nom="ieconfig_metas" inclure="contacts_pipelines.php" />
     35        <pipeline nom="insert_head_css" inclure="contacts_pipelines.php" />
    3036        <pipeline nom="optimiser_base_disparus" inclure="contacts_pipelines.php" />
    31         <pipeline nom="autoriser" inclure="contacts_autoriser.php" />
    32         <pipeline nom="ieconfig_metas" inclure="contacts_pipelines.php" />
    33        
     37
    3438        <necessite nom="saisies" compatibilite="[1.15.3;[" />
    3539        <necessite nom="medias" compatibilite="[2.7.27;[" />
  • _plugins_/contacts_et_organisations/trunk/prive/squelettes/contenu/contact_sur_auteur.html

    r99749 r99760  
    55<BOUCLE_contact(CONTACTS){id_contact}{tous}>
    66
    7 [(#AUTORISER{modifier,contact,#ID_CONTACT})
     7[(#REM|contacts_edition_integree_auteur|non|et{#AUTORISER{modifier,contact,#ID_CONTACT}})
    88        [(#ID_CONTACT|afficher_qui_edite{contact}|non)
    99                [(#URL_ECRIRE{contact_edit,id_contact=#ID_CONTACT}
     
    3232
    3333
    34 [(#AUTORISER{modifier,contact,#ID_CONTACT})
     34[(#REM|contacts_edition_integree_auteur|non|et{#AUTORISER{modifier,contact,#ID_CONTACT}})
    3535
    3636        [(#ID_CONTACT|afficher_qui_edite{contact}|non)
  • _plugins_/contacts_et_organisations/trunk/prive/style_prive_plugin_contacts.html

    r99751 r99760  
    135135}
    136136
     137.formulaire_editer_auteur .editer_contact {
     138        background: [#(#GET{claire}|couleur_eclaircir{0.66})];
     139        border-bottom: 1px solid #ddd;
     140}
     141.formulaire_editer_auteur .editer_contact legend {
     142        background: [#(#GET{claire}|couleur_eclaircir{0.66})];
     143}
Note: See TracChangeset for help on using the changeset viewer.