Changeset 72081 in spip-zone


Ignore:
Timestamp:
Apr 16, 2013, 12:37:26 PM (6 years ago)
Author:
gildas.cotomale@…
Message:

Regroupements des interfaces de pipelines (hors autorisations et déclarations tables) en un fichier

Location:
_plugins_/Associaspip/trunk
Files:
2 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/Associaspip/trunk/association_pipelines.php

    r72080 r72081  
    2525}
    2626
     27/**
     28 * Interface avec le plugin "Champs Extras 2" : ajout de
     29 * asso_activites, asso_comptes, asso_membres, asso_ressources
     30 * a la liste des objets pouvant recevoir des champs extras...
     31**/
     32function association_objets_extensibles($objets){
     33        return array_merge($objets, array(
     34                'asso_membre' => _T('asso:membres'), // Adherent(e)s/Membres
     35                'asso_compte' => _T('asso:comptes'), // Grand Livre/Journal Comptable
     36                'asso_activite' => _T('asso:activites'), // Inscriptions et Participations financiere des membres aux activites
     37                'asso_ressource' => _T('asso:ressources'), // Ressources (par ex. livres) pretes
     38        ));
     39}
     40
     41function association_post_edition($flux) {
     42        $id = $flux['args']['id_objet'];
     43        if ($id AND $flux['args']['table']=='spip_auteurs') {
     44                if ($GLOBALS['association_metas']['import_auteur_auto']) {
     45                        update_spip_asso_membre($id);
     46                }
     47        }
     48}
     49
     50function update_spip_asso_membre($id_auteur) {
     51        $auteur = sql_fetsel('statut, nom', 'spip_auteurs', "id_auteur=$id_auteur");
     52        if ($auteur['statut']=='5poubelle') { // auteur a la poubelle : on le met aussi a la poubelle dans asso_membres si il est present dans la table
     53                if (sql_getfetsel('id_auteur', 'spip_asso_membres', "id_auteur=$id_auteur")) {
     54                        sql_updateq('spip_asso_membres', array('statut_interne' => 'sorti'), "id_auteur=$id_auteur");
     55                }
     56                return;
     57        }
     58        $modif = array();
     59        $nom = $auteur['nom']; // on recupere les noms et prenoms dans le champ nom de l'auteur SPIP
     60        if ($nom) {
     61                /* selection du format d'import du champ non */
     62                if ($GLOBALS['association_metas']['import_nom_auteur']=='prenom_nom') {
     63                        list($prenom, $nom) = preg_split('/\s+/', $nom, 2);
     64                        if (!$nom) { // il n'y avait qu'une seule chaine : on la met dans le nom et le prenom reste vide
     65                                $nom = $prenom;
     66                                $prenom = '';
     67                        }
     68                } elseif ($GLOBALS['association_metas']['import_nom_auteur']=='nom') {
     69                        $prenom = '';
     70                } else { // defaut: format nom prenom
     71                        list($nom, $prenom) = preg_split('/\s+/', $nom, 2); //!\ on ne sait pas gerer le cas ou le nom de famille contient un espace
     72                }
     73        } else { // s'il est vide, le nom sera Adherent XX
     74                $nom = _T('asso:activite_entete_adherent').' '.$id_auteur;
     75                $prenom = '';
     76        }
     77        $membre = sql_fetsel('id_auteur,statut_interne', 'spip_asso_membres', "id_auteur=$id_auteur");
     78        if ($membre['id_auteur']) { // si l'auteur est deja present dans la base : on en modifie pas les noms/prenoms qui peuvent etre edite directement dans la page d'edition du membre
     79                if ($membre['statut_interne']=='sorti') {
     80                        $modif['statut_interne'] = 'prospect'; // si un auteur est edite mais correspond a un membre sorti, on le repasse en prospect
     81                        sql_updateq('spip_asso_membres', $modif, "id_auteur=$id_auteur");
     82                }
     83        } else { // sinon on l'ajoute avec comme statut par defaut prospect
     84                $modif['nom_famille'] = $nom;
     85                $modif['prenom'] = $prenom;
     86                $modif['statut_interne'] = 'prospect';
     87                $modif['id_auteur'] = $id_auteur;
     88                if ($GLOBALS['association_metas']['categorie_par_defaut']) {
     89                        // on affecte une categorie definie par defaut en configuration
     90                        // le test parait inutile puisque de toute facon on a "0"
     91                        // ...sauf si la definition en base de donnees est changee pour une autre
     92                        // valeur par defaut qu'on preserve alors.
     93                        $modif['id_categorie'] = $GLOBALS['association_metas']['categorie_par_defaut'];
     94                }
     95                sql_insertq('spip_asso_membres', $modif);
     96        }
     97}
     98
    2799?>
  • _plugins_/Associaspip/trunk/plugin.xml

    r72080 r72081  
    3737        <pipeline>
    3838                <nom>post_edition</nom>
    39                 <inclure>inc/post_edition.php</inclure>
     39                <inclure>association_pipelines.php</inclure>
    4040        </pipeline>
    4141
     
    4949        <pipeline>
    5050                <nom>objets_extensibles</nom>
    51                 <inclure>inc/association_cextras.php</inclure>
     51                <inclure>association_pipelines.php</inclure>
    5252        </pipeline>
    5353
Note: See TracChangeset for help on using the changeset viewer.