hellofacteurV1/ctrl/admin_flux_infos_tests.php

89 lines
2.9 KiB
PHP
Executable File

<?php
/**
* Script testant les données envoyées lors de l'enregistrement des données saisies pour un flux
* lors de sa création ou 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"]);
if(!empty($_POST["source_id"]))
$form["source_id"]=intval(trim($_POST["source_id"]));
if(!empty($_POST["langue"]))
$form["langue"]=$_POST["langue"];
else
$form["langue"]="fr";
if(!empty($_POST["frequence_maj"]))
$form["frequence_maj"]=$_POST["frequence_maj"];
else
$form["frequence_maj"]="H";
$form["memo"]=trim($_POST["memo"]);
$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_flux.php");
}
$msg_form=array();
if((empty($_POST["designation"]))||(empty($_POST["url"]))||(empty($_POST["source_id"]))||(empty($_POST["langue"]))||(empty($_POST["frequence_maj"])))
$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;
$source=new FclFlux_source();
$source->id_source=$form["source_id"];
$form["source"]=$source;
require_once("../modele/connexion-bd.php");
$form["limites"]["designation_long_min"]=FLUX_MIN_NOM;
$form["limites"]["designation_long_max"]=FLUX_MAX_NOM;
$form["limites"]["url_long_max"]=FLUX_MAX_URL;
$form["limites"]["description_long_max"]=FLUX_MAX_DESCRIPTION;
$form["limites"]["memo_long_max"]=FLUX_MAX_MEMO;
$flux=new FclFlux_flux($form);//test les différentes valeurs fournies
if(!empty($flux->erreurs))
$msg_form=array_merge($flux->erreurs,$msg_form);
/*else if(empty($flux->lecture(5)))//test de lecture du flux (mais pas forcément un flux ! ex : meetoyen)
$msg_form[]=ERREUR_FLUX_INFOS;*/
else if(empty($flux->get_contenu(30.0)))//test de lecture du flux
$msg_form[]=ERREUR_FLUX_LECTURE;
if(empty($msg_form))
{
if(!empty($_POST["id_flux"]))
{
$form["id_flux"]=$_POST["id_flux"];//utile pour réaffichage si pas en ajax
$flux->id_flux=intval(trim($_POST["id_flux"]));
$action=$flux->actualise();
}
else
$action=$flux->ajout();
if(!empty($flux->erreurs))
$msg_form=array_merge($flux->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($flux->id_flux)))
echo $flux->id_flux;//tout s'est bien passé, je recharge le flux en ajax
else
{
foreach($msg_form as $message)
echo "<h4>$message</h4>";
}
}