hellofacteurV1/ctrl/compte_abo_maj.php

97 lines
2.9 KiB
PHP
Executable File

<?php
/**
* Script affichant les informations d'un abonnement dans un formulaire pour enregistrer une mise à jour ou le suppprimer
* Données concernées : désignation de l'abonnement, jours & horaires de l'envoi, liste des hubs concernés, nombre maximum de lien et ville principale si abonnement aux actualités locales.
*
**/
require_once("../modele/FclFlux_abonnement.php");
$user=new FclFlux_utilisateur();
if((!empty($page[3]))&&(!empty($page[4])))
{
if(empty($Bd))
require("../modele/connexion-bd.php");
$user->crea_session_lien_abo($page[3],$page[4]);
if(!empty($user->connexion_ok))
{
header("Location:".PAGE_ABO_MAJ.$page[2]);// évite de garder les paramètres de connexion dans l'url.
exit();
}
}
if(!$user->test_session(false))
{
unset($user);
$redirige=PAGE_ABO_MAJ.$page[2];
FclFlux_utilisateur::crea_cookie_redirection($redirige,1);
header("Location:".PAGE_CONNEXION);
exit();
}
else
{
if(isset($_POST["designation"]))
include("../ctrl/compte_abo_maj_tests.php");
else
{
if(empty($Bd))
require("../modele/connexion-bd.php");
$abo_infos=FclFlux_abonnement::recherche(intval($page[2]),$user,"id_abonnement,designation,jours_alerte,heure_alerte,max_liens,ville_insee");
if(!empty($abo_infos["designation"]))
{
$form["designation"]=$abo_infos["designation"];
$form["jours_alerte"]=$abo_infos["jours_alerte"];
$form["heure_alerte"]=$abo_infos["heure_alerte"];
$form["id_abonnement"]=$abo_infos["id_abonnement"];
$form["max_liens"]=$abo_infos["max_liens"];
$form["ville_insee"]=$abo_infos["ville_insee"];
$abo=new FclFlux_abonnement();
$abo->id_abonnement=$abo_infos["id_abonnement"];
$hubs_existants=$abo->get_liste_hubs();
if(!empty($hubs_existants))
{
$hubs_actuels=array();$i=0;
foreach($hubs_existants as $hub_id)
{
$hub_cherche=FclFlux_hub::recherche($hub_id["id_hub"],"id_hub","id_hub,nom,description");
if(!empty($hub_cherche))
{
$hubs_actuels[$i]=$hub_cherche;
$i++;
}
}
$hubs_proposes=$abo->get_propose_hubs($hubs_existants);
if(!empty($hubs_proposes))
{
$hubs_nouveaux=array();$i=0;
foreach($hubs_proposes as $hub_id)
{
$hub_cherche=FclFlux_hub::recherche($hub_id["id_hub"],"id_hub","id_hub,nom,description");
if(!empty($hub_cherche))
{
$hubs_nouveaux[$i]=$hub_cherche;
$i++;
}
}
}
}
unset($hubs_existants);
unset($hubs_proposes);
// abonnement aux actus locales ?
if(!empty($form["ville_insee"]))
{
$ville_infos=get_villes(strval($form["ville_insee"]),"insee");
if(empty($ville_infos))
$form["ville_insee"]=null;
}
$Bd=null;
}
else
{//j'ai essayé d'afficher un abonnement n'existant pas/plus ou ne m'appartenant pas
$Bd=null;
$user->supprime_session();
unset($user);
header("Location:".SITE_URL);
exit();
}
}
//formulaire d'inscription
include("../vues/compte_abo_maj.php");
}