Changeset 108396 in spip-zone


Ignore:
Timestamp:
Jan 8, 2018, 9:49:54 AM (17 months ago)
Author:
kent1@…
Message:

Version 3.7.0

Insertion dans le pipeline pre_edition (SPIP)

Lors de la création d'une traduction d'objet, récupérer les infos de composition

Location:
_plugins_/compositions/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/compositions/trunk/compositions_pipeline.php

    r108391 r108396  
    146146}
    147147
     148/**
     149 * Insertion dans le pipeline pre_edition (SPIP)
     150 *
     151 * Lors de la création d'une traduction d'objet, récupérer les infos de composition
     152 *
     153 * @param array $flux
     154 * @return array
     155 */
     156function compositions_pre_edition($flux) {
     157        if ($flux['args']['action'] == 'completer_traduction') {
     158                $champs = array('composition', 'composition_lock');
     159                if ($flux['args']['type'] == 'rubrique') {
     160                        $champs[] = 'composition_branche_lock';
     161                }
     162                /**
     163                 * S'assurer que les champs sont bien là pour éviter les erreurs SQL
     164                 */
     165                $trouver_table = charger_fonction('trouver_table','base');
     166                $desc = $trouver_table(table_objet_sql($flux['args']['type']));
     167                foreach ($champs as $champ) {
     168                        if (empty($desc['field'][$champ])) {
     169                                unset($champs[$champ]);
     170                        }
     171                }
     172                if (count($champs) > 0) {
     173                        $_id_table = id_table_objet($flux['args']['type']);
     174                        $id_trad = sql_getfetsel('id_trad', $flux['args']['table'], $_id_table .'='. intval($flux['args']['id_objet']));
     175                        $set = sql_fetsel($champs, $flux['args']['table'], $_id_table . '=' . intval($id_trad));
     176                        $flux['data'] = array_merge($flux['data'], $set);
     177                }
     178        }
     179        return $flux;
     180}
  • _plugins_/compositions/trunk/paquet.xml

    r104922 r108396  
    22        prefix="compositions"
    33        categorie="outil"
    4         version="3.6.0"
     4        version="3.7.0"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
     
    2929        <pipeline nom="ieconfig_metas" inclure="compositions_ieconfig.php" />
    3030        <pipeline nom="compositions_declarer_heritage"  inclure="compositions_pipeline.php" />
     31        <pipeline nom="pre_edition" inclure="compositions_pipeline.php" />
    3132
    3233        <utilise nom="Z" compatibilite="[1.7.14;]" />
Note: See TracChangeset for help on using the changeset viewer.