mirror of
https://github.com/pierre42100/comunic
synced 2024-11-17 02:51:13 +00:00
87 lines
3.6 KiB
PHP
87 lines
3.6 KiB
PHP
<?php
|
|
/**
|
|
* Post a survey
|
|
*
|
|
* @author Pierre HUBERT
|
|
*/
|
|
|
|
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
|
|
|
|
//Enregistrement des variables
|
|
$reponses_sondage = bloquebalise($_POST['reponses_sondage']);
|
|
$question_sondage = bloquebalise($_POST['question_sondage']);
|
|
$commentaire_sondage = $_POST['commentaire_sondage'];
|
|
|
|
//Choix par défaut pour les réponses au sondage si il n'y en a aucune
|
|
if(str_replace("\n", "", $reponses_sondage) == "")
|
|
$reponses_sondage = "None";
|
|
|
|
//On commence par enregistrer le texte dans la bdd
|
|
if($_SESSION['ID'] == $idPersonn)
|
|
ajouttexte($_SESSION['ID'], $commentaire_sondage, $bdd, $niveau_visibilite, "sondage");
|
|
else //Si c'est un amis
|
|
ajouttexte_amis($_SESSION['ID'], $idPersonn, $commentaire_sondage, $bdd, $niveau_visibilite, "sondage");
|
|
|
|
//Récupération des informations sur le texte précédemment posté
|
|
$infos_texte = select_sql("texte", "texte = ? AND (ID_personne = ? OR ID_amis = ?) AND niveau_visibilite = ? ORDER BY ID DESC", $bdd, array(
|
|
$commentaire_sondage,
|
|
$_SESSION['ID'],
|
|
$_SESSION['ID'],
|
|
$niveau_visibilite
|
|
));
|
|
|
|
//On vérifie que l'on a bien notre texte
|
|
if(count($infos_texte) == 0)
|
|
{
|
|
//Rapport d'erreur à l'administration
|
|
report_error('if(count($infos_texte) == 0)', 'La variable $infos_texte ne compte aucune entrée, alors qu\'elle devrait en contenir au moins une (permet l\'ajout de sondages) dans addpost.php (inc).');
|
|
|
|
//Affichage d'un message d'erreur
|
|
affiche_message_erreur("Nous avons rencontré une erreur en interne. (Err Sondage Inser 1) L'administration a été informée de cette erreur. Nous ferons en sorte de la réparer au plus vite, veuillez réssayer d'envoyer votre sondage.");
|
|
}
|
|
else
|
|
{
|
|
//Poursuite
|
|
|
|
//Récupération de l'ID du sondage
|
|
$idPersonn_texte = $infos_texte[0]['ID'];
|
|
|
|
//Création du sondage
|
|
insert_sql("sondage", "ID_utilisateurs, ID_texte, date_creation, question", "?, ?, NOW(), ?", $bdd, array($_SESSION['ID'], $idPersonn_texte, $question_sondage));
|
|
|
|
$infos_sondage = select_sql("sondage", "ID_utilisateurs = ? AND ID_texte = ? AND question = ? ORDER BY ID DESC", $bdd, array(
|
|
$_SESSION['ID'],
|
|
$idPersonn_texte,
|
|
$question_sondage
|
|
));
|
|
|
|
if(count($infos_sondage) == 0)
|
|
{
|
|
//Rapport d'erreur à l'administration
|
|
report_error('if(count($infos_sondage) == 0)', 'La variable $infos_sondage ne compte aucune entrée, alors qu\'elle devrait en contenir au moins une (permet l\'ajout de sondages) dans addpost.php (inc).');
|
|
|
|
//Affichage d'un message d'erreur
|
|
affiche_message_erreur("Nous avons rencontré une erreur en interne. (Err Sondage Inser 2) L'administration a été informée de cette erreur. Nous ferons en sorte de la réparer au plus vite, veuillez réssayer d'envoyer votre sondage.");
|
|
|
|
exit();
|
|
}
|
|
|
|
//Récupération de l'ID du sondage
|
|
$idPersonn_sondage = $infos_sondage[0]['ID'];
|
|
|
|
//Ajout des réponses au sondage
|
|
$array_reponses = explode("\n", $reponses_sondage);
|
|
foreach($array_reponses as $traiter)
|
|
{
|
|
//Vérification de la réponse
|
|
if($traiter != "" AND $traiter != " ")
|
|
{
|
|
//Ajout du choix à la BDD
|
|
insert_sql("sondage_choix", "ID_sondage, date_creation, choix", "?, NOW(), ?", $bdd, array($idPersonn_sondage, $traiter));
|
|
}
|
|
|
|
}
|
|
|
|
//Message de succès
|
|
?><script>affiche_notification_succes("Le sondage a bien été enregistré.");</script><?php
|
|
}
|