mirror of
https://github.com/pierre42100/comunic
synced 2025-09-21 06:49:17 +00:00
First commit
This commit is contained in:
87
inc/pages/homeUser/addPost/controllers/postSurvey.inc.php
Normal file
87
inc/pages/homeUser/addPost/controllers/postSurvey.inc.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<?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
|
||||
}
|
Reference in New Issue
Block a user