mirror of
https://github.com/pierre42100/comunic
synced 2024-12-28 14:39:00 +00:00
516 lines
15 KiB
PHP
Executable File
516 lines
15 KiB
PHP
Executable File
<?php
|
|
/* Service Pierre 2014 */
|
|
//Démarrage de la session
|
|
session_start();
|
|
|
|
//Inclusion de la configuration
|
|
include('inc/initPage.php');
|
|
|
|
//Initialisation de la langue
|
|
$lang = detecteinstallelangue();
|
|
|
|
if(!isset($_GET['actionid']))
|
|
{
|
|
header('location: index.php');
|
|
exit("erreur 001 : il manque une variable requise !");
|
|
}
|
|
elseif($_GET['actionid'] == "")
|
|
{
|
|
header('location: index.php');
|
|
die("erreur 002 : Une variable requise est vide !");
|
|
}
|
|
|
|
//Accès à l'ID des actions plus rapide
|
|
$action = $_GET['actionid'];
|
|
|
|
//Liste des actions :
|
|
/*
|
|
1 - Vérification de la présence de nouveaux messages pour l'utilisateur
|
|
2 - Fichier Javascript renvoyant la liste des smiley disponibles
|
|
3 - Renvoi le nombre de notifications non vues
|
|
4 - Permet d'envoyer un mail contenant l'ensemble des données personnelles
|
|
5 - Permet de rediriger vers le lien d'une notification
|
|
6 - Permet de mettre une notification en vue
|
|
7 - Permet de vérifier la présence d'une nouvelle demande d'amis
|
|
8 - Permet l'éditon d'un commentaire par l'intermédiaire d'une requête Ajax
|
|
9 - Permet de renvoyer le code source d'un CAPATCHA
|
|
10 - Permet d'envoyer une vidéo
|
|
11 - Suite de l'envoi de la vidéo
|
|
12 - Change le nom d'une vidéo
|
|
13 - Disponible
|
|
14 - Change le niveau de visibilité d'un post
|
|
15 - Suppression d'un commentaire
|
|
16 - Aimer ou pas un commentaire
|
|
17 - Afficher ou masquer le panneau du chat privé
|
|
18 - Changer la hauteur du chat
|
|
19 - Ouvrir/Fermer une session de chat privé
|
|
20 - Génération du code pour une session de chat
|
|
21 - Permet d'aimer ou de ne plus aimer un texte ou une page
|
|
22 - Permet la recherche AJAX d'utilisateurs
|
|
23 - Permet de supprimer une demande à devenir ami
|
|
24 - Permet de vider supprimer les anciennes notifications
|
|
25 - Permet de voir, ajouter ou supprimer l'abonnement aux activités d'un amis
|
|
26 - Permet de changer d'avatar en utilisant la WebCam
|
|
27 - Permet de supprimer l'avatar ou l'image de fond
|
|
28 - Nettoyage du compte de l'utilisateur
|
|
29 - Affichage des textes de l'utilisateur
|
|
30 - Valide que la personne a vue le message concernant les cookies
|
|
31 - Récupération du contenu de l'en-tête de la page
|
|
32 - Récupération du code source pour l'ajout de post
|
|
33 - Ajout de Comunic comme moteur de recherche dans les navigateurs
|
|
34 - Aimer une page web externe
|
|
35 - Permet d'indiquer que la personne a vu le message relatif au fil d'actualité
|
|
36 - Affiche toute les conversations récentes dans le chat privé
|
|
37 - Voter pour un sondage (donner sa réponse)
|
|
*/
|
|
|
|
//Inclusion de la liste des Smiley
|
|
if($action == "2")
|
|
{
|
|
//Inclusion du fichier d'affichage de la liste
|
|
ob_start();
|
|
include 'inc/smile_javascript.php';
|
|
$source = ob_get_clean();
|
|
|
|
//Enregistrement du contenu du fichier
|
|
file_put_contents("assets/js/liste_smile.js", $source);
|
|
|
|
//Redirection
|
|
header('Location: assets/js/liste_smile.js');
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Permet de renvoyer le code source d'un CAPATCHA
|
|
elseif($action == "9")
|
|
{
|
|
//Intégration de la bibliothèque
|
|
$cryptinstall=path_3rdparty("crypt/cryptographp.fct.php");
|
|
include $cryptinstall;
|
|
|
|
//Génération et renvoi du code source (avec adaptation)
|
|
ob_start(); //Démarrage du blocage
|
|
dsp_crypt(0,1); //Génération du code source
|
|
$source = ob_get_contents(); //Récupération du code source
|
|
ob_end_clean(); //Fin du blocage
|
|
$source = str_replace(path_3rdparty("crypt/"), url_3rdparty("crypt/"), $source); //Adaptation de la source
|
|
echo $source; //Affichage de la source
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Renvoi des textes de l'utilisateur
|
|
elseif($action == "29")
|
|
{
|
|
$ok_textes_check = 1;
|
|
include(pagesRelativePath('homeUser/viewTexts/viewTexts.inc.php'));
|
|
}
|
|
//Valide que la personne a vue le message concernant les cookies
|
|
elseif($action == "30")
|
|
{
|
|
//On enregistre le cookie pour un an
|
|
setcookie("ok_message_cookie", "Message vu", time() + 365*24*3600);
|
|
}
|
|
//Récupère le contenu de l'en-tête d'une page
|
|
elseif($action == "31")
|
|
{
|
|
//Clé de sécurité et inclusion
|
|
$header_page_ok = 1;
|
|
include('inc/header_page.php');
|
|
}
|
|
//Récupère le contenu de l'en-tête d'une page
|
|
elseif($action == "33")
|
|
{
|
|
//Clé de sécurité et inclusion
|
|
$add_comunic_as_search_engine_check = 1;
|
|
include('inc/add_comunic_as_search_engine.php');
|
|
}
|
|
//Aimer une page web externe
|
|
elseif($action == "34")
|
|
{
|
|
//Clé de sécurité et inclusion
|
|
$like_external_page_verification = 1;
|
|
include('inc/like_external_page.php');
|
|
}
|
|
|
|
//Actions nécessitants une connexion de l'utilisateur
|
|
if(isset($_SESSION['ID']))
|
|
{
|
|
//Vérification de la présence de nouveaux messages
|
|
if($action == "1")
|
|
{
|
|
if(verifier_nouveaux_messages_utilisateur($_SESSION['ID'], $bdd))
|
|
{
|
|
echo "1";
|
|
}
|
|
else
|
|
{
|
|
echo "0";
|
|
}
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Vérification du nombre de notifications inconnues
|
|
elseif($action == "3")
|
|
{
|
|
//On recherche les notifications
|
|
$sql = "SELECT COUNT(*) AS nb_notifications FROM notification WHERE ID_personne = ? AND vu = ?";
|
|
$requete = $bdd->prepare($sql);
|
|
$requete->execute(array($_SESSION['ID'], 0));
|
|
|
|
if(!$infos = $requete->fetch())
|
|
die('DB error');
|
|
|
|
//Fermeture de la requête
|
|
$requete->closeCursor();
|
|
|
|
//Renvoi du résultat
|
|
echo $infos['nb_notifications'];
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Envoi des données personnelles
|
|
elseif($action == "4")
|
|
{
|
|
|
|
//Envoi du mail
|
|
//Vérification de l'autorisation de l'envoi d'un mail
|
|
if($active_envoi_mail == "oui")
|
|
{
|
|
//Récupération du code source de la page
|
|
ob_start();
|
|
$no_menu = true;
|
|
include('exportdonnees.php');
|
|
$source_donnees = ob_get_contents();
|
|
ob_end_clean();
|
|
|
|
if(!isset($afficher)) die();
|
|
|
|
//Envoi d'un message de confirmation
|
|
$send_mail = "";
|
|
$sujet = "Donnees personnels";
|
|
$description_rapide = "Voici vos données personnelles";
|
|
$nom_destinataire = $afficher['prenom']." ".$afficher['nom'];
|
|
$adresse_mail_destinataire = $afficher['mail'];
|
|
$texte_message = $source_donnees;
|
|
|
|
//Envoi du message
|
|
include('inc/envoi_mail.php');
|
|
|
|
//Affichage du succès
|
|
include(pagesRelativePath('common/head.php'));
|
|
include(pagesRelativePath('common/pageTop.php'));
|
|
?><p>Le message a été envoyé.</p><?php
|
|
}
|
|
else
|
|
{
|
|
?><p>L'envoi de mail est désactivé.</p><?php
|
|
}
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Lien provenant d'une notification
|
|
elseif($action == "5" && isset($_GET['idnotification']))
|
|
{
|
|
//Récupération de la notification
|
|
$sql = "SELECT * FROM notification WHERE (ID_personne = ? AND ID = ?)";
|
|
$recuperation = $bdd->prepare($sql);
|
|
$recuperation->execute(array($_SESSION['ID'], $_GET['idnotification']));
|
|
|
|
if(!$recuperer = $recuperation->fetch())
|
|
{
|
|
//La notification n'existe pas
|
|
header('Location: index.php');
|
|
|
|
//Fermeture de la page
|
|
die();
|
|
}
|
|
|
|
//On met la notification en vu
|
|
$sql = "UPDATE notification SET vu = 1 WHERE ID = ?";
|
|
$update = $bdd->prepare($sql);
|
|
$update->execute(array($recuperer['ID']));
|
|
|
|
//Sécurité
|
|
if($recuperer['adresse'] != "")
|
|
//Redirection vers la page notifiée
|
|
header('Location: '.$recuperer['adresse']);
|
|
else
|
|
//Redirection verse la page d'acceuil
|
|
header('Location: index.php');
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Mettre une notification en "vu" puis rediriger vers la page notification.php
|
|
elseif($action == "6" && isset($_GET['idnotification']))
|
|
{
|
|
//Récupération de la notification
|
|
$sql = "SELECT * FROM notification WHERE (ID_personne = ? AND ID = ?)";
|
|
$recuperation = $bdd->prepare($sql);
|
|
$recuperation->execute(array($_SESSION['ID'], $_GET['idnotification']));
|
|
|
|
if(!$recuperer = $recuperation->fetch())
|
|
{
|
|
//La notification n'existe pas
|
|
header('Location: notification.php');
|
|
|
|
//Fermeture de la page
|
|
die();
|
|
}
|
|
|
|
//On met la notification en vu
|
|
$sql = "UPDATE notification SET vu = 1 WHERE ID = ?";
|
|
$update = $bdd->prepare($sql);
|
|
$update->execute(array($recuperer['ID']));
|
|
|
|
//Redirection vers la page de notification
|
|
header('Location: notification.php');
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Vérification de la présence de nouvelles demandes d'amis
|
|
elseif($action == "7")
|
|
{
|
|
if(issetdemandesamis($_SESSION['ID'], $bdd))
|
|
{
|
|
echo "1";
|
|
}
|
|
else
|
|
{
|
|
echo "0";
|
|
}
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Edition d'un commentaire par une requête ajax
|
|
elseif($action == "8")
|
|
{
|
|
//Vérification de l'existence des variables requises
|
|
if(isset($_POST['commentaire']) AND isset($_POST['idtexte']) AND isset($_POST['idcommentaire']))
|
|
{
|
|
if($_POST['commentaire'] != "" AND $_POST['commentaire'] != " ")
|
|
{
|
|
if($_POST['idtexte'] != "")
|
|
{
|
|
//Récupération des informations de la liste des commentaires pour ce texte
|
|
$liste_commentaire = affichecommentaire($_POST['idtexte'], $bdd);
|
|
|
|
//Vérifions que le commmentaire existe
|
|
$verification_ok = 0;
|
|
foreach($liste_commentaire as $verifier)
|
|
{
|
|
if($verifier['ID_personne'] == $_SESSION['ID'] AND $verifier['ID'] == $_POST['idcommentaire'] AND $verifier['ID_texte'] == $_POST['idtexte']);
|
|
{
|
|
//Vérification ok
|
|
$verification_ok = 1;
|
|
}
|
|
}
|
|
|
|
if($verification_ok == 0)
|
|
die("404 commentaire"); //Sécurité
|
|
|
|
//Mise à jour du commentaire
|
|
$sql = "UPDATE commentaires SET commentaire = ? WHERE ID = ? AND ID_personne = ? AND ID_texte = ?";
|
|
|
|
//Exécution de la requête
|
|
$requete = $bdd->prepare($sql);
|
|
$requete->execute(array($_POST['commentaire'], $_POST['idcommentaire'], $_SESSION['ID'], $_POST['idtexte']));
|
|
|
|
echo "termine";
|
|
}
|
|
}
|
|
}
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Upload d'une vidéo
|
|
elseif($action == "10")
|
|
{
|
|
//Sécurité
|
|
$verification = 1;
|
|
|
|
//Inclusion du fichier
|
|
include('inc/upload_video.php');
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Suite de l'upload de la vidéo
|
|
elseif($action == "11")
|
|
{
|
|
//Sécurité
|
|
$verification = 1;
|
|
|
|
//Inclusion du fichier
|
|
include('inc/upload_video_suite.php');
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Changer le nom d'une vidéo
|
|
elseif($action == "12")
|
|
{
|
|
//Vérification de l'existence des variables requises
|
|
if(isset($_POST['nouveau_nom_video']) && isset($_POST['idvideo']))
|
|
{
|
|
if($_POST['nouveau_nom_video'] != "" AND $_POST['nouveau_nom_video'] != " ")
|
|
{
|
|
//Mise à jour de la video
|
|
$sql = "UPDATE galerie_video SET nom_video = ? WHERE ID = ? AND ID_user = ?";
|
|
|
|
//Exécution de la requête
|
|
$requete = $bdd->prepare($sql);
|
|
$requete->execute(array($_POST['nouveau_nom_video'], $_POST['idvideo'], $_SESSION['ID']));
|
|
|
|
echo "OK. Fini.";
|
|
}
|
|
}
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Change le niveau de visibilité d'un post
|
|
elseif($action == "14")
|
|
{
|
|
//Sécurité
|
|
$verification_visibilite = 1;
|
|
|
|
//Appel du fichier externe
|
|
include("inc/change_niveau_visibilite_post.php");
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Suppression d'un commentaire
|
|
elseif($action == "15")
|
|
{
|
|
//Sécurité
|
|
$verification_supp_commentaire = 1;
|
|
|
|
//Appel du fichier externe
|
|
include("inc/supp_commentaire_id.php");
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Aime ou pas un commentaire
|
|
elseif($action == "16")
|
|
{
|
|
//Sécurité
|
|
$verification_edit_like_commentaire = 1;
|
|
|
|
//Inclusion du fichier
|
|
include("inc/like_comment.php");
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Afficher/Masquer le panneau du chat privé
|
|
elseif($action == "17")
|
|
{
|
|
//Sécurité
|
|
$verification_show_hide_private_chat = 1;
|
|
|
|
//Inclusion du fichier
|
|
include("inc/show_hide_private_chat_contener.php");
|
|
|
|
//Fermeture du fichier
|
|
die();
|
|
}
|
|
//Changer la hauteur du chat
|
|
elseif($action == "18")
|
|
{
|
|
$verification_change_auteur_chat = 1;
|
|
include("inc/change_hauteur_chat.php");
|
|
}
|
|
//Ouvrir/Fermer une session de chat
|
|
elseif($action == "19")
|
|
{
|
|
$ouvre_ferme_session_chat = 1;
|
|
include("inc/ouvre_ferme_session_chat.php");
|
|
}
|
|
//Récupérer le code source pour une session de chat
|
|
elseif($action == "20")
|
|
{
|
|
$code_session_private_chat = 1;
|
|
include('inc/code_session_private_chat.php');
|
|
}
|
|
//Aimer ou ne plus aimer un texte ou une page
|
|
elseif($action == "21")
|
|
{
|
|
$like_texte_page = 1;
|
|
include('inc/like_texte_page.php');
|
|
}
|
|
//Recherche AJAX d'utilisateurs
|
|
elseif($action == "22")
|
|
{
|
|
$ajax_search_users = 1;
|
|
include('inc/ajax_search_users.php');
|
|
}
|
|
//Requête de suppression de demande à devenir ami
|
|
elseif($action == "23")
|
|
{
|
|
$delete_request_become_friend = 1;
|
|
include('inc/delete_request_become_friend.php');
|
|
}
|
|
//Suppression des anciennes notifications
|
|
elseif($action == "24")
|
|
{
|
|
$delete_old_notifications = 1;
|
|
include('inc/delete_old_notifications.php');
|
|
}
|
|
//Suppression des anciennes notifications
|
|
elseif($action == "25")
|
|
{
|
|
$gere_abonnement_ami = 1;
|
|
include('inc/gere_abonnement_ami.php');
|
|
}
|
|
//Changement d'avatar en utilisant la webcam
|
|
elseif($action == "26")
|
|
{
|
|
$change_avatar_webcam = 1;
|
|
include('inc/change_avatar_webcam.php');
|
|
}
|
|
//Suppression de l'avatar ou de l'image de fond
|
|
elseif($action == "27")
|
|
{
|
|
$delete_avatar_img_background = 1;
|
|
include('inc/delete_avatar_img_background.php');
|
|
}
|
|
//Maintenance du compte
|
|
elseif($action == "28")
|
|
{
|
|
$ok_maintenance = 1;
|
|
include('inc/effectuer_maintenance_account.php');
|
|
}
|
|
//Code source de l'ajout de posts sur une page
|
|
elseif($action == "32")
|
|
{
|
|
include('inc/pages/homeUser/addPost/addpost.inc.php');
|
|
}
|
|
//Message relatif au fil d'actualité bien vu
|
|
elseif($action == "35")
|
|
{
|
|
$message_fil_vu = 1;
|
|
include('inc/message_fil_vu.php');
|
|
}
|
|
//Affiche toute les conversations récentes du le chat privé pour permettre l'ouverture d'une nouvelle
|
|
elseif($action == "36")
|
|
{
|
|
$ok_for_recent_private_chat = 1;
|
|
include('inc/conversations_private_chat.php');
|
|
}
|
|
//Permet de voter pour un sondage (ou de l'annuler)
|
|
elseif($action == "37")
|
|
{
|
|
$ok_to_vote_sondage = 1;
|
|
include('inc/vote_sondage.php');
|
|
}
|
|
}
|