89 lines
2.9 KiB
PHP
89 lines
2.9 KiB
PHP
|
<?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>";
|
||
|
}
|
||
|
}
|