hellofacteurV1/ctrl/compte_abo_affiche.php

172 lines
8.8 KiB
PHP
Executable File

<?php
/**
* Script affichant le formulaire permettant de modifier / supprimer un abonnement
* dont l'id a été passé en paramètre
* Peut être appelé en ajax ou directement en php si JS désactivé
*
**/
$ajax_on=false;
if(!empty($_GET["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_abonnement.php");
}
$form_html="";
if(empty($_SESSION["id_utilisateur"]))
$form_html=ERREUR_IMPREVUE;
else
{
$user=new FclFlux_utilisateur();
$user->id_utilisateur=intval($_SESSION["id_utilisateur"]);
$id_abonnement=intval(trim($_GET["id_abonnement"]));
if(empty($Bd))
require("../modele/connexion-bd.php");
$tab_infos=FclFlux_abonnement::recherche($id_abonnement,$user,"designation,jours_alerte,heure_alerte,max_liens,ville_insee");
$form["designation"]=$tab_infos["designation"];
$form["jours_alerte"]=$tab_infos["jours_alerte"];
$form["heure_alerte"]=$tab_infos["heure_alerte"];
$form["max_liens"]=$tab_infos["max_liens"];
$form["ville_insee"]=$tab_infos["ville_insee"];
$form["id_abonnement"]=$id_abonnement;
$abo=new FclFlux_abonnement();
$abo->id_abonnement=$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_proposes);
}
unset($hubs_existants);
// 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;
if(!empty($form))
{
$access_rapides="<p class='liste_liens_btn'><b>Autres actions possibles :</b> <a href='".PAGE_ABSENCES_LISTE."' class='btn btn-success' title=\"Gérer mes périodes d'absence.\" target='_blank'>Stopper les envois temporairement.</a> <a href='".PAGE_ABO_AFFICHE.$id_abonnement."/' class='btn btn-success' title=\"Voir les actus.\" target='_blank'>Voir cet abonnement.</a> <a href='".PAGE_REPERTOIRE_ACCUEIL."' class='btn btn-info' title='Créer un nouvel abonnement' target='_blank'>+ Nouvel abonnement.</a></p>";
$form["nom"]="Mon abonnement.";
$form["champs"]="<form method='post' id='maj_abo' action='".PAGE_ABO_MAJ.$id_abonnement."' role='form' class='form-horizontal'>
<div class='form-group'>
<label for='designation' class='col-sm-3 control-label'>Désignation :</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".ABO_MAX_DESIGNATION."' name='designation' id='designation' value=\"".htmlspecialchars($form["designation"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>.</p></div>
</div>";
$jours=explode(",",$form["jours_alerte"]);
$form["champs"].="<div class='form-group'><label for='jours_alerte[]' class='col-sm-3 control-label'>Jours de réception : </label><div class='col-sm-9'>";
$i=0;
while(isset($Jours_semaine[$i]))
{
if(strpos($form["jours_alerte"],"[$i]")!==false)
$form["champs"].="<label class='checkbox-inline'><input type='checkbox' name='jours_alerte[]' value='$i' checked='checked'> ".$Jours_semaine[$i]."</label>";
else
$form["champs"].="<label class='checkbox-inline'><input type='checkbox' name='jours_alerte[]' value='$i'> ".$Jours_semaine[$i]."</label>";
$i++;
}
$form["champs"].="</div><div class='col-sm-offset-3 col-sm-9'><p class='help-block'>Si vous ne souhaitez recevoir aucun email, ne laissez coché aucun jour de la semaine.<br>Vous pourrez continuer à consulter votre abonnement sur le site.</p></div>
</div>";
$heures_ok=explode("|","00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23");
$form["champs"].="<div id='heure_alerte'>
<div class='form-group'>
<label for='heure_alerte' class='col-sm-3 control-label'>Heure d'envoi :</label>
<div class='col-sm-9'><select name='heure_alerte' class='form-control' style='width:100px'>";
foreach ($heures_ok as $heure)
{
if($heure==$form["heure_alerte"])
$form["champs"].="<option value='".$heure."' selected=selected>".htmlentities(affiche_utf8($heure,UTF8_OK))." H</option>";
else
$form["champs"].="<option value='".$heure."'>".htmlentities(affiche_utf8($heure,UTF8_OK))." H</option>";
}
$form["champs"].="</select></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'>Heure de départ pour l'envoi de votre abonnement par email.<br>
Il peut y a voir un délai de 24H avant que le changement d'heure de départ soit pris en compte.</p></div>
</div>
<div class='form-group'>
<label for='max_liens' class='col-sm-3 control-label'>Nombre maximum d'actualités par envoi ?</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='3' name='max_liens' id='max_liens' value=\"".intval($form["max_liens"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'>Choisissez le nombre <b><u>maximum d'actualités</u></b> (il peut y en avoir moins !) que pourront contenir les messages envoyés par Hello facteur pour cet abonnement. Ce nombre doit être compris entre ".$Abo_max_liens["min"]." et ".$Abo_max_liens["max"].".</p></div>
</div>";
// si actus locales, on peut ici modifier la ville centrale.
if(!empty($ville_infos))
{
$form["champs"].="<div id='sup_villes'><div class='col-sm-12'><p><b>Cet abonnement a été créé pour la ville de : ".htmlentities(affiche_utf8($ville_infos[0]["nom"],UTF8_OK))." (".$ville_infos[0]["cp"].")</b>.<br>Si ce n'est plus la bonne ville, saisissez ci-dessous le bon code postal (ou au moins 3 lettres du nom la nouvelle ville). Ceci se répercutera sur les actualités locales que vous recevez.</p></div>
<input type='hidden' name='insee' id='insee' value=\"".$ville_infos[0]["insee"]."\" ></div>
<div class='form-group'>
<label for='cp_ville' class='col-sm-3 control-label'>Votre nouvelle ville :</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='35' name='cp_ville' id='cp_ville'></div>
</div>
<input type='hidden' name='a_insee' id='a_insee' value=\"".$ville_infos[0]["insee"]."\" >";
}
$form["champs"].="<div class='form-group'>
<div class='col-sm-offset-3 col-sm-9'>
<div class='checkbox'>
<label class='text-danger' for='abo_suppr'>
<input type='checkbox' name='abo_suppr' id='abo_suppr' value='1'> Je souhaite supprimer cet abonnement.
</label>
</div></div></div>
<div id='msg_abo'></div>
<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><button type='submit' class='btn btn-success btn-lg' id='btn_submit1'>Enregistrer.</button></div></div>
<br>
$access_rapides";
if(!empty($hubs_actuels))
{
$form["champs"].="<div class='form-group list_overflow'><div class='col-sm-offset-1 col-sm-11'><label for='hubs_suppr[]'>Cet abonnement concerne actuellement :</label><ul>";
foreach($hubs_actuels as $hub_infos)
{
$form["champs"].="<li><b>".$hub_infos["nom"]."</b> <input type='checkbox' name='hubs_suppr[]' value='".$hub_infos["id_hub"]."'> Enlever de mon abonnement.";
if(!empty($hub_infos["description"]))
$form["champs"].="<br><i>".$hub_infos["description"]."</i>";
$form["champs"].="</li>";
}
$form["champs"].="</ul></div></div>
<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><button type='submit' class='btn btn-success btn-lg' id='btn_submit2'>Enregistrer.</button></div></div>";
if(!empty($hubs_nouveaux))
{
$form["champs"].="<div class='form-group list_overflow'><div class='col-sm-offset-1 col-sm-11'><label for='hubs_ajout[]'>Autres suggestions pour cet abonnement :</label><ul>";
foreach($hubs_nouveaux as $hub_infos)
{
$form["champs"].="<li><b>".$hub_infos["nom"]."</b> <input type='checkbox' name='hubs_ajout[]' value='".$hub_infos["id_hub"]."'> Ajouter à mon abonnement.";
if(!empty($hub_infos["description"]))
$form["champs"].="<br><i>".$hub_infos["description"]."</i>";
$form["champs"].="</li>";
}
$form["champs"].="</ul></div></div>
<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><button type='submit' class='btn btn-success btn-lg' id='btn_submit3'>Enregistrer.</button></div></div>";
}
}
$form["champs"].="<p><input type='hidden' name='id_abonnement' id='id_abonnement' value='".$form["id_abonnement"]."'></form>";
}
}
if((!empty($form))&&($ajax_on))
echo get_html_form($form,false);