comunic/action.php
2016-11-19 12:08:12 +01:00

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 &eacute;t&eacute; envoy&eacute;.</p><?php
}
else
{
?><p>L'envoi de mail est d&eacute;sactiv&eacute;.</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');
}
}