hellofacteurV1/ctrl/admin_hub_admins_tests.php

76 lines
1.9 KiB
PHP
Executable File

<?php
/**
* Script testant les données envoyées lors des demandes d'ajout/suppression d'administrateurs à un hub.
* Peut être appelé en ajax ou directement en php si JS désactivé
*
**/
if(!empty($_POST["ajax"]))
{
$ajax_on=true;
session_save_path(SESSIONS_REP);
ini_set("session.use_only_cookies",1);
session_start();
header('Content-Type: text/html; charset=utf-8');
require_once("../modele/FclFlux_hub.php");
}
if(!empty($_POST["id_hub"]))
$id_hub=intval(trim($_POST["id_hub"]));
if(!empty($_POST["liste_utilisateurs"]))
$nouvel_admin=intval(trim($_POST["liste_utilisateurs"]));
$suppr_admin=array();
if(!empty($_POST["suppr_admin"]))
{
foreach($_POST['suppr_admin'] as $id)
$suppr_admin[]=intval($id);
}
$msg_form=array();
if(((empty($nouvel_admin))&&(empty($suppr_admin)))||(empty($id_hub)))
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
else
{
if($_SESSION["statut"]!="administrateur")
$msg_form[]=ERREUR_IMPREVUE;
else
{
if(empty($Bd))
require("../modele/connexion-bd.php");
$hub=new FclFlux_hub();
$hub->id_hub=$id_hub;
if(!empty($nouvel_admin))
{
$admin=new FclFlux_utilisateur();
$admin->id_utilisateur=$nouvel_admin;
$action=$hub->ajout_admin($admin);
if(!empty($hub->erreurs))
$msg_form=$hub->erreurs;
elseif($action===false)
$msg_form[]=ERREUR_IMPREVUE;
}
if(!empty($suppr_admin))
{
foreach($suppr_admin as $admin_id)
{
$admin=new FclFlux_utilisateur();
$admin->id_utilisateur=$admin_id;
$action=$hub->suppr_admin($admin);
if(!empty($hub->erreurs))
$msg_form=$hub->erreurs;
elseif($action===false)
$msg_form[]=ERREUR_IMPREVUE;
}
}
if(empty($msg_form))
$msg_form[]=MSG_ADMIN_VALID;
$Bd=null;
}
}
if((!empty($msg_form))&&($ajax_on))
{
if(($msg_form[0]==MSG_ADMIN_VALID)&&(!empty($hub->id_hub)))
echo $hub->id_hub;//tout s'est bien passé, j'actualise l'affichage
else
{
foreach($msg_form as $message)
echo "<h4>$message</h4>";
}
}