Newer
Older
<?php
/**
* Utilisations de pipelines par Blocks
*
* @plugin Blocks
* @copyright 2023
* @author nicod_
* @licence GNU/GPL
* @package SPIP\Blocks\Pipelines
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function blocks_header_prive($flux) {
$flux .= '<link rel="stylesheet" href="' . timestamp(find_in_path('css/blocks_prive.css')) . '" type="text/css" />';
* Afficher la gestion des blocks sur la vue des objets
*
* @pipeline afficher_contenu_objet
* @param array $flux Données du pipeline
* @return array Données du pipeline
**/
function blocks_afficher_contenu_objet($flux) {
if (
($objet = $flux['args']['type'])
&& ($args = $flux['args'] ?? [])
&& ($id_objet = $args['id_objet'] ?? null)
&& ($objets = lire_config('blocks/objets'))
&& in_array(table_objet_sql($objet), $objets)
) {
$texte = recuperer_fond(
'prive/squelettes/inclure/blocks_objet',
['ajax' => 'blocks_objet']
);
if ($p = strpos($flux['data'], '<!--affiche_milieu-->')) {
$flux['data'] = substr_replace($flux['data'], $texte, $p, 0);
} else {
$flux['data'] .= $texte;
}
}
/**
* Optimiser la base de données
*
* Supprime les liens orphelins de l'objet vers quelqu'un et de quelqu'un vers l'objet.
* Supprime les objets à la poubelle.
*
* @pipeline optimiser_base_disparus
* @param array $flux Données du pipeline
* @return array Données du pipeline
*/
function blocks_optimiser_base_disparus($flux) {
include_spip('action/editer_liens');
$flux['data'] += objet_optimiser_liens(['block' => '*'], '*');
sql_delete('spip_blocks', "statut='poubelle' AND maj < " . $flux['args']['date']);
return $flux;
}
/**
* Pipeline de la corbeille, permet de définir les objets à supprimer
*
* @param array $param Tableau d'objets
* @return array Tableau d'objets complété
*/
function blocks_corbeille_table_infos($param) {
$param['blocks'] = [
'statut' => 'poubelle',
'table' => 'spip_blocks',
];
return $param;
}