hellofacteurV1/ctrl/admin_sources_infos_tests.php

70 lines
2.1 KiB
PHP
Executable File

<?php
/**
* Script testant les données envoyées lors de l'enregistrement d'une nouvelle source de flux
* ou encore de sa mise à jour
* Peut être appelé en ajax ou directement en php si JS désactivé
*
**/
$form["designation"]=trim($_POST["designation"]);
$form["url"]=trim($_POST["url"]);
$form["description"]=trim($_POST["description"]);
$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_source.php");
}
$msg_form=array();
if((empty($_POST["designation"]))||(empty($_POST["url"])))
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
else
{
if($_SESSION["statut"]!="administrateur")
$msg_form[]=ERREUR_IMPREVUE;
else
{
$form["limites"]["designation_long_min"]=SOURCE_MIN_NOM;
$form["limites"]["designation_long_max"]=SOURCE_MAX_NOM;
$form["limites"]["url_long_max"]=SOURCE_MAX_URL;
$form["limites"]["description_long_max"]=SOURCE_MAX_DESCRIPTION;
$auteur=new FclFlux_utilisateur();
$auteur->id_utilisateur=$_SESSION["id_utilisateur"];
$form["auteur"]=$auteur;
if(empty($Bd))
require("../modele/connexion-bd.php");
$source=new FclFlux_source($form);
if(!empty($source->erreurs))
$msg_form=array_merge($source->erreurs,$msg_form);
else if(empty($source->get_entetes()))
$msg_form[]=ERREUR_LIEN_CONTENU_EXISTE;
if(empty($msg_form))
{
if(!empty($_POST["id_source"]))
{
$form["id_source"]=$_POST["id_source"];//utile pour réaffichage si pas en ajax
$source->id_source=intval(trim($_POST["id_source"]));
$action=$source->actualise();
}
else
$action=$source->ajout();
if(!empty($source->erreurs))
$msg_form=array_merge($source->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($source->id_source)))
echo $source->id_source;//tout s'est bien passé, je recharge les données en ajax
else
echo get_html_alerte_msg($msg_form);
}