mirror of
				https://github.com/pierre42100/comunic
				synced 2025-11-04 12:14:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			277 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			277 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Contact administration page
 | 
						|
 *
 | 
						|
 * @author Pierre HUBERT
 | 
						|
 */
 | 
						|
 | 
						|
isset($_SESSION) OR exit("Invalid call - ".$_SERVER['PHP_SELF']);
 | 
						|
 | 
						|
//Crypt inclusion
 | 
						|
$cryptinstall=path_3rdparty("crypt/cryptographp.fct.php");
 | 
						|
include $cryptinstall; 
 | 
						|
?>
 | 
						|
<!DOCTYPE html>
 | 
						|
<html>
 | 
						|
	<head>
 | 
						|
		<title>Contact - Comunic</title>
 | 
						|
		<?php include(pagesRelativePath('common/head.php')); ?>
 | 
						|
	</head>
 | 
						|
	<body class="metro">
 | 
						|
		<?php include(pagesRelativePath('common/pageTop.php')); ?>
 | 
						|
		<h1 class='titre'>Contact</h1>
 | 
						|
		<div class="nouveau_corps_page"><?php
 | 
						|
			//Récupération de la liste des types de contact
 | 
						|
			$liste_type_contact = get_list_type_contact($bdd);
 | 
						|
			
 | 
						|
			//Si il s'agit d'une personne connectée, on liste des contacts disponibles
 | 
						|
			if(isset($_SESSION['ID']))
 | 
						|
			{
 | 
						|
				//On vérifie si il faut supprimer un contact
 | 
						|
				if(isset($_GET['delete_contact']))
 | 
						|
				{
 | 
						|
					//Enregistrement du numéro de contact
 | 
						|
					$id_contact = $_GET['delete_contact']*1;
 | 
						|
					
 | 
						|
					//Vérification du numéro de contact
 | 
						|
					if($id_contact > 0)
 | 
						|
					{
 | 
						|
						//On supprime le contact
 | 
						|
						$sql = "DELETE FROM contact WHERE ID = ? AND ID_personne = ?";
 | 
						|
						
 | 
						|
						//Exécution de la requête
 | 
						|
						$requete = $bdd->prepare($sql);
 | 
						|
						$requete->execute(array($id_contact, $_SESSION['ID']));
 | 
						|
					}
 | 
						|
				}
 | 
						|
				
 | 
						|
				?><h3>Anciennes prises de contact</h3>
 | 
						|
					<?php
 | 
						|
						//Requête de recherche
 | 
						|
						$sql = "SELECT * FROM contact WHERE ID_personne = ? ORDER BY ID";
 | 
						|
						$requete = $bdd->prepare($sql);
 | 
						|
						$requete->execute(array($_SESSION['ID']));
 | 
						|
						
 | 
						|
						//Affichage des résultats
 | 
						|
						while($afficher_contact = $requete->fetch())
 | 
						|
						{
 | 
						|
							?><div class="notice marker-on-right bg-cobalt fg-white one_contact">
 | 
						|
								<?php echo $liste_type_contact[$afficher_contact['ID_type']-1]["nom_".$lang['nomlangue_raccourcis']]; ?><br />
 | 
						|
								<small><?php echo adapte_date($afficher_contact['date_envoi']); ?> (<a href="#" onClick="confirmaction('<?php echo siteURL('contact.php')."?delete_contact=".$afficher_contact['ID']; ?>', 'Voulez-vous vraiment supprimer cette prise de contact ? Ce choix est definitif !');">supprimer</a>)</small><br /><br />
 | 
						|
								
 | 
						|
								<?php echo $afficher_contact['texte']; ?>
 | 
						|
							</div><br /><?php
 | 
						|
							
 | 
						|
							//On indique qu'un contact a été afficher
 | 
						|
							$one_contact_showed = true;
 | 
						|
						}
 | 
						|
						
 | 
						|
						//Fermeture de la requête
 | 
						|
						$requete->closeCursor();
 | 
						|
						
 | 
						|
						//On vérifie si aucun contact n'a été affiché
 | 
						|
						if(!isset($one_contact_showed))
 | 
						|
						{
 | 
						|
							?><div class="notice marker-on-right bg-cobalt fg-white one_contact">
 | 
						|
								Aucune prise de contact pour l'instant
 | 
						|
							</div><?php
 | 
						|
						}
 | 
						|
						?>
 | 
						|
				<?php
 | 
						|
			}
 | 
						|
		
 | 
						|
			if(isset($_POST['texte']) AND isset($_POST['id_type']))
 | 
						|
			{
 | 
						|
				if($_POST['texte'] == "")
 | 
						|
				{
 | 
						|
					//Message d'erreur
 | 
						|
					echo('Vous n\'avez pas spécifié de contact !');
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					if(!isset($_SESSION['ID']))
 | 
						|
					{
 | 
						|
						//On vérifie notre image :)
 | 
						|
						if(!isset($_POST['codeimage']) && !isset($_POST['mail']))
 | 
						|
						{
 | 
						|
							echo "Ce formulaire de contact ne doit pas provenir d'une autre ressource que Comunic.";
 | 
						|
							die();
 | 
						|
						}
 | 
						|
						elseif(!chk_crypt($_POST['codeimage']))
 | 
						|
						{
 | 
						|
							echo "<p>Le contact n'a pas pu être enregistré pour la raison suivante : Code de l'image de validation incorrect.</p>";
 | 
						|
							die();
 | 
						|
						}
 | 
						|
						elseif($_POST['mail'] == "")
 | 
						|
						{
 | 
						|
							echo "<p>Le contact n'a pas pu être enregistré pour la raison suivante : Erreur de l'adresse mail.</p>";
 | 
						|
							die();
 | 
						|
						}
 | 
						|
					}
 | 
						|
					
 | 
						|
					//On vérifie le type de contact
 | 
						|
					if(!isset($liste_type_contact[$_POST['id_type']-1]))
 | 
						|
					{
 | 
						|
						die("<p>Raison de prise de contact indéterminable.</p>");
 | 
						|
					}
 | 
						|
					
 | 
						|
					//On définit le compte de celui qui poste la demande
 | 
						|
					$user = 0;
 | 
						|
					if(isset($_SESSION['ID']))
 | 
						|
					{
 | 
						|
						$user = $_SESSION['ID'];
 | 
						|
					}
 | 
						|
					
 | 
						|
					$texte = $_POST['texte'];
 | 
						|
					
 | 
						|
					if(isset($_POST['mail']))
 | 
						|
					{
 | 
						|
						if($_POST['mail'] != "")
 | 
						|
						{
 | 
						|
							$texte = $_POST['texte']." <br />  Adresse mail de l'utilisateur non connecté : ".$_POST['mail'];
 | 
						|
						}
 | 
						|
					}
 | 
						|
					
 | 
						|
					//Enregistrement de l'adresse IP
 | 
						|
					if(isset($_SERVER['REMOTE_ADDR']))
 | 
						|
					{
 | 
						|
						$texte = $texte." <br />  Adresse IP de l'ordinateur ayant envoyé le contact : ".$_SERVER['REMOTE_ADDR'];
 | 
						|
					}
 | 
						|
					
 | 
						|
					//On poste la demande
 | 
						|
					$sql = "INSERT INTO contact (ID_personne, date_envoi, texte, ID_type, mail_personne, IP_personne) VALUES (".$user.", NOW(), ?, ?, ?, ?)";
 | 
						|
					
 | 
						|
					//Exécution de la requete
 | 
						|
					$insertion = $bdd->prepare($sql);
 | 
						|
					$insertion->execute(array($texte, $_POST['id_type'], (!isset($_SESSION['ID']) ? $_POST['mail'] : ""), $_SERVER['REMOTE_ADDR']));
 | 
						|
					
 | 
						|
					//On affiche un message de succès
 | 
						|
					echo "<p>".code_inc_img(path_img_asset('succes.png'), "Bravo !")." La demande a bien été prise en compte. ".($active_envoi_mail == "oui" ? "Un message de confirmation vous sera envoyé</p>" : '')."</p>";
 | 
						|
					echo "<p>Voici le texte de la demande : <pre>".$texte."</pre></p>";
 | 
						|
					echo "<p>Voici la raison de la prise de contact : <pre>".$liste_type_contact[$_POST['id_type']-1]["nom_".$lang['nomlangue_raccourcis']]."</pre></p>";
 | 
						|
					
 | 
						|
					//Envoi du message à l'utilisateur
 | 
						|
					//Vérification de l'autorisation de l'envoi d'un mail
 | 
						|
					if($active_envoi_mail == "oui")
 | 
						|
					{
 | 
						|
						//Envoi d'un message de confirmation
 | 
						|
						$send_mail = true;
 | 
						|
						$sujet = "Confirmation de demande de contact";
 | 
						|
						$description_rapide = "Votre demande de prise de contact Comunic a été enregistrée.";
 | 
						|
						$nom_destinataire = "Vous";
 | 
						|
						$adresse_mail_destinataire = (isset($_SESSION['ID']) ? $afficher['mail'] : $_POST['mail']);
 | 
						|
						$texte_message = "
 | 
						|
						<h3 class='titre'>Contact</h3>
 | 
						|
						<p>Votre demande de contact a été prise en compte. Voici quelle est votre demande :</p>
 | 
						|
						<pre>".$texte."</pre>
 | 
						|
						<p>Type de demande :</p>
 | 
						|
						<pre>".$liste_type_contact[$_POST['id_type']-1]["nom_fr"]."</pre>
 | 
						|
						<p>Nous vous répondrons dans les plus bref délais.</p>
 | 
						|
						<p><a href=".$urlsite.">Connectez-vous à Comunic</a> pour renvoyer un contact si nécessaire.
 | 
						|
						</p>";
 | 
						|
						
 | 
						|
						//Envoi du message
 | 
						|
						include('inc/envoi_mail.php');
 | 
						|
					}
 | 
						|
					
 | 
						|
					//Envoi du message à l'administration
 | 
						|
					//Vérification de l'autorisation de l'envoi d'un mail
 | 
						|
					if($active_envoi_mail == "oui")
 | 
						|
					{
 | 
						|
						//Envoi d'un message de confirmation
 | 
						|
						$send_mail = true;
 | 
						|
						$sujet = "Demande de contact";
 | 
						|
						$description_rapide = "Un utilisateur de Comunic a demandé à entrer en contact avec vous.";
 | 
						|
						$nom_destinataire = "Administration de Comunic";
 | 
						|
						$adresse_mail_destinataire = $admin_mail_envoi;
 | 
						|
						$texte_message = "
 | 
						|
						<h3 class='titre'>Contact</h3>
 | 
						|
						<p>Un utilisateur de Comunic a souhaité entrer en contact avec l'administration. Voici le texte de la demande :</p>
 | 
						|
						<pre>".$texte."</pre>
 | 
						|
						<p>Veuillez répondre à ce contact dans les plus bref délais.</p>
 | 
						|
						<p>Connectez-vous à l'administration pour obtenir plus de détails.
 | 
						|
						</p><h4 class='titre'>
 | 
						|
						Détails techniques:
 | 
						|
						</h4><table>
 | 
						|
							<tr><td>La personne est connectée :</td>
 | 
						|
							<td>".(isset($_SESSION['ID']) ? "Oui" : "Non")."</td></tr><tr><td>
 | 
						|
							Adresse mail :</td>
 | 
						|
							<td>".(isset($_SESSION['ID']) ? $afficher['mail'] : $_POST['mail'])."</td></tr>
 | 
						|
							<tr><td>ID compte</td>
 | 
						|
							<td>".$user."</td></tr>
 | 
						|
							<tr><td>Type de contact</td>
 | 
						|
							<td>".$liste_type_contact[$_POST['id_type']-1]["nom_fr"]."</td></tr>
 | 
						|
						</table>";
 | 
						|
						
 | 
						|
						//Envoi du message
 | 
						|
						include('inc/envoi_mail.php');
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
			else
 | 
						|
			{
 | 
						|
				//On affiche le formulaire de contact
 | 
						|
				?><form action='<?php echo siteURL('contact.php'); ?>' method='post' name='contact' class="form_contact">
 | 
						|
					<h3> Contactez-nous </h3>
 | 
						|
					<p>Vous pouvez utiliser le formulaire de contact pour nous proposer une amélioration ou nous faire une demande.</p>
 | 
						|
						<table>
 | 
						|
							</tr>
 | 
						|
								<td>La raison de cette prise de contact </td>
 | 
						|
								<td><select name="id_type"><?php
 | 
						|
									//On détermine quel type de contact sera sélectionné par défaut
 | 
						|
									$type_contact = (isset($_POST['id_type']) ? $_POST['id_type'] : 1 );
 | 
						|
								
 | 
						|
									//Affichage de la liste des propositions
 | 
						|
									foreach($liste_type_contact as $afficher_type_contact)
 | 
						|
									{
 | 
						|
										echo "<option value='".$afficher_type_contact['ID']."' ".($type_contact == $afficher_type_contact['ID'] ? "selected" : "")."> ".$afficher_type_contact['nom_'.$lang['nomlangue_raccourcis']];
 | 
						|
									}
 | 
						|
								?></select></td>
 | 
						|
							</tr><tr>
 | 
						|
								<td>
 | 
						|
									Votre message
 | 
						|
								</td>
 | 
						|
								<td>
 | 
						|
									<textarea name='texte'><?php if(isset($_POST['contact'])) echo $_POST['contact']; ?></textarea>
 | 
						|
							</tr><?php
 | 
						|
							if(!isset($_SESSION['ID']))
 | 
						|
							{
 | 
						|
								//Petite vérification de sécurité, au cas ou... :)
 | 
						|
								?><tr>
 | 
						|
									<td>Image de validation :</td>
 | 
						|
									<td style="text-align: center"><?php dsp_crypt(0,1); ?></td>
 | 
						|
								</tr><tr>
 | 
						|
									<td>Code de l'image</td>
 | 
						|
									<td><input type="text" name="codeimage"></td>
 | 
						|
								</tr>
 | 
						|
								<tr>
 | 
						|
									<td>Votre adresse mail</td>
 | 
						|
									<td><input type="mail" name="mail" <?php if(isset($_POST['mail'])) echo "value='".$_POST['mail']."'"; ?> required/></td>
 | 
						|
								</tr><?php
 | 
						|
							}
 | 
						|
							?>
 | 
						|
							<tr>
 | 
						|
								<td colspan="2"><h6>Afin de pouvoir déterminer avec précision qui a réellement envoyé<br />
 | 
						|
								ce texte en cas de problème grave, votre adresse IP est enregistrée.</h6></td>
 | 
						|
							</tr>
 | 
						|
							<tr>
 | 
						|
								<td>
 | 
						|
									Confirmer l'envoi
 | 
						|
								</td>
 | 
						|
								<td>
 | 
						|
									<input type='submit' value='Envoyer' />
 | 
						|
								</td>
 | 
						|
							</tr>
 | 
						|
							<tr>
 | 
						|
								<td colspan="2"><h6>En cliquant sur "Envoyer" vous reconaissez être<br />
 | 
						|
								le légitime possesseur de l'adresse mail <i><?php if(isset($_SESSION['ID'])) echo $afficher['mail']; else echo "spécifiée ci-dessus"; ?></i> .</h6></td>
 | 
						|
							</tr>
 | 
						|
						</table>
 | 
						|
					</form>
 | 
						|
				<?php
 | 
						|
			}
 | 
						|
			?>
 | 
						|
			</div><hr />
 | 
						|
			<?php include(pagesRelativePath('common/pageBottom.php')); ?>
 | 
						|
	</body>
 | 
						|
</html>
 |