source: spip-zone/_plugins_/espaces/branches/v1/espaces_pipelines.php @ 114067

Last change on this file since 114067 was 114067, checked in by abelass@…, 2 years ago

Objet éditorial espaces. Par exemple les espaces d'un immeuble. Utilisé par location d'immeubles

File size: 1.7 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par Espaces
4 *
5 * @plugin     Espaces
6 * @copyright  2018 - 2019
7 * @author     Rainer Müller
8 * @licence    GNU/GPL v3
9 * @package    SPIP\Espaces\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13  return;
14}
15
16/**
17 * Ajout de contenu sur certaines pages,
18 * notamment des formulaires de liaisons entre objets
19 *
20 * @pipeline affiche_milieu
21 * @param  array $flux Données du pipeline
22 * @return array       Données du pipeline
23 */
24function espaces_affiche_milieu($flux) {
25  include_spip('inc/config');
26  $texte = '';
27  $e = trouver_objet_exec($flux['args']['exec']);
28  $objets_cibles = lire_config('espaces/objets', array());
29
30  // Objets_informations sur les objets choisis.
31  if (!$e['edition'] and in_array($e['table_objet_sql'], $objets_cibles)) {
32    $texte .= recuperer_fond('prive/objets/editer/liens', array(
33      'table_source' => 'espaces',
34      'objet' => $e['type'],
35      'id_objet' => $flux['args'][$e['id_table_objet']]
36    ));
37  }
38
39  if ($texte) {
40    if ($p = strpos($flux['data'], '<!--affiche_milieu-->')) {
41      $flux['data'] = substr_replace($flux['data'], $texte, $p, 0);
42    } else {
43      $flux['data'] .= $texte;
44    }
45  }
46
47  return $flux;
48}
49
50
51/**
52 * Optimiser la base de données
53 *
54 * Supprime les liens orphelins de l'objet vers quelqu'un et de quelqu'un vers l'objet.
55 * Supprime les objets à la poubelle.
56 *
57 * @pipeline optimiser_base_disparus
58 * @param  array $flux Données du pipeline
59 * @return array       Données du pipeline
60 */
61function espaces_optimiser_base_disparus($flux) {
62
63  include_spip('action/editer_liens');
64  $flux['data'] += objet_optimiser_liens(array('espace'=>'*'), '*');
65
66  sql_delete('spip_espaces', "statut='poubelle' AND maj < " . $flux['args']['date']);
67
68  return $flux;
69}
Note: See TracBrowser for help on using the repository browser.