Changeset 94507 in spip-zone


Ignore:
Timestamp:
Jan 8, 2016, 2:42:28 PM (4 years ago)
Author:
marcimat@…
Message:

Une table qui a des champs id_rubrique et id_secteur doit les garder synchronisés
en utilisant le trigger propager les secteurs. C'est ce qu'on ajoute ici.

Location:
_plugins_/fabrique/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/fabrique/trunk/fabrique/paquet.xml.html

    r90609 r94507  
    5959        afficher_contenu_objet,
    6060        objet_compte_enfants,
    61         optimiser_base_disparus}>[
     61        optimiser_base_disparus,
     62        trig_propager_les_secteurs}>[
    6263        <pipeline nom="#VALEUR" inclure="[(#PREFIXE)]_pipelines.php" />(#OBJETS|fabrique_necessite_pipeline{#VALEUR}|oui)]</BOUCLE_pipelines>
    6364<BOUCLE_boutons(DATA){source tableau,#OBJETS}>[
  • _plugins_/fabrique/trunk/fabrique/prefixe_pipelines.php.html

    r90304 r94507  
    213213        $flux['data'] += objet_optimiser_liens(array(<BOUCLE_objets_optimiser_base_disparus(DATA){source tableau,(#OBJETS|objets_options_presentes{table_liens})}{', '}>'#TYPE'=>'*'</BOUCLE_objets_optimiser_base_disparus>),'*');
    214214        return $flux;
    215 }</BOUCLE_si_optimiser_base_disparus>
    216 
     215}</BOUCLE_si_optimiser_base_disparus>[
     216(#REM)
     217
     218
     219
     220        TRIG PROPAGER LES SECTEURS
     221
     222
     223
     224]
     225<B_trig_propager_les_secteurs>
     226/**
     227 * Synchroniser la valeur de id secteur
     228 *
     229 * @pipeline trig_propager_les_secteurs
     230 * @param  string $flux Données du pipeline
     231 * @return string       Données du pipeline
     232**/
     233function [(#PREFIXE)]_trig_propager_les_secteurs($flux) {
     234<BOUCLE_trig_propager_les_secteurs(DATA){source tableau,(#OBJETS|objets_options_presentes{#LISTE{id_rubrique,id_secteur}})}>
     235        // synchroniser #TABLE
     236        $r = sql_select("A.#ID_OBJET AS id, R.id_secteur AS secteur", "#TABLE AS A, spip_rubriques AS R",
     237                "A.id_rubrique = R.id_rubrique AND A.id_secteur <> R.id_secteur");
     238        while ($row = sql_fetch($r)) {
     239                sql_update("#TABLE", array("id_secteur" => $row['secteur']), "#ID_OBJET=" . $row['id']);
     240        }
     241</BOUCLE_trig_propager_les_secteurs>
     242        return $flux;
     243}
     244</B_trig_propager_les_secteurs>
     245
  • _plugins_/fabrique/trunk/fabrique_fonctions.php

    r92926 r94507  
    916916                        #return (bool)fabrique_lister_tables($objets, 'objets');
    917917                        break;
     918                       
     919                case "trig_propager_les_secteurs":
     920                        if (objets_options_presentes($objets, array('id_rubrique', 'id_secteur'))) {
     921                                return true;
     922                        }
     923                        break;
    918924        }
    919925        return false;
  • _plugins_/fabrique/trunk/paquet.xml

    r93506 r94507  
    22        prefix="fabrique"
    33        categorie="outil"
    4         version="2.0.24"
     4        version="2.0.25"
    55        etat="test"
    66        compatibilite="[3.1.0-dev;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.