e884abac1062473c44f4326947f9c8e8133432b0
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2016 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
14 * Utilisations de pipelines
16 * @package SPIP\Vertebres\Pipelines
19 if (!defined('_ECRIRE_INC_VERSION')) {
23 if (!defined('_DIR_VERTEBRES')) {
25 * Chemin du répertoire stockant les squelettes calculés des vertèbres
29 define('_DIR_VERTEBRES', _DIR_CACHE
. 'vertebres/');
33 * Déterminer l'utilisation du vertebreur
35 * Lorsqu'on inclut le squelette `prive/vertebres:$table`,
36 * vérifier l'autorisation et créer le squelette spécifique
37 * à la table demandée si on la trouve
40 * @uses base_trouver_table_dist()
41 * @uses public_vertebrer_dist()
43 * @param array $flux Données du pipeline
44 * @return array Données du pipeline
46 function vertebres_styliser($flux) {
48 // si pas de squelette trouve,
49 // on verifie si on demande une vue de table
50 if (!$squelette = $flux['data']
51 and $fond = $flux['args']['fond']
52 and strncmp($fond, 'prive/vertebres:', 16) == 0
53 and $table = substr($fond, 16)
54 and include_spip('inc/autoriser')
55 and autoriser('webmestre')
58 $ext = $flux['args']['ext'];
59 $connect = $flux['args']['connect'];
61 // Si pas de squelette regarder si c'est une table
62 // et si l'on a la permission de l'afficher
63 $trouver_table = charger_fonction('trouver_table', 'base');
64 if ($desc = $trouver_table($table, $connect)) {
66 $base = _DIR_VERTEBRES
. 'table_' . $fond . ".$ext";
67 if (!file_exists($base) or (defined('_VAR_MODE') and _VAR_MODE
)) {
68 sous_repertoire(_DIR_VERTEBRES
);
69 $vertebrer = charger_fonction('vertebrer', 'public');
70 ecrire_fichier($base, $vertebrer($desc));
73 // sauver les changements
74 $flux['data'] = _DIR_VERTEBRES
. 'table_' . $fond;