Skip to content
Extraits de code Groupes Projets
blocks_pipelines.php 1,74 ko
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) {
nicod's avatar
nicod a validé
	$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',
nicod's avatar
nicod a validé
				'objet'    => $objet,
				'id_objet' => $id_objet,
			['ajax' => 'blocks_objet']
		);
		if ($p = strpos($flux['data'], '<!--affiche_milieu-->')) {
			$flux['data'] = substr_replace($flux['data'], $texte, $p, 0);
		} else {
			$flux['data'] .= $texte;
		}
	}
	return $flux;
}

/**
 * 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']);