First commit

This commit is contained in:
Pierre Hubert
2016-11-19 12:08:12 +01:00
commit 990540b2b9
4706 changed files with 931207 additions and 0 deletions

View File

@ -0,0 +1,44 @@
<?php
/**
* Change appearance settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
if(isset($_POST['color_menu']))
{
//On vérifie si l'utilisateur veut l'ancien menu ou un menu moderne
if(($_POST['color_menu'] == "blue") || ($_POST['color_menu'] == "dark") || ($_POST['color_menu'] == "light") || ($_POST['color_menu'] == "white"))
{
//Modification de la base de donnée pour un menu moderne
$sql = "UPDATE utilisateurs SET old_menu = ?, color_menu = ? WHERE ID = ?";
$modif = $bdd->prepare($sql);
$modif->execute(array(0, $_POST['color_menu'], $_SESSION['ID']));
}
else
{
//Modification de la base de donnée pour l'ancien menu
$sql = "UPDATE utilisateurs SET old_menu = 1, color_menu = 'none' WHERE ID = ".$_SESSION['ID'];
$modif = $bdd->query($sql);
//$modif->execute(array('none', $_SESSION['ID']));
}
//Actualisation de la page
echo "Enregistrement des modification termin&eacute;, actualisation de la page....";
echo '<meta http-equiv="refresh" content="0;URL=parametres.php?c=apparence">';
die();
}
?><h3>Apparence du site</h3>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=apparence" method="post">
<table>
<tr><td>Menu bleu</td><td><input type="radio" name="color_menu" value="blue" <?php echo ($afficher['color_menu'] == "blue" ? "checked" : ""); ?> /></td></tr>
<tr><td>Menu noir</td><td><input type="radio" name="color_menu" value="dark" <?php echo ($afficher['color_menu'] == "dark" ? "checked" : ""); ?> /></td></tr>
<tr><td>Menu l&eacute;ger</td><td><input type="radio" name="color_menu" value="light" <?php echo ($afficher['color_menu'] == "light" ? "checked" : ""); ?> /></td></tr>
<tr><td>Menu blanc</td><td><input type="radio" name="color_menu" value="white" <?php echo ($afficher['color_menu'] == "white" ? "checked" : ""); ?> /></td></tr>
<!--<tr><td>Ancienne version du menu</td><td><input type="radio" name="color_menu" value="old_menu" <?php echo ($afficher['old_menu'] == "1" ? "checked" : ""); ?> /></td></tr>-->
<tr><td colspan="2"><input type="submit" value="Mettre &agrave; jour l'apparence de Comunic" /></td></tr>
</table>
</form><?php

View File

@ -0,0 +1,158 @@
<?php
/**
* Change avatar settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
?>
<h1>Avatar</h1>
<?php
//Vérifions si un avatar a déjà été posté
if ((isset($_FILES['avatar'])) AND ($_FILES['avatar']['error'] == 0))
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['avatar']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg');
//Génération du nom de l'avatar
$extension = ".jpg";
$nom_avatar = str_replace('@', '', sha1(time()).$extension);
//On supprime l'ancien avatar si il y en a un
if(file_exists('avatars/adresse_avatars/'.$_SESSION['ID'].'.txt'))
{
unlink(relativeUserDataFolder('avatars/'.file_get_contents(relativeUserDataFolder('avatars/adresse_avatars/'.$_SESSION['ID'].'.txt'))));
}
//On modifie l'adresse d'enregistrement de l'avatar
file_put_contents(relativeUserDataFolder("avatars/adresse_avatars/".$_SESSION['ID'].".txt"), $nom_avatar);
// On peut copier l'avatar vers le répertoire de destinations
move_uploaded_file($_FILES['avatar']['tmp_name'], relativeUserDataFolder('avatars/'.$nom_avatar));
echo "<h2>Terminer l'envoi</h2>";
echo "<p>".code_inc_img(path_img_asset('succes.png'), "Succ&egrave;")." L'envoi a bien &eacute;t&eacute; effectu&eacute; !</p>";
}
//Check if we have to edit image
if(isset($_GET['editimage']))
{
echo "<p>Veuillez choisir quelle partie de l'image sera votre avatar :</p>";
echo avatar($_SESSION['ID'], "./", "", "", "photo"); ?>
<style type="text/css">#photo{max-width: none !important;}</style>
<script type="text/javascript">
$(document).ready(function () {
$('#photo').imgAreaSelect({
handles: true,
x1: 0, y1: 0, x2: 128, y2: 128,
onSelectEnd: function (img, selection) {
$('input[name="x1"]').val(selection.x1);
$('input[name="y1"]').val(selection.y1);
$('input[name="x2"]').val(selection.x2);
$('input[name="y2"]').val(selection.y2);
},
aspectRatio: '2:2',
});
});
</script>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>&editavatar" method="post">
<input type="hidden" name="x1" value="0" />
<input type="hidden" name="y1" value="0" />
<input type="hidden" name="x2" value="128" />
<input type="hidden" name="y2" value="128" />
<input type="submit" name="submit" value="Enregistrer" />
</form><?php
}
//Vérifions si il faut modifier l'avatar
if(isset($_GET['editavatar']) && isset($_POST['x1']) && isset($_POST['y1']) && isset($_POST['x2']) && isset($_POST['y2']))
{
//On définit l'adresse de l'avatar
$nom_avatar = str_replace('@', '', sha1(time()).".jpg");
//On redimensionne l'image
redimensionnne_enregistre_image(
$_POST['x1'],
$_POST['x2'],
$_POST['y1'],
$_POST['y2'],
relativeUserDataFolder("avatars/".file_get_contents(relativeUserDataFolder("avatars/adresse_avatars/".$_SESSION['ID'].".txt"))),
relativeUserDataFolder("avatars/".$nom_avatar),
128,
128);
//On modifie la date d'enregistrement de l'avatar
file_put_contents(relativeUserDataFolder("avatars/adresse_avatars/".$_SESSION['ID'].".txt"), $nom_avatar);
?><p><strong>F&eacute;licitations! Votre avatar a bien &eacute;t&eacute; configur&eacute;.</strong></p><?php
}
//Requete de l'existence d'un avatar
if(file_exists(relativeUserDataFolder('avatars/adresse_avatars/'.$_SESSION['ID'].".txt")))
{
echo avatar($_SESSION['ID'], "./", 64, 64, "avatar");
}
else
{
echo "Vous n'avez pas encore d&eacute;fini d'avatar. Voici l'avatar par d&eacute;faut :<img src='".webUserDataFolder('avatars/0.jpg')."' whidth='32' height='32' title='Vous pouvez définir votre avatar dans les parametres.' />";
//We notice that there isn't any avatar yet
$noAvatar = true;
}
?>
<!-- New avatar form -->
<h5>Formulaire d'envoi d'un avatar :</h5>
<form action='<?php $_SERVER['PHP_SELF']; ?>?c=avatar' name="Envoi d'un nouvel avatar" method='post' enctype="multipart/form-data">
<table>
<tr>
<td>
S&eacute;lectionnez le nouvel avatar
</td>
<td>
<input type='file' name='avatar' />
</td>
</tr>
<td>
</td>
<td>
<input type='submit' value="Envoyer le nouvel avatar" />
</td>
</tr>
</table>
</form>
<!-- Resize avatar -->
<?php
if(!isset($noAvatar)){
?><div class="bouton_edit_image_parametres">
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>&editimage">
<?php echo code_inc_img(path_img_asset('image_edit.png')); ?> Redimensionner votre avatar
</a>
</div><?<?php
} ?>
<!-- Use Webcam -->
<div class="bouton_edit_image_parametres">
<a href="action.php?actionid=26">
<?php echo code_inc_img(path_img_asset('webcam.png')); ?> Utilisez votre WebCam pour changer d'avatar
</a>
</div>
<!-- Delete avatar -->
<div class="bouton_edit_image_parametres">
<a href="#" onClick="confirmaction('action.php?actionid=27&type=avatar', 'Voulez-vous vraiment supprimer votre avatar ?');">
<?php echo code_inc_img(path_img_asset('image_delete.png')); ?> Supprimer votre avatar
</a>
</div>
<?php

View File

@ -0,0 +1,59 @@
<?php
/**
* Change avatar visibility settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//On vérifie si il faut changer le niveau de visibilité
if(isset($_POST['niveau_visibilite_avatar']))
{
//Préparation du contrôle de la valeu
$nouveau_niveau_visibilite_avatar = $_POST['niveau_visibilite_avatar'];
//Contrôle de la valeur
if($nouveau_niveau_visibilite_avatar == 1 OR $nouveau_niveau_visibilite_avatar == 2 OR $nouveau_niveau_visibilite_avatar == 3)
{
//Modification de la valeur
if(modifie_niveau_visibilite_avatar($_SESSION['ID'], $nouveau_niveau_visibilite_avatar))
{
//Message de succès
?><script type="text/javascript">affiche_notification_succes("Le niveau de visibilit&eacute; de l'avatar a &eacute;t&eacute; chang&eacute;.", "", 5);</script><?php
}
else
{
//Message d'erreur
?><script type="text/javascript">affiche_notification_erreur("La modification ud niveau de visibilit&eacute; de l'avatar a &eacute;chou&eacute;e.", "", 5);</script><?php
}
}
else
{
//Message d'erreur
?><script type="text/javascript">affiche_notification_erreur("La valeur saisie pour le niveau de visibilit&eacute; de l'avatar est incorrecte.", "", 5);</script><?php
}
}
//Récupération du niveau actuel de visibilité de l'avatar
$niveau_visibilite_avatar = get_niveau_visibilite_avatar($_SESSION['ID']);
?>
<h3>Visibilit&eacute; de votre avatar</h3>
<p><i>Cette fonctionalit&eacute; vous permet de choisir quelle type d'utilisateur pourra visualiser votre avatar.</i></p>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>' method="post">
<p>Quelle groupe de personne pourra voir votre avatar: </p>
<!-- Choix du niveau avec comme pré-définit le niveau actuel -->
<label><input type="radio" name="niveau_visibilite_avatar" value="1" <?php echo($niveau_visibilite_avatar == 1 ? "checked" : ""); ?> /> Moi et mes amis </label> <br />
<label><input type="radio" name="niveau_visibilite_avatar" value="2" <?php echo($niveau_visibilite_avatar == 2 ? "checked" : ""); ?> /> Moi, mes amis et les personnes connect&eacute;es </label> <br />
<label><input type="radio" name="niveau_visibilite_avatar" value="3" <?php echo($niveau_visibilite_avatar == 3 ? "checked" : ""); ?> /> Tout le monde </label> <br />
<!-- Fin de: Choix de niveau avec comme pré-définit le niveau actuel -->
<!-- Bouton de confirmation -->
<input type="submit" value="Modifier" />
<!-- Fin de: Bouton de confirmation -->
</form>
<!--<a href="action.php?actionid=4">Envoyer les donn&eacute;es par mail</a>-->
<?php

View File

@ -0,0 +1,151 @@
<?php
/**
* Change user background image
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
?>
<h3>Image de fond</h3>
<?php
//Vérifions si une image de fond a déjà été posté
if ((isset($_FILES['imgfond'])) AND ($_FILES['imgfond']['error'] == 0))
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['imgfond']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg');
//On supprime l'ancienne image de fond si il y en a une
if(file_exists(relativeUserDataFolder('imgfond/adresse_imgfond/'.$_SESSION['ID'].'.txt')))
{
unlink(relativeUserDataFolder('imgfond/'.file_get_contents(relativeUserDataFolder('imgfond/adresse_imgfond/'.$_SESSION['ID'].'.txt'))));
}
//Définition de l'adresse de l'image de fond
$adresse_img_fond = sha1(time()).".jpg";
//On modifie la date d'enregistrement de l'image de fond
file_put_contents(relativeUserDataFolder("imgfond/adresse_imgfond/".$_SESSION['ID'].".txt"), $adresse_img_fond);
// On peut valider l'image de fond et copier vers son répertoire de destination
move_uploaded_file($_FILES['imgfond']['tmp_name'], relativeUserDataFolder('imgfond/'.$adresse_img_fond));
echo "<p>".code_inc_img(path_img_asset('succes.png'), "Succ&egrave;")." L'envoi a bien &eacute;t&eacute; effectu&eacute; !</p>";
}
//Vérifions si il faut redimmensionner l'image de fond
if(isset($_GET['editimage']))
{
echo "<p>Veuillez maintenant choisir quelle partie de l'image sera votre image de fond :</p>";
echo imgfond($_SESSION['ID'], "./", "", "", "photo"); ?>
<style type="text/css">#photo{max-width: none !important;}</style>
<script type="text/javascript">
$(document).ready(function () {
$('#photo').imgAreaSelect({
handles: true,
x1: 0, y1: 0, x2: 128, y2: 128,
onSelectEnd: function (img, selection) {
$('input[name="x1"]').val(selection.x1);
$('input[name="y1"]').val(selection.y1);
$('input[name="x2"]').val(selection.x2);
$('input[name="y2"]').val(selection.y2);
},
maxHeight: 200,
});
});
</script>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>&editimgfond" method="post">
<input type="hidden" name="x1" value="0" />
<input type="hidden" name="y1" value="0" />
<input type="hidden" name="x2" value="128" />
<input type="hidden" name="y2" value="128" />
<input type="submit" name="submit" value="Enregistrer" />
</form><?php
//On évite les problèmes
die();
}
//Vérifions si il faut modifier l'image de fond
if(isset($_GET['editimgfond']) && isset($_POST['x1']) && isset($_POST['y1']) && isset($_POST['x2']) && isset($_POST['y2']))
{
//Définition de l'adresse de l'image de fond
$adresse_img_fond = sha1(time()).".jpg";
//On redimensionne l'image
redimensionnne_enregistre_image(
$_POST['x1'],
$_POST['x2'],
$_POST['y1'],
$_POST['y2'],
relativeUserDataFolder('imgfond/'.file_get_contents(relativeUserDataFolder("imgfond/adresse_imgfond/".$_SESSION['ID'].".txt"))),
relativeUserDataFolder("imgfond/".$adresse_img_fond),
$_POST['x2']-$_POST['x1'],
200,
"no"
);
//On modifie la date d'enregistrement de l'avatar
file_put_contents(relativeUserDataFolder("imgfond/adresse_imgfond/".$_SESSION['ID'].".txt"), $adresse_img_fond);
//Message de succès
?><p><strong>F&eacute;licitations! Votre nouvelle image de fond a bien &eacute;t&eacute; configur&eacute;e.</strong></p><?php
}
//Requete de l'existence d'une image de fond
if(file_exists(relativeUserDataFolder("imgfond/adresse_imgfond/".$_SESSION['ID'].".txt")))
{
echo imgfond($_SESSION['ID'], "./", "", 32, "img_fond");
}
else
{
echo "Vous n'avez pas encore d&eacute;fini d'image de fond. Vous pouvez en envoyer une sur cette page, ce qui permettra de la personnaliser en y ajoutant une touche de votre personnalit&eacute;.";
}
?>
<!-- New background image form -->
<h5>Formulaire d'envoi d'une image de fond :</h5>
<form action='<?php $_SERVER['PHP_SELF']; ?>?c=imgfond' name="Envoi d'une nouvelle image de fond" method='post' enctype="multipart/form-data">
<table>
<tr>
<td>
S&eacute;lectionnez la nouvelle image de fond (grande et rectangulaire si possible) :
</td>
<td>
<input type='file' name='imgfond' />
</td>
</tr>
<tr>
<td>
Confirmer l'envoi
</td>
<td>
<input type='submit' value="Modifier l'imgage de fond" />
</td>
</tr>
</table>
</form>
<!-- Resize image link -->
<div class="bouton_edit_image_parametres">
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>&editimage">
<?php echo code_inc_img(path_img_asset('image_edit.png')); ?> Redimensionner votre image de fond
</a>
</div>
<!-- Delete background image link -->
<div class="bouton_edit_image_parametres">
<a href="#" onClick="confirmaction('action.php?actionid=27&type=imgfond', 'Voulez-vous vraiment supprimer votre image de fond ?');">
<?php echo code_inc_img(path_img_asset('image_delete.png')); ?> Supprimer votre image de fond
</a>
</div>
<?php

View File

@ -0,0 +1,50 @@
<?php
/**
* Change chat settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//On vérifie si il faut vider le chat
if(isset($_GET['vide']))
{
//Requete de suppression
$sql = 'DELETE FROM chat WHERE ID_personne = '.$_SESSION['ID'].' ';
//Execution de la requete
$videchat = $bdd->query($sql);
//On affiche un message de succès
echo "<p>".code_inc_img(path_img_asset('succes.png'), "Succ&egrave;")." Le chat a bien &eacute;t&eacute; vid&eacute; !</p>";
}
?>
<!-- Parametres du chat -->
<h3>Parametres du chat</h3>
<p>Affichage de tous vos posts</p>
<table>
<?php
//Requete de recherche de post
$sql='SELECT * FROM chat WHERE ID_personne = '.$_SESSION['ID'];
//Execution de la requete
$requete = $bdd->query($sql);
//Affichage des résultats
while ($afficherchat = $requete->fetch())
{
?>
<tr>
<td><?php echo $afficherchat['date_envoi']; ?></td>
<td><?php echo corrige_accent_javascript(bloquebalise(corrige_caracteres_speciaux($afficherchat['message']))); ?></td>
</tr>
<?php
}
?>
</table>
<p><a href='<?php echo $_SERVER['PHP_SELF']; ?>?c=chat&vide=yes'>Vider l'historique du chat</a></p>
<!-- Fin de: parametres du chat -->
<?php

View File

@ -0,0 +1,30 @@
<?php
/**
* lean account settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
?>
<h3>Nettoyage du compte</h3>
<p><i>Vous permet de "nettoyer votre compte" en supprimant des traces tel que vos posts dans le chat priv&eacute; ou vos anciennes notifications.</i></p>
<p>Ce qui sera fait :</p>
<p>
<ul>
<li>
Suppression de toute vos notifications et de toute les notifications dont vous &ecirc;tes &agrave; l'origine
</li>
<li>
Suppression de toute vos posts dans le chat priv&eacute;
</li>
</ul>
</p>
<form action='action.php?actionid=28' method="post">
<p>Pour des raisons de s&eacute;curit&eacute;, veuillez saisir votre mot de passe : </p>
<input type="password" name="password" placeholder="Mot de passe" />
<input type='submit' value='Effectuer la maintenance' />
</form>
<?php

View File

@ -0,0 +1,23 @@
<?php
/**
* Settings page not found
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//This message should appear only when an error occur.
?><table align='center'>
<tr>
<td>
<?php echo code_inc_img(path_img_asset('erreur.png')); ?>
</td>
<td>
<p><b>Erreur :</b> La rubrique demand&eacute;e n'a pas &eacute;t&eacute; trouv&eacute;e ou n'existe pas</p>
<p>Pour r&eacute;soudre le probl&egrave;me, retournez &agrave; la page pr&eacute;c&eacute;dente et actualisez-la.</p>
<p>N'h&eacute;sitez pas &agrave; nous <a href='<?php echo siteURL(); ?>contact.php'>contacter</a> pour de plus amples informations.</p>
</td>
</tr>
</table><?php

View File

@ -0,0 +1,22 @@
<?php
/**
* Export datas
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
?>
<h3>Export des informations personnelles</h3>
<p>
<i>Vous permet de g&eacute;n&eacute;rer une page web contenant toute les informations personnelles vous concernant dans une page web que vous pourrez enregister ou imprimer. Vous permet de contr&ocirc;ler l'int&eacute;gralit&eacute; de votre activit&eacute;.</i>
</p>
<form action='exportdonnees.php' method="post">
<p>Pour des raisons de s&eacute;curit&eacute;, veuillez saisir votre mot de passe : </p>
<input type="password" name="password" placeholder="Mot de passe" />
<input type='submit' value='Exporter vos donn&eacute;es personelles vers une page web' />
</form>
<!--<a href="action.php?actionid=4">Envoyer les donn&eacute;es par mail</a>-->
<?php

View File

@ -0,0 +1,274 @@
<?php
/**
* Change general settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
?><div class="metro general_settings">
<h3><?php echo $lang[56]; ?></h3>
<?php
//Vérification de l'existence d'une demande de vérification
if((isset($_POST['nom'])) && (isset($_POST['prenom'])) && (isset($_POST['public'])))
{
if(!isset($_POST['affiche_chat']))
{
$_POST['affiche_chat'] = $afficher['affiche_chat'];
}
//On vérifie si la page est ouverte
if (isset($_POST['pageouverte']) && $_POST['public'] == '1')
{
//On rend la page ouverte
$pageouverte = 1;
}
else
{
//Sinon elle est fermée
$pageouverte = 0;
}
//On vérifie si les commentaires doivent être bloqués
if (isset($_POST['bloquecommentaire']))
{
//On bloque les commentaires
$bloquecommentaire = 1;
}
else
{
//Sinon ils sont accessibles
$bloquecommentaire = 0;
}
//On vérifie si les posts en provenance des amis sont autorisés
$autoriser_post_amis = (isset($_POST['autoriser_post_amis']) ? 1 : 0);
//On vérifie si l'envoi de mail est autorisé
$autorise_mail = (isset($_POST['autorise_mail']) ? 1 : 0);
//On vérifie si la liste d'amis est publique
$liste_amis_publique = (isset($_POST['liste_amis_publique']) ? 1 : 0);
//On vérifie si l'on doit structurer les posts en plusieurs pages
$mode_pages = (isset($_POST['mode_pages']) ? 1 : 0);
//On vérifie si l'on doit autoriser le système de multiauthentification pour ce compte ou non
$allow_multilogin = (isset($_POST['allow_multilogin']) ? 1 : 0);
//Sécurité pour l'adresse URL
$site_web = str_replace('javascript:', '', $_POST['site_web']);
//Modification de la base de données
$sql = "UPDATE utilisateurs SET nom = ?, prenom = ?, affiche_chat = ?, public = ?, pageouverte = ".$pageouverte.", site_web = ?, question1 = ?, reponse1 = ?, question2 = ?, reponse2 = ?, bloquecommentaire = ?, autoriser_post_amis = ?, autorise_mail = ?, liste_amis_publique = ?, mode_pages = ?, allow_multilogin = ? WHERE ID = ?";
$modif = $bdd->prepare($sql);
$modif->execute(array($_POST['nom'], $_POST['prenom'], $_POST['affiche_chat'], $_POST['public'], $site_web, $_POST['question1'], $_POST['reponse1'], $_POST['question2'], $_POST['reponse2'], $bloquecommentaire, $autoriser_post_amis, $autorise_mail, $liste_amis_publique, $mode_pages, $allow_multilogin, $_SESSION['ID']));
//Vérification de l'autorisation d'envoi de mails
if($active_envoi_mail == "oui")
{
//Envoi d'un message au demandé
$send_mail = true;
$sujet = "Modification de vos paramètres";
$description_rapide = "Les paramètres de votre compte ont été modifiés.";
$nom_destinataire = $afficher['prenom']." ".$afficher['nom'];
$adresse_mail_destinataire = $afficher['mail'];
//Rechargement des informations
$afficher = cherchenomprenom($_SESSION['ID'], $bdd);
$texte_message = "
<h3 class='titre'>Modification de vos param&egrave;tres</h3>
<p>Voici les nouveau param&egrave;tres de votre compte:</p>
<table align='center'>
<tr><td>ID </td><td>".$afficher['ID']."</td></tr>
<tr><td>Pr&eacute;nom :</td><td>".$afficher['prenom']."</td></tr>
<tr><td>Nom :</td><td>".$afficher['nom']."</td></tr>
<tr><td>Adresse mail :</td><td>".$afficher['mail']."</td></tr>
<tr><td>Page publique :</td><td>".($afficher['public'] == 1 ? "Oui" : "Non")."</td></tr>
<tr><td>Page ouverte :</td><td>".($afficher['pageouverte'] == 1 ? "Oui" : "Non")."</td></tr>
<tr><td>Structurer les posts en plusieurs pages :</td><td>".($afficher['mode_pages'] == 1 ? "Oui" : "Non")."</td></tr>
<tr><td>Autoriser Comunic &agrave; m'envoyer des mails</td><td>".($afficher['autorise_mail'] == 1 ? "Oui" : "Non")."</td></tr>
<tr><td>Adresse de votre site web (optionnel)</td><td>".$afficher['site_web']."</td></tr>
<tr><td>Autoriser la gestion de ce compte depuis un autre compte ? </td><td>".($afficher['allow_multilogin'] == 1 ? "Oui" : "Non")."</td></tr>
<tr><td>Question de s&eacute;curit&eacute; 1:</td><td>".$afficher['question1']."</td></tr>
<tr><td>R&eacute;ponse de s&eacute;curit&eacute; 1:</td><td>".$afficher['reponse1']."</td></tr>
<tr><td>Question de s&eacute;curit&eacute; 2:</td><td>".$afficher['question2']."</td></tr>
<tr><td>R&eacute;ponse de s&eacute;curit&eacute; 2:</td><td>".$afficher['reponse2']."</td></tr>
</table>
".$info_mail_securite."
<p><strong>Important : Si vous n'avez pas chang&eacute; vos param&egrave;tres, modifiez votre mot de passe et contactez-nous. Il se peut que quelqu'un ait pirat&eacute; votre compte et r&eacute;cup&eacute;r&eacute; votre mot de passe.</strong></p>
<p><a href='".$urlsite."'>Connectez-vous</a> pour acc&eacute;der &agrave; toute les param&egrave;tres de Comunic.</a></p>
";
//Envoi du message
include(websiteRelativePath().'inc/envoi_mail.php');
}
//Actualisation de la page
echo "Enregistrement des modification termin&eacute;, actualisation de la page....";
echo '<meta http-equiv="refresh" content="0;URL=parametres.php">';
die();
}
?>
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post' id="general">
<?php
/*//Recherche des informations personelles
$sql = "SELECT * utilisateurs WHERE ID='".$_SESSION['ID']."'";
//Exécution de la requete
$requete = $bdd->query($sql);
//Recherche d'éventuelles erreurs
if(!$afficher = $requete->fetch())
{
echo "<p>Un problème technique est survenu. Merci de réessayer plus tard.</p>";
die();
}
//Fermeture de la requete
$general->closeCursor();*/
?><legend>Informations de connexion</legend>
<label>Num&eacute;ro de compte et <?php echo $lang[14]; ?></label>
<div class="input-control text size2">
<input type="text" disabled value="<?php echo $afficher['ID']; ?>" />
</div>
<div class="input-control text size4">
<input type="text" disabled value="<?php echo $afficher['mail']; ?>" />
</div>
<label><?php echo $lang[12]; ?> et <?php echo $lang[13]; ?></label>
<div class="input-control text size3">
<input type='text' name='prenom' value='<?php echo $afficher['prenom']; ?>' />
</div>
<div class="input-control text size3">
<input type='text' name='nom' value='<?php echo $afficher['nom']; ?>' />
</div>
<label><?php echo $lang[1]; ?></label>
<div class="input-control">
<a href='<?php echo $_SERVER['PHP_SELF']; ?>?c=password' title='Cliquez ici pour modifier le mot de passe'><?php echo $lang[58]; ?></a>
</div>
<p>&nbsp;</p>
<legend>Personnalisation g&eacute;n&eacute;rale du compte</legend>
<?php if($activer_publique_chat == "oui") { ?><label>Affichage du chat automatique</label><div class="input-control select"><select name='affiche_chat'><option <?php if ($afficher['affiche_chat'] == 1) echo "selected"; ?> value='1' />Oui <option <?php if ($afficher['affiche_chat'] == 0) echo "selected"; ?> value='0' />Non</select></div><?php } ?>
<label>Votre page est... <a href='aide.php?id=6' target='_blank'><?php echo code_inc_img(path_img_asset('help.png')); ?></a></label>
<div class="input-control select size6">
<select name='public'>
<option <?php if ($afficher['public'] == 1) echo "selected"; ?> value='1' />Publique
<option <?php if ($afficher['public'] == 0) echo "selected"; ?> value='0' />Privee
</select>
</div>
<?php // On affiche cette ligne uniqument si la page est publique
if($afficher['public'] == 1)
{
?><div class="input-control switch">
<label>
<input type='checkbox' <?php
if ($afficher['pageouverte'] == 1)
echo 'checked';
?> name='pageouverte' /><span class="check"></span> Page ouverte <strong>Attention: Cette option rend votre page accessible aux personnes non connect&eacute;es!</strong>
</label>
</div><?php
}
?>
<?php /* On affiche cette ligne uniqument si la page est ouverte */ if ($afficher['pageouverte'] == 1) echo '<p>Votre page est accessible &agrave; cette adresse : '.$urlsite.'?id='.$afficher['ID'].'</p>';?>
<div class="input-control switch">
<label>
<input type='checkbox' name='bloquecommentaire' <?php if ($afficher['bloquecommentaire'] == 1) echo 'checked'; ?> />
<span class="check"></span>
Interdire le post de commentaires sur ma page
</label>
</div><br />
<div class="input-control switch">
<label>
<input type='checkbox' name='autoriser_post_amis' <?php if ($afficher['autoriser_post_amis'] == 1) echo 'checked'; ?> />
<span class="check"></span>
Autoriser les posts provenant de mes amis
</label>
</div><br />
<div class="input-control switch">
<label>
<input type='checkbox' name='mode_pages' <?php if ($afficher['mode_pages'] == 1) echo 'checked'; ?> />
<span class="check"></span>
Structurer mes posts en plusieurs pages (En d&eacute;veloppement)
</label>
</div><br />
<div class="input-control switch">
<label>
<input type='checkbox' name='autorise_mail' <?php if ($afficher['autorise_mail'] == 1) echo 'checked'; ?> />
<span class="check"></span>
Autoriser Comunic &agrave; m'envoyer des mails (ne concerne pas les mails de s&eacute;curit&eacute;, qui sont syst&eacute;matiquement envoy&eacute;s.)
</label>
</div><br />
<!-- Liste d'amis publique -->
<div class="input-control switch">
<label>
<input type='checkbox' name='liste_amis_publique' <?php if ($afficher['liste_amis_publique'] == 1) echo 'checked'; ?> />
<span class="check"></span>
Rendre ma liste d'amis publique
</label>
</div><br />
<!-- Fin de: Liste d'amis publique -->
<!-- Autorisation de gérer ce compte depuis un autre compte -->
<div class="input-control switch">
<label>
<input type='checkbox' name='allow_multilogin' <?php if ($afficher['allow_multilogin'] == 1) echo 'checked'; ?> />
<span class="check"></span>
Autoriser ce compte a &ecirc;tre g&eacute;r&eacute; depuis un autre compte (multi-authentification)
</label>
</div><br />
<!-- Fin de: Autorisation de gérer ce compte depuis un autre compte -->
<p>&nbsp;</p>
<legend>Site web (optionnel)</legend>
<label>Adresse URL</label>
<div class="input-control text size4">
<input type='text' name='site_web' placeholder="http://" value='<?php echo $afficher['site_web']; ?>' />
</div>
<p>&nbsp;</p>
<legend>Pr&eacute;paration &agrave; l'oubli de mot de passe</legend>
<label>
Question de s&eacute;curit&eacute; 1
<!-- Help -->
<a href='aide.php?id=7' title="En savoir plus..." target='_blank'> <?php echo code_inc_img(path_img_asset('help.png')); ?></a>
<small>Ne faites pas attention aux majuscules/minuscules.</small>
</label>
<div class="input-control text size3">
<input type='text' name='question1' placeholder="Question 1" value='<?php echo echap_guillemet_html($afficher['question1']); ?>' />
</div>
<div class="input-control text size3">
<input type='text' name='reponse1' placeholder="R&eacute;ponse 1" value='<?php echo echap_guillemet_html($afficher['reponse1']); ?>' />
</div>
<label>Question de s&eacute;curit&eacute; 2 <small>Ne faites pas attention aux majuscules/minuscules.</small></label>
<div class="input-control text size3">
<input type='text' name='question2' placeholder="Question 2" value='<?php echo echap_guillemet_html($afficher['question2']); ?>' />
</div>
<div class="input-control text size3">
<input type='text' name='reponse2' placeholder="R&eacute;ponse 2" value='<?php echo echap_guillemet_html($afficher['reponse2']); ?>' />
</div>
<label><input type='submit' value='<?php echo $lang[57]; ?>' /></label>
<label><span id="ciblesuppressioncompte"><h6><a onClick="confirmdeleteaccount()" title="Supprimer votre compte">Supprimer votre compte</a></h6></span></label>
</table>
</form>
</div><?php

