Skip to content
Extraits de code Groupes Projets
Valider b2663ab4 rédigé par nicod's avatar nicod
Parcourir les fichiers

refactor: Déplacement de l'action de suppression d'un block dans un fichier d'include à part

Suppression des blocks enfants en même temps que le block parent
parent f121bd2b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
<?php
function block_supprimer($id_block) {
if ((int)$id_block && autoriser('supprimer', 'block', $id_block)) {
$objet = sql_fetsel('*', 'spip_blocks', 'id_block=' . sql_quote($id_block));
$qui = (!empty($GLOBALS['visiteur_session']['id_auteur']) ? 'auteur #' . $GLOBALS['visiteur_session']['id_auteur'] : 'IP ' . $GLOBALS['ip']);
spip_log("SUPPRESSION block#$id_block par $qui : " . json_encode($objet), "blocks" . _LOG_INFO_IMPORTANTE);
sql_delete('spip_blocks', 'id_block=' . sql_quote($id_block));
include_spip('action/editer_logo');
logo_supprimer('spip_blocks', $id_block, 'on');
logo_supprimer('spip_blocks', $id_block, 'off');
$enfants = sql_allfetsel('id_block', 'spip_blocks', 'objet = "block" and id_objet = ' . $id_block);
foreach ($enfants as $enfant) {
block_supprimer($enfant['id_block']);
}
}
}
...@@ -14,41 +14,25 @@ if (!defined('_ECRIRE_INC_VERSION')) { ...@@ -14,41 +14,25 @@ if (!defined('_ECRIRE_INC_VERSION')) {
} }
/** /**
* Action pour supprimer un·e block * Action pour supprimer un block
* *
* Vérifier l'autorisation avant d'appeler l'action. * Vérifier l'autorisation avant d'appeler l'action.
* *
* @param null|int $arg * @param null|int $arg
* Identifiant à supprimer. * Identifiant à supprimer.
* En absence de id utilise l'argument de l'action sécurisée. * En absence de id utilise l'argument de l'action sécurisée.
*
* @throws \JsonException
*/ */
function action_supprimer_block_dist($arg = null) { function action_supprimer_block_dist($arg = null) {
if (is_null($arg)) { if (is_null($arg)) {
$securiser_action = charger_fonction('securiser_action', 'inc'); $securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action(); $arg = $securiser_action();
} }
$arg = intval($arg); $id_block = intval($arg);
// cas suppression
if (autoriser('supprimer', 'block', $arg)) {
if ($arg) {
$objet = sql_fetsel('*', 'spip_blocks', 'id_block=' . sql_quote($arg));
$qui = (!empty($GLOBALS['visiteur_session']['id_auteur']) ? 'auteur #' . $GLOBALS['visiteur_session']['id_auteur'] : 'IP ' . $GLOBALS['ip']);
spip_log("SUPPRESSION block#$arg par $qui : " . json_encode($objet), "suppressions" . _LOG_INFO_IMPORTANTE);
sql_delete('spip_blocks', 'id_block=' . sql_quote($arg)); include_spip('action/editer_block');
include_spip('action/editer_logo'); block_supprimer($id_block);
logo_supprimer('spip_blocks', $arg, 'on');
logo_supprimer('spip_blocks', $arg, 'off');
// invalider le cache // invalider le cache
include_spip('inc/invalideur'); include_spip('inc/invalideur');
suivre_invalideur("id='block/$arg'"); suivre_invalideur("id='block/$id_block'");
} else {
spip_log("action_supprimer_block_dist $arg pas compris");
}
}
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter