hellofacteurV1/ctrl/admin_hub_post_ajout_tests.php

68 lines
2.0 KiB
PHP
Raw Normal View History

2021-11-02 11:23:49 +01:00
<?php
/**
* Script testant les données envoyées lors de l'enregistrement des données saisies pour un hub
* lors de sa création ou de sa mise à jour
* Peut être appelé en ajax ou directement en php si JS désactivé
*
**/
$form["ancre"]=trim($_POST["ancre"]);
$form["annonce"]=trim($_POST["annonce"]);
$form["url"]=trim($_POST["url"]);
$ajax_on=false;
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_post.php");
}
$msg_form=array();
if((empty($form["ancre"]))||((empty($form["url"]))&&(empty($form["annonce"])))||(empty($_POST["id_hub"])))
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
else
{
if($_SESSION["statut"]!="administrateur")
$msg_form[]=ERREUR_IMPREVUE;
else
{
$auteur=new FclFlux_utilisateur();
$auteur->id_utilisateur=$_SESSION["id_utilisateur"];
$form["auteur"]=$auteur;
$hub=new FclFlux_hub();
$hub->id_hub=intval(trim($_POST["id_hub"]));
$form["hub"]=$hub;
if(empty($Bd))
require("../modele/connexion-bd.php");
$form["limites"]["ancre_long_min"]=POST_MIN_ANCRE;
$form["limites"]["ancre_long_max"]=POST_MAX_ANCRE;
$form["limites"]["annonce_long_min"]=POST_MIN_ANNONCE;
$form["limites"]["annonce_long_max"]=POST_MAX_ANNONCE;
$form["limites"]["url_long_max"]=POST_MAX_URL;
$post=new FclFlux_post($form);
if(!empty($post->erreurs))
$msg_form=array_merge($post->erreurs,$msg_form);
if(empty($msg_form))
{
$action=$post->ajout();
if(!empty($post->erreurs))
$msg_form=array_merge($post->erreurs,$msg_form);
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é, je recharge le hub en ajax
else
{
foreach($msg_form as $message)
echo "<h4>$message</h4>";
}
}