View File

@ -0,0 +1,173 @@
<?php
/**
* Change groups settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//On vérifie si il faut ajouter (ou modifier) un groupe
if(isset($_POST['nom_groupe']) AND isset($_POST['choixpersonne']))
{
if($_POST['nom_groupe'] != "")
{
if(is_array($_POST['choixpersonne']))
{
if(count($_POST['choixpersonne'] > 0))
{
//On enregistre le groupe
$nom_groupe = $_POST['nom_groupe'];
//Listing de toute les personnes
$liste_id = array();
foreach($_POST['choixpersonne'] as $id=>$value)
$liste_id[]= $id;
$liste_id = implode("|", $liste_id);
if(!isset($_POST['edit']))
{
//Enregistrement dans la base de données
$sql = "INSERT INTO groupe_personnes (ID_personne, nom, date_ajout, liste_ID) VALUES (?, ?, NOW(), ?)";
$insertion = $bdd->prepare($sql);
$insertion->execute(array($_SESSION['ID'], $nom_groupe, $liste_id));
//Message de succès
?><script type="text/javascript">affiche_notification_succes("Le groupe <?php echo $nom_groupe; ?> vient d'&ecirc;tre enregistr&eacute; avec succ&egrave;s.");</script><?php
}
else
{
$edit = $_POST['edit']*1;
if($edit > 0)
{
//Modification de la base de données
$sql = "UPDATE groupe_personnes SET nom = ?, liste_ID = ? WHERE ID_personne = ? AND ID = ?";
$insertion = $bdd->prepare($sql);
$insertion->execute(array($nom_groupe, $liste_id, $_SESSION['ID'], $edit));
//Message de succès
?><script type="text/javascript">affiche_notification_succes("Le groupe <?php echo $nom_groupe; ?> vient d'&ecirc;tre modifi&eacute; avec succ&egrave;s.");</script><?php
}
}
}
}
}
}
?><h3>Groupe de personnes</h3>
<div class="metro gestion_groupe_personnes"><?php
//Ajout (ou modification) d'un groupe de personnes
//Recherche des information sur le groupe (si modification)
$nom_groupe = "";
$liste_amis_checked = array();
if(isset($_GET['edit']))
{
$sql = "SELECT * FROM groupe_personnes WHERE ID = ? AND ID_personne = ?";
$requete = $bdd->prepare($sql);
$requete->execute(array($_GET['edit']*1, $_SESSION['ID']));
//Enregistrement du résultat
if(!$info_groupe = $requete->fetch())
{
unset($_GET['edit']);
}
else
{
//Préparation du traitement
$nom_groupe = $info_groupe['nom'];
$liste_amis_checked = explode('|', $info_groupe['liste_ID']);
}
//Fermeture de la requête
$requete->closeCursor();
}
//Titre du formulaire
if(!isset($info_groupe['ID'])) {
?><p>Ajout d'un nouveau groupe :</p><?php
} else {
?><p>Modification du groupe :</p><?php
}
//Ouverture du formulaire
?><form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>" method="post">
<div class="input-control text">
<input type="text" name="nom_groupe" value="<?php echo $nom_groupe; ?>" placeholder="Nom du groupe" required />
</div><?php
//Si nécessaire, on indique qu'il s'agit d'une modification de groupe
if(isset($info_groupe['ID'])) echo "<input type='hidden' name='edit' value='".$info_groupe['ID']."' />";
//Listing des amis
$liste_amis = liste_amis($_SESSION['ID'], $bdd, 1);
//Affichage de la liste en tant que formulaire
foreach($liste_amis as $afficher_liste)
{
//Récupération des informations si nécessaire
$id_amis = $afficher_liste;
if(!isset($info_users[$id_amis]['table_utilisateurs']) OR !isset($info_users[$id_amis]['avatar_32_32']))
{
$info_users[$id_amis]['table_utilisateurs'] = cherchenomprenom($id_amis, $bdd);
$info_users[$id_amis]['avatar_32_32'] = avatar($id_amis, "./", 32, 32);
}
//Affichage de la proposition
?><div class="input-control checkbox">
<label>
<input type="checkbox" <?php if(in_array($id_amis, $liste_amis_checked)) echo "checked"; ?> name="choixpersonne[<?php echo $id_amis; ?>]" />
<span class="check"></span>
<?php echo $info_users[$id_amis]['avatar_32_32']." ".$info_users[$id_amis]['table_utilisateurs']['prenom']." ".$info_users[$id_amis]['table_utilisateurs']['nom']; ?>&nbsp;
</label>
</div><?php
}
//Fin du formulaire
?><br /><input type="submit" value="<?php if(!isset($info_groupe['ID'])) echo "Ajouter"; else echo "Modifier"; ?> le groupe" /><?php
?></form><?php
//Listing des groupes de personnes
$liste = list_groupes_personnes($_SESSION['ID'], $bdd);
//Affichage de la liste
foreach($liste as $afficher)
{
//On vérifie si il faut supprimer le groupe
if(isset($_GET['delete_groupe']))
{
//Suppression du groupe
$groupe = $_GET['delete_groupe']*1;
if($groupe == $afficher['ID'])
{
//Requête de suppression
$sql = "DELETE FROM groupe_personnes WHERE ID_personne = ? AND ID = ?";
$delete = $bdd->prepare($sql);
$delete->execute(array($_SESSION['ID'], $groupe));
//On saute le groupe
continue;
}
}
//Affichage du nom du groupe
echo "<h3>".$afficher['nom']." <a href='".$_SERVER['PHP_SELF']."?c=".$_GET['c']."&edit=".$afficher['ID']."'><img src='".path_img_asset("edit.png")."' title='Modifier le groupe' /></a>";
echo "<small class='on_right'><a href='#' onClick='confirmaction(\"".$_SERVER['PHP_SELF']."?c=".$_GET['c']."&delete_groupe=".$afficher['ID']."\", \"Voulez-vous vraiment supprimer ce groupe ?\");'> Supprimer le groupe </a></small></h3>";
//Récupération de la liste des personnes
$liste_personnes = explode("|", $afficher['liste_ID']);
foreach($liste_personnes as $nom_personnes)
{
$id_amis = $nom_personnes;
if(!isset($info_users[$id_amis]['table_utilisateurs']) OR !isset($info_users[$id_amis]['avatar_32_32']))
{
$info_users[$id_amis]['table_utilisateurs'] = cherchenomprenom($id_amis, $bdd);
$info_users[$id_amis]['avatar_32_32'] = avatar($id_amis, "./", 32, 32);
}
echo "<span>".$info_users[$id_amis]['avatar_32_32']." ".$info_users[$id_amis]['table_utilisateurs']['prenom']." ".$info_users[$id_amis]['table_utilisateurs']['nom']."&nbsp;</span>";
}
}

View File

@ -0,0 +1,236 @@
<?php
/**
* Manage multiauth
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//On a besoin de l'ID du compte parent pour permettre l'exécution de cette page !
if(!isset($_SESSION['ID_parent']))
{
//Rapport d'erreur à l'administration
report_error('if(!isset($_SESSION[\'ID_parent\']))', 'La variable $_SESSION[\'ID_parent\'] n\'existe pas, elle est n&eacute;cessaire &agrave; multi_login_settings.php (inc).');
//Affichage d'un message d'erreur
affiche_message_erreur("Votre navigateur n'a pas bien &eacute;t&eacute; connect&eacute; &agrave; Comunic. Veuillez essayer de vous d&eacute;connecter et vous reconnecter et r&eacute;essayer.");
//Fermeture
exit();
}
if(!isset($bdd))
die('An error occured while accessing the BDD !');
//On vérifie si il faut retourner au compte principal
if(isset($_GET['back_main_account']))
{
//Attribution de l'ID_parent à l'ID
$_SESSION['ID'] = $_SESSION['ID_parent'];
//Retour à la page d'acceuil du site
echo "<script>location.href='".$urlsite."';</script>";
}
//On vérifie si il faut supprimer un compte
if(isset($_GET['delete_entree']) AND isset($_GET['id']))
{
//Définition des variables
$id_entree_to_delete = $_GET['delete_entree']*1;
$id_personne_concernee_1 = $_GET['id']*1;
$id_personne_concernee_2 = $_SESSION['ID_parent']*1;
if($id_entree_to_delete > 0 AND $id_personne_concernee_1 > 0 AND $id_personne_concernee_2 >0)
{
//Suppression de la base de données
delete_sql("multi_login", "ID = ? AND ((ID_personne = ? AND ID_target = ?) OR (ID_target = ? AND ID_personne = ?))", $bdd, array(
$id_entree_to_delete,
$id_personne_concernee_1,
$id_personne_concernee_2,
$id_personne_concernee_1,
$id_personne_concernee_2
));
//Affichage d'un message de succès
?><script>affiche_notification_succes("Le compte a bien &eacute;t&eacute; supprim&eacute; de la console de multi-authentification.");</script><?php
}
else
//Afficher un message d'erreur
affiche_message_erreur("Une erreur d'entr&eacute; a emp&ecirc;ch&eacute; la suppression d'avoir lieu !", true);
}
//On vérifie si il faut ajouter un compte
if(isset($_POST['mail_new_account']) AND isset($_POST['pass_new_account']))
{
//On vérifie si les informations sont correctes
$infos_user_add = connnecteruser($_POST['mail_new_account'], $_POST['pass_new_account'], $bdd, true, false, true);
if(!$infos_user_add)
{
//Afficher un message d'erreur
affiche_message_erreur("L'adresse mail ou le mot de passe du compte saisi est/sont incorrects !", true);
}
elseif($infos_user_add['allow_multilogin'] != "1")
{
//Afficher un message d'erreur
affiche_message_erreur("Ce compte refuse la multi-authentification !", true);
}
elseif($infos_user_add['ID'] == $_SESSION['ID_parent'])
{
//Afficher un message d'erreur
affiche_message_erreur("Vous ne pouvez pas ajouter votre propre compte dans le gestionnaire de multi-authentification !", true);
}
else
{
//On peut rajouter le comtpe à la liste des comptes connus
insert_sql("multi_login", "ID_personne, ID_target, date_ajout, IP_ajout", "?, ?, NOW(), ?", $bdd, array(
$_SESSION['ID_parent'],
$infos_user_add['ID'],
$_SERVER['REMOTE_ADDR']
));
//Vérification de l'autorisation d'envoi de mails
if($active_envoi_mail == "oui")
{
//Envoi d'un message au demandé
$send_mail = true;
$sujet = "Modification de vos paramètres de multi-authentification";
$description_rapide = "Les paramètres de multi-authentification de votre compte ont été modifiés.";
$nom_destinataire = $infos_user_add['prenom']." ".$infos_user_add['nom'];
$adresse_mail_destinataire = $infos_user_add['mail'];
//Rechargement des informations
$afficher = cherchenomprenom($_SESSION['ID_parent'], $bdd);
$texte_message = "
<h3 class='titre'>Ajout de votre compte &agrave; la console de multi-authentification de ".$afficher['prenom']." ".$afficher['nom']."</h3>
<p>Nous vous informons que votre compte a &eacute;t&eacute; ajout&eacute; &agrave; la console de multi-authentification de ".$afficher['prenom']." ".$afficher['nom'].". Si vous n'avez pas fait cette demande, prenez imm&eacute;diatement contact avec l'administration de Comunic pour rapporter ce probl&egrave;. ".$afficher['prenom']." ".$afficher['nom']." pourra d&eacute;sormais depuis son compte acc&eacute;der au v&ocirc;tre sans saisir votre mot de passe &agrave; chaque fois.</p>
";
//Envoi du message
include(websiteRelativePath('inc/envoi_mail.php'));
}
//Affichage d'un message de succès
?><script>affiche_notification_succes("Le compte a bien &eacute;t&eacute; ajout&eacute; &agrave; la console de multi-authentification!");</script><?php
}
}
//Récupération de la liste des comptes qui gèrent le compte de l'utilisateur courant, connecté
$liste_managed = select_sql("multi_login", "ID_target = ?", $bdd, array($_SESSION['ID_parent']));
//Récupération de la liste des comptes qui peuvent être gérés par le compte de l'utilisateur courant, connecté
$liste_accounts_user = select_sql("multi_login", "ID_personne = ?", $bdd, array($_SESSION['ID_parent']));
?><style type="text/css">
.multi_account_listing img { vertical-align: middle; }
.volet_droit_parametres {
max-width: 90% !important;
text-align: justify;
}
</style>
<h3>Gestion de la multi-authentification</h3>
<p>La multi-authentification vous permet de g&eacute;rer plusieurs comptes rapidement en ne vous connectant qu'&agrave; un seul, le compte principal. Il vous est vivement conseill&eacute; de choisir un mot de passe s&ucirc;r pour le compte principal.</p>
<h4> Votre compte </h4>
<p> Multi-authentification autoris&eacute;e : <b><?php echo ($afficher['allow_multilogin'] == 1 ? "Autoris&eacute;e" : "Interdite"); ?></b> (Voir la section <i>G&eacute;n&eacute;ral</i>)</p>
<p> Ce compte peut &ecirc;tre g&eacute;r&eacute; par : </p>
<?php
if(count($liste_managed) == 0)
echo "<p><i>Votre compte n'est actuellement rattach&eacute; &agrave; aucun compte pour le moment.</i></p>";
else
{
?><div class="grid multi_account_listing"><?php
foreach($liste_managed as $afficher_entree)
{
?><div class="row"><?php
//Recherche des informations de la personne
$infos_personne_manager = cherchenomprenom($afficher_entree['ID_personne'], $bdd);
//Affichage de l'avatar
echo avatar($infos_personne_manager['ID']);
echo " ";
//Affichage du prénom et du nom
echo "<a href='index.php?id=".$infos_personne_manager['ID']."'>".$infos_personne_manager['nom_complet']."</a>";
echo " ";
echo "<img src='".path_img_asset('supp.png')."' class='a' title='Supprimer de la console' onClick='confirmaction(\"".$_SERVER['PHP_SELF']."?c=".$_GET['c']."&delete_entree=".$afficher_entree['ID']."&id=".$infos_personne_manager['ID']."\", \"Souhaitez-vous vraiment supprimer ".$infos_personne_manager['nom_complet']." de la liste des personnes pouvant acc&eacute;der &agrave; votre compte ?\");' />";
?></div><?php
}
?></div><?php
}
?>
<h4>G&eacute;rer un compte</h4>
<p> Compte d&eacute;j&agrave; g&eacute;r&eacute;s :</p>
<p> Ce compte peut acc&eacute;der sans saisie de mots de passes aux comptes suivants : </p>
<?php
if(count($liste_accounts_user) == 0)
echo "<p><i>Votre compte ne peut acc&eacute;der actuellement &agrave; aucun compte.</i></p>";
else
{
?><div class="grid multi_account_listing"><?php
foreach($liste_accounts_user as $afficher_entree)
{
?><div class="row"><?php
//Recherche des informations de la personne
$infos_personne_managed = cherchenomprenom($afficher_entree['ID_target'], $bdd);
//On vérifie si il faut utiliser ce compte
if(isset($_GET['use_account']))
{
if($_GET['use_account'] == $infos_personne_managed['ID'])
{
//Attribution de l'ID
$_SESSION['ID'] = $infos_personne_managed['ID'];
//Redirection vers la page d'acceuil
//header('Location: '.$urlsite);
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
}
//Affichage de l'avatar
echo avatar($infos_personne_managed['ID']);
echo " ";
//Affichage du prénom et du nom
echo "<a href='index.php?id=".$infos_personne_managed['ID']."'>".$infos_personne_managed['nom_complet']."</a>";
echo " ";
echo "<img src='".path_img_asset('supp.png')."' class='a' title='Supprimer de la console' onClick='confirmaction(\"".$_SERVER['PHP_SELF']."?c=".$_GET['c']."&delete_entree=".$afficher_entree['ID']."&id=".$infos_personne_managed['ID']."\", \"Souhaitez-vous vraiment supprimer ".$infos_personne_managed['nom_complet']." de la liste des personnes auxquelles vous pouvez acc&eacute;der depuis votre compte ?\");' />";
echo "<a class='button' href='".$_SERVER['PHP_SELF']."?c=".$_GET['c']."&use_account=".$infos_personne_managed['ID']."'><i class='icon-enter'></i> Utiliser ce compte</a>";
?></div><?php
}
?></div><?php
}
?>
<!-- Ajout d'un compte pour la multi-authentification -->
<p> Ajouter un compte : </p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>" method="post">
<label>Adresse mail, mot de passe du compte</label>
<!-- Adresse mail -->
<div class="input-control text size3">
<input type="mail" required name="mail_new_account" placeholder="Adresse mail du compte..." />
</div>
<!-- Mot de passe -->
<div class="input-control password size3">
<input type="password" required name="pass_new_account" placeholder="Mot de passe du compte..." />
</div>
<!-- Bouton de validation -->
<input type="submit" value="Ajouter le compte" />
</form>
<!-- Fin du formulaire d'ajout de compte -->

View File

@ -0,0 +1,64 @@
<?php
/**
* Change notifications settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//Configuration des notifications
if(isset($_POST['edit_notifications']))
{
//On vérifie si il faut activer l'ancienne version de notifications
$bloquenotification = (isset($_POST['bloquenotification']) ? 0 : 1);
//On vérifie si les sons des notifications sont autorisés
$bloque_son_notification = (isset($_POST['bloque_son_notification']) ? 1 : 0);
//Modification de la base de données
$sql = "UPDATE utilisateurs SET bloquenotification = ?, bloque_son_notification = ? WHERE ID = ?";
$modif = $bdd->prepare($sql);
$modif->execute(array($bloquenotification, $bloque_son_notification, $_SESSION['ID']));
//Actualisation de la page
echo "Enregistrement des modification termin&eacute;, actualisation de la page....";
echo '<meta http-equiv="refresh" content="0;URL=parametres.php?c=notifications">';
die();
}
//Si demandé, vider le cache des notifications
if(isset($_GET['vide_cache_notification']))
{
//On supprime les entrées de la base de données
$sql = "DELETE FROM notification WHERE ID_personne = ?";
$suppression = $bdd->prepare($sql);
$suppression->execute(array($_SESSION['ID']));
?><font style="color: green"><?php echo code_inc_img(path_img_asset('succes.png')); ?> Le cache des notifications a &eacute;t&eacute; vid&eacute;.</font><?php
}
?><form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>" method="post">
<input type="hidden" name="edit_notifications" value="1"><!-- Correctif de formulaire : Il n'y a que des cases à cocher -->
<p>Cette page vous permet de configurer le comportement de notifications.</p>
<table>
<tr><td>Activer l'ancienne version des notifications</td><td><input type='checkbox' name='bloquenotification' <?php if ($afficher['bloquenotification'] != 1) echo 'checked'; ?> /></td></tr>
<tr><td>Bloquer le son de l'ancienne version de notifications</td><td><input type='checkbox' name='bloque_son_notification' <?php if ($afficher['bloque_son_notification'] == 1) echo 'checked'; ?> /></td></tr>
<tr><td colspan="2"><input type="submit" value="Mettre &agrave; jour les param&egrave;tres de notification de Comunic" /></td></tr>
<tr><td colspan="2"><p>Voici &agrave; quoi ressemble l'ancienne version des notifications :</p></td></tr>
<tr><td colspan="2" style="text-align: center;"><?php echo code_inc_img(path_img_asset('notification_old.png'), "Ancienne version du syst&egrave;me de notification."); ?></td></tr>
<tr><td colspan="2"><p>Vous pouvez &eacute;galement &eacute;couter le son produit par l'ancien syst&egrave;me de notifications:</p></td></tr>
<tr><td colspan="2" style="text-align: center;">
<audio controls>
<source src='<?php echo path_audio_asset('notification.ogg'); ?>'></source>
<source src='<?php echo path_audio_asset('notification.mp3'); ?>'></source>
Votre navigateur est trop ancien pour &eacute;couter le son de l'ancien syst&egrave;me de notifications.
</audio>
</td></tr>
<tr><td colspan="2">Il est possible de vider le cache du syst&egrave;me de notification :</td></tr>
</table>
</form>
<!-- Pour vider le cache des notifications --><button onClick="document.location.href='<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>&vide_cache_notification'"> Vider le cache des notifications</button>
<!-- Nettoyage automatique des notifications --><?php include('inc/nettoyage_automatique_notifications.php'); ?>
<?php

View File

@ -0,0 +1,28 @@
<?php
/**
* Change pages settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//Titre
?><h3>Gestion de vos pages</h3><?php
//Sous-titre
?><h4>Liste de vos pages</h4><?php
//Récupération de la liste des pages
$liste_pages = get_liste_pages($_SESSION['ID'], $bdd);
//Affichage de la liste des pages (temporaire)
echo "<pre>";
print_r($liste_pages);
echo "</pre>";
//Sous-titre
?><h4>Ajout d'une page</h4><?php
?>Fonctions en d&eacute;veloppement<?php

View File

@ -0,0 +1,90 @@
<?php
/**
* Change password
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
?>
<h3>Modification du mot de passe</h3>
<?php
//Vérification de l'existence de l'existence demande de modification de mot de passe
if((isset($_POST['oldpassword'])) && (isset($_POST['newpassword'])) && (isset($_POST['confirmnewpassword'])))
{
//Vérification de la corresponde du nouveau mot de passe et de sa confirmation
if($_POST['newpassword'] != $_POST['confirmnewpassword'])
{
echo "<p><font color='#FF0000'><p>Erreur : Le nouveau mot de passe et sa confirmation ne correspondent pas. </font></p> \n";
}
else
{
//Requete de vérification de l'ancien mot de passe
$oldpass = $bdd->query("SELECT * FROM utilisateurs WHERE ID = ".$_SESSION['ID']);
$test = $oldpass->fetch();
$oldpass->closeCursor();
//Hachage du mot de passe saisi dans le formulaire
$oldpassword = sha1($_POST['oldpassword']);
$oldpassword = crypt($oldpassword, $oldpassword);
//Vérification
if($oldpassword != $test['password'])
{
echo "<p><font color='#FF0000'><p>Erreur : l'ancien mot de passe saisi est invalide. </font></p> \n";
}
else
{
//Maintenant que tous les tests ont étés passés avec succès, on peut hacher et modifier le mot de passe dans al base de donnéesss
$motdepasse = sha1($_POST['newpassword']);
$motdepasse = crypt($motdepasse, $motdepasse);
//Enregistrement de la modification dans la base de donnée
$sql = "UPDATE utilisateurs SET password = ? WHERE ID = ?";
$modif = $bdd->prepare($sql);
$modif->execute(array($motdepasse, $_SESSION['ID']));
//Affichage d'un message de succès
echo "<p>".code_inc_img(path_img_asset('succes.png'), "Succ&egrave;")."Le mot de passe a &eacute;t&eacute; modifi&eacute; avec succ&egrave;s.</p>";
//Vérification de l'autorisation d'envoi de mails
if($active_envoi_mail == "oui")
{
//Envoi d'un message au demandé
$send_mail = true;
$sujet = "Modification de votre mot de passe";
$description_rapide = "Vous avez changé votre mot de passe.";
$nom_destinataire = $afficher['prenom']." ".$afficher['nom'];
$adresse_mail_destinataire = $afficher['mail'];
//Rechargement des informations
$afficher = cherchenomprenom($_SESSION['ID'], $bdd);
$texte_message = "
<h3 class='titre'>Modification de votre mot de passe</h3>
<p>Ce message vous a &eacute;t&eacute; adress&eacute; automatiquement afin de vous informer que vous (ou quelqu'un se passant pour vous) avez modifi&eacute; votre mot de passe avec succ&egrave;s depuis la page de param&egrave;tres.
Nous vous recommandons de modifier votre mot de passe r&eacute;guli&egrave;rement afin d'&eacute;viter que votre mot de passe soit vol&eacute; et si c'est le cas, de le modifier imm&eacute;diatement.</p>
".$info_mail_securite."
<p><strong>Important : Si vous n'avez pas chang&eacute; votre mot de passe, changez-le et contactez-nous. Il se peut que quelqu'un ait pirat&eacute; votre compte et r&eacute;cup&eacute;r&eacute; votre mot de passe.</strong></p>
<p><a href='".$urlsite."'>Connectez-vous</a> pour acc&eacute;der &agrave; toute les param&egrave;tres de Comunic.</a></p>
";
//Envoi du message
include('inc/envoi_mail.php');
}
}
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=password" method='post'>
<table>
<tr><td>Ancien mot de passe</td><td><input type='password' name='oldpassword' /></td></tr>
<tr><td>Nouveau mot de passe</td><td><input type='password' name='newpassword' /></td></tr>
<tr><td>Confirmer le nouveau mot de passe</td><td><input type='password' name='confirmnewpassword' /></td></tr>
<tr><td>Confirmer la modification</td><td><input type='submit' value='Modifier le mot de passe' /></td></tr>
</table>
</form>
<?php

View File

@ -0,0 +1,64 @@
<?php
/**
* Change Piwik settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//On vérifie si une demande de modification a été envoyée
if(isset($_POST['send']))
{
//On vérifie quel a été le choix de l'utilisateur
$allow_piwik = (isset($_POST['allow_piwik']) ? 1 : 0);
//On met à jour la base de données
update_sql("utilisateurs", "allow_piwik = ?", "ID = ?", $bdd, array($allow_piwik, $_SESSION['ID']));
//On applique le nouveau choix
//Si Piwik est interdit, on l'applique dès maintenant
if($allow_piwik == 0)
$_SESSION['block_piwik'] = true;
//Sinon, on s'assure que son autorisation est bien appliquée.
elseif(isset($_SESSION['block_piwik']))
unset($_SESSION['block_piwik']);
//On actualise les informations de l'utilisateurs
$afficher = cherchenomprenom($_SESSION['ID'], $bdd);
}
?><style type="text/css">
.piwik_manager {
text-align: justify;
}
.form_piwik_manager {
text-align: center;
}
</style>
<div class="piwik_manager">
<h3>Gestion de Piwik</h3>
<p>Piwik est un outils d'analyse d'audience d&eacute;velopp&eacute; pour les sites web.</p>
<p>Piwik est le syst&egrave;me d'analyse d'audience de site web le plus respectueux de la vie priv&eacute;e du march&eacute; : les informations sont syst&eacute;matiquements anonymis&eacute;es avant d'&ecirc;tre enregistr&eacute;es, de plus si vous activer activer "Do No Track" sur votre navigateur, celui-ci n'envoi pas de donn&eacute;es vers le serveur. Sachez &eacute;galement que Piwik a fait l'objet d'une d&eacute;rrogation de la part de la CNIL, les webmasters optant pour ce dernier n'ont pas &agrave; afficher de banni&egrave;res sur leur site informant leurs utilisateurs que le site recueille des informations, et ce &agrave; deux conditions :</p>
<ol>
<li>Que les adresses IP des utilisateurs soient anonymis&eacute;es avant d'&ecirc;tre envoy&eacute;es au serveur.</li>
<li>Que les sites web affichent une page telle que celle-ci pour informer les utilisateurs et leur permettre de d&eacute;sactiver Piwik sur leur site.</li>
</ol>
<p>Nous avons besoin des informations envoy&eacute;es par Piwik afin de savoir notamment quels sont les navigateurs les plus utilis&eacute;s par nos utilisateurs afin de faire &eacute;voluer Comunic dans le but de le rendre plus performant avec ces derniers. Piwik nous permet &eacute;galement de d&eacute;terminer l'audience de Comunic par de simples graphiques affichant des valeurs approch&eacute;es de l'&eacute;volution des visites du site.<br />Cependant nous mettons un point d'honneur, en accord avec les directives de la CNIL, de vous permettre de d&eacute;sactiver Piwik. Cette d&eacute;sactivation entre en vigueur d&egrave;s que vous vous connectez &agrave; votre compte Comunic.</p>
<p>N'h&eacute;sitez pas &agrave; <a href="contact.php">nous contacter</a> pour plus d'informations</p>
<form class="form_piwik_manager" action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>" method="post">
<div class="input-control switch">
<label>
<input type="checkbox" name="allow_piwik" <?php echo ($afficher['allow_piwik'] == 1 ? "checked" : ""); ?> />
<span class="check"></span>
Autoriser Piwik <i>(Activ&eacute; par d&eacute;faut)</i>
</label>
</div>
<!-- Valider -->
<input type="hidden" name="send" value="1" />
<input type="submit" value="Enregistrer" />
</form>
</div>

View File

@ -0,0 +1,40 @@
<?php
/**
* Change personnal URL settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//Vérification de l'existence d'une demande de modification
if(isset($_POST['choix_url']))
{
if(verifie_validite_sous_repertoire($_POST['choix_url'], $bdd))
{
//Mise à jour de la BDD
$sql = "UPDATE utilisateurs SET sous_repertoire = ? WHERE ID = ?";
$requete = $bdd->prepare($sql);
$requete->execute(array($_POST['choix_url'], $_SESSION['ID']));
//Message de succès
?><script>affiche_notification_succes('Le nouveau sous-r&eacute;pertoire virtuel a &eacute;t&eacute; enregistr&eacute; et entre en vigueur d&egrave;s maintenant.', '', 7); </script><?php
//Rechargement des informations
$afficher = cherchenomprenom($_SESSION['ID'], $bdd);
}
else
echo "<script>affiche_notification_erreur('Impossible de continuer avec le sous-r&eacute;pertoire: soit il est d&eacute;ja utilis&eacute;, soit il est incorrect.', 'Erreur', 10); </script>";
}
//Message
?><h3>Choix du r&eacute;pertoire</h3><?php
//Explication
?><p>Sur cette page, vous pouvez choisir un sous-r&eacute;pertoire virtuel qui, lorsqu'il est ouvert, redirigera vers votre page.</p><?php
//Formulaire
?><form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>" method="post">
Choix de l'URL : <?php echo $urlsite; ?><input type="text" name="choix_url" value="<?php echo $afficher['sous_repertoire']; ?>" /> <input type="submit" value="Valider" />
</form><?php

View File

@ -0,0 +1,62 @@
<?php
/**
* Change RSS settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//On vérifie la demande d'une génération de clé
if(isset($_GET['generate']))
{
//Génération de la clé
if(isset($_GET['delete']))
$cle = "";
else
$cle = sha1(time().$_SESSION['ID'].$afficher['last_activity']);
//Enregistrement de la clé
$sql = "UPDATE utilisateurs SET flux_rss = ? WHERE ID = ?";
$modif = $bdd->prepare($sql);
if($modif->execute(array($cle, $_SESSION['ID'])))
{
//Message de succès
?><script type="text/javascript">affiche_notification_succes("La cl&eacute; du flux RSS a &eacute;t&eacute; modifi&eacute;e avec succ&egrave;s.");</script><?php
//Rechargement des informations
$afficher = cherchenomprenom($_SESSION['ID'], $bdd);
}
else
{
?><script type="text/javascript">affiche_notification_succes("La modification de la cl&eacute; du flux RSS a &eacute;chou&eacute;. Veuillez r&eacute;essayer.");</script><?php
}
}
?><h3>Flux RSS</h3>
<p>Vous permet de t&eacute;l&eacute;charger les notifications de Comunic sur votre logiciel de gestion de flux.</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>&generate" method="post">
<input type="submit" value="<?php echo ($afficher['flux_rss'] == "" ? "G&eacute;n&eacute;rer" : "Reg&eacute;n&eacute;rer"); ?> une cl&eacute; de flux RSS" />
</form>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?c=<?php echo $_GET['c']; ?>&generate&delete" method="post">
<input type="submit" class="danger" value="Supprimer la cl&eacute; de flux RSS" />
</form>
<p><u>Note :</u> Lorsque vous reg&eacute;n&eacute;rez une nouvelle cl&eacute;, l'ancienne cl&eacute; est &eacute;cras&eacute; et n'est plus utilisable.</p>
<p>Adresse actuelle du flux :</p>
<?php
if($afficher['flux_rss'] == "")
//Il n'y a pas de clé
echo "Aucune cl&eacute; pour le moment.<br />";
else
{
//Génération de l'adresse
$adresse_flux = $urlsite."rss.php?id=".$_SESSION['ID']."&key=".$afficher['flux_rss'];
echo "<p>Cette adresse vous permet d'acc&eacute;der au flux : <i><a href='".$adresse_flux."' target='_blank'>".$adresse_flux."</a></p>";
}

View File

@ -0,0 +1,66 @@
<?php
/**
* Listing of settings pages
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//Settings list
$settingsList = array(
//Left side menu
"settingsMenu" => array("file" => "settingsMenu.inc.php"),
//General settings
"general" => array("file" => "general.inc.php"),
//RSS personnal settings
"rss" => array("file" => "rss.inc.php"),
//People groups settings
"groupe_personnes" => array("file" => "groupePersonnes.inc.php"),
//Multi-auth settings
"multi_login" => array("file" => "multiLogin.inc.php"),
//Piwik configuration settings
"piwik" => array("file" => "piwik.inc.php"),
//Multi-pages settings (not released yet)
"pages" => array("file" => "pages.inc.php"),
//Appearance settings
"apparence" => array("file" => "appearance.inc.php"),
//Notifications settings
"notifications" => array("file" => "notifications.inc.php"),
//Personnal URL settings
"repertoire" => array("file" => "repertoire.inc.php"),
//Password settings
"password" => array("file" => "password.inc.php"),
//Avatar settings
"avatar" => array("file" => "avatar.inc.php"),
//Background image settings
"imgfond" => array("file" => "backgroundImg.inc.php"),
//Chat settings
"chat" => array("file" => "chat.inc.php"),
//Clean account settings
"clean_account" => array("file" => "cleanAccount.inc.php"),
//Change avatar visibility settings
"visibilite_avatar" => array("file" => "avatarVisibility.inc.php"),
//Export personnal datas
"exportinfo" => array("file" => "exportData.inc.php"),
//No page found whith the current request
"error" => array("file" => "error.inc.php"),
);

View File

@ -0,0 +1,34 @@
<?php
/**
* Change menu settings
*
* @author Pierre HUBERT
*/
if(!isset($_SESSION))
exit("Invalid call !");
//Menu Bar
?><nav class="sidebar <?php echo (($afficher['color_menu'] == "blue") || ($afficher['old_menu'] == 1) ? "light" : $afficher['color_menu']); ?>">
<ul>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>"><i class="icon-home"></i> <?php echo $lang[56]; ?></a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=groupe_personnes">Groupes de personnes</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=multi_login"><i class="icon-key"></i> Multi-authentification</a></li>
<!--<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=pages">Vos pages</a></li>-->
<li class="title">Personnalisation</li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=avatar"><i class="icon-user"></i> Avatar</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=imgfond"><i class="icon-pictures"></i> Image de fond</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=apparence"><i class="icon-tools"></i> Apparence</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=notifications"><i class="icon-comments-4"></i> Notifications</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=rss"><i class="icon-feed"></i> Flux RSS</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=repertoire"><i class="icon-globe"></i> Choix de l'URL</a></li>
<li class="title">Vie priv&eacute;e</li>
<?php if($activer_publique_chat == "oui") { ?><li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=chat"><i class="icon-comments"></i> Chat publique</a></li><?php } ?>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=clean_account"><i class="icon-cycle"></i> Nettoyage de votre compte</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=visibilite_avatar"><i class="icon-menu"></i> Visibilit&eacute; de votre avatar</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=piwik"><i class="icon-stats"></i> Gestion de Piwik</a></li>
<li><a href="<?php echo $_SERVER['PHP_SELF']; ?>?c=exportinfo"><i class="icon-share"></i> Export des informations personnelles</a></li>
</ul>
</nav>