Typage des fonctions, PHPDoc, PSr et quelques sécurité manquantes (encore...).
Passage en stable de la version.master
parent
b0b098759b
commit
5148cfc98a
@ -1,91 +1,93 @@
|
||||
<?php
|
||||
/**
|
||||
* Utilisation de l'action supprimer pour l'objet inscription
|
||||
* Utilisation de l'action supprimer pour l'objet inscription.
|
||||
*
|
||||
* @plugin Maintenance de Contrib
|
||||
*
|
||||
* @copyright 2021
|
||||
* @author Eric Lupinacci
|
||||
*
|
||||
* @licence GNU/GPL
|
||||
*
|
||||
* @package SPIP\Contrib\Action
|
||||
*/
|
||||
|
||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Action pour supprimer un·e inscription
|
||||
* Action pour supprimer une inscription.
|
||||
*
|
||||
* Cette action est réservée aux utilisateurs pouvant supprimer une inscription.
|
||||
* Elle nécessite en argument l'id de l'inscription.
|
||||
*
|
||||
* Vérifier l'autorisation avant d'appeler l'action.
|
||||
* @param null|string $arguments Arguments de l'action ou null si l'action est appelée par une URL
|
||||
*
|
||||
* @param null|int $arg
|
||||
* Identifiant à supprimer.
|
||||
* En absence de id utilise l'argument de l'action sécurisée.
|
||||
* @return void
|
||||
**/
|
||||
function action_supprimer_inscription_dist($arg=null) {
|
||||
function action_supprimer_inscription_dist($arguments = null) : void {
|
||||
$need_confirm = false;
|
||||
if (is_null($arg)){
|
||||
if (null === $arguments) {
|
||||
$securiser_action = charger_fonction('securiser_action', 'inc');
|
||||
$arg = $securiser_action();
|
||||
$arguments = $securiser_action();
|
||||
$need_confirm = true;
|
||||
}
|
||||
$arg = intval($arg);
|
||||
$id_inscription = (int) $arguments;
|
||||
|
||||
if ($need_confirm){
|
||||
$ok = confirmer_supprimer_inscription_avant_action(_T('inscription:confirmer_supprimer_inscription'), _T('item_oui') . '! ' . _T('inscription:supprimer_inscription'));
|
||||
if ($need_confirm) {
|
||||
confirmer_supprimer_inscription_avant_action(
|
||||
_T('inscription:confirmer_supprimer_inscription'),
|
||||
_T('item_oui') . '! ' . _T('inscription:supprimer_inscription')
|
||||
);
|
||||
}
|
||||
|
||||
// cas suppression
|
||||
if (autoriser('supprimer', 'inscription', $arg)) {
|
||||
if ($arg) {
|
||||
$objet = sql_fetsel('*', 'spip_inscriptions', 'id_inscription=' . sql_quote($arg));
|
||||
if (autoriser('supprimer', 'inscription', $id_inscription)) {
|
||||
if ($id_inscription) {
|
||||
$objet = sql_fetsel('*', 'spip_inscriptions', 'id_inscription=' . sql_quote($id_inscription));
|
||||
$qui = (!empty($GLOBALS['visiteur_session']['id_auteur']) ? 'auteur #' . $GLOBALS['visiteur_session']['id_auteur'] : 'IP ' . $GLOBALS['ip']);
|
||||
spip_log("SUPPRESSION inscription#$arg par $qui : " . json_encode($objet), "suppressions" . _LOG_INFO_IMPORTANTE);
|
||||
spip_log("SUPPRESSION inscription#{$id_inscription} par {$qui} : " . json_encode($objet), 'suppressions' . _LOG_INFO_IMPORTANTE);
|
||||
|
||||
sql_delete('spip_inscriptions', 'id_inscription=' . sql_quote($arg));
|
||||
sql_delete('spip_inscriptions', 'id_inscription=' . sql_quote($id_inscription));
|
||||
|
||||
// invalider le cache
|
||||
include_spip('inc/invalideur');
|
||||
suivre_invalideur("id='inscription/$arg'");
|
||||
|
||||
}
|
||||
else {
|
||||
spip_log("action_supprimer_inscription_dist $arg pas compris");
|
||||
suivre_invalideur("id='inscription/{$id_inscription}'");
|
||||
} else {
|
||||
spip_log("action_supprimer_inscription_dist {$id_inscription} pas compris");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirmer avant suppression si on arrive par un bouton action
|
||||
* @param string $titre
|
||||
* @param string $titre_bouton
|
||||
* @param string|null $url_action
|
||||
* Confirmer avant suppression si on arrive par un bouton d'action.
|
||||
*
|
||||
* @param string $titre
|
||||
* @param string $titre_bouton
|
||||
* @param null|string $url_action
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function confirmer_supprimer_inscription_avant_action($titre, $titre_bouton, $url_action=null) {
|
||||
|
||||
function confirmer_supprimer_inscription_avant_action($titre, $titre_bouton, $url_action = null) {
|
||||
if (!$url_action) {
|
||||
$url_action = self();
|
||||
$action = _request('action');
|
||||
$url_action = parametre_url($url_action, 'action', $action, '&');
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$action = parametre_url($url_action, 'action');
|
||||
}
|
||||
$arg = parametre_url($url_action, 'arg');
|
||||
$confirm = md5("$action:$arg:".realpath(__FILE__));
|
||||
$arguments = parametre_url($url_action, 'arg');
|
||||
$confirm = md5("{$action}:{$arguments}:" . realpath(__FILE__));
|
||||
if (_request('confirm_action') === $confirm) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$url_confirm = parametre_url($url_action, "confirm_action", $confirm, '&');
|
||||
include_spip("inc/filtres");
|
||||
$url_confirm = parametre_url($url_action, 'confirm_action', $confirm, '&');
|
||||
include_spip('inc/filtres');
|
||||
$bouton_action = bouton_action($titre_bouton, $url_confirm);
|
||||
$corps = "<div style='text-align:center;'>$bouton_action</div>";
|
||||
$corps = "<div style='text-align:center;'>{$bouton_action}</div>";
|
||||
|
||||
include_spip("inc/minipres");
|
||||
echo minipres($titre,$corps);
|
||||
include_spip('inc/minipres');
|
||||
echo minipres($titre, $corps);
|
||||
exit;
|
||||
}
|
||||
|
@ -1,17 +1,20 @@
|
||||
<?php
|
||||
|
||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $id_controle
|
||||
* @param int $id_auteur
|
||||
* @param array $options
|
||||
* Ce contrôle permet de créer les listings des repos pour chaque organisation de la forge.
|
||||
* Les listings sont des fichiers JSON.
|
||||
*
|
||||
* @param int $id_controle Identifiant du contrôle relatif à l'exécution de la fonction
|
||||
* @param int $id_auteur Identifiant de l'auteur ayant lancé le contrôle ou 0 si c' |