";
else
return webUserDataFolder()."avatars/".$adresse_avatar;
}
//Affichage de l'image de fond
//Recherche de l'image de fond de la personne
function imgfond($id_img_fond, $urlsite="./", $whidth=32, $height=32, $id="", $juste_url = false)
{
//On vérifie si un complément est disponible
if(file_exists(relativeUserDataFolder("imgfond/adresse_imgfond/".$id_img_fond.".txt")))
$url = webUserDataFolder("imgfond/".file_get_contents(relativeUserDataFolder("imgfond/adresse_imgfond/".$id_img_fond.".txt")));
else
$url = webUserDataFolder("imgfond/0.jpg");
if(!$juste_url)
return "";
else
return $url;
}
//Fonction permettant de définir le niveau de visibilité de l'avatar de l'utilisateur
//Valeur de retour :
// 1 - L'utilisateur et ses amis uniquement
// 2 - L'utilisateur, ses amis et les personnes connectées
// 3 - L'utilisateur, ses amis, les personnes connectées et non connectées -> Tout le monde
function get_niveau_visibilite_avatar($id, $urlsite = "./")
{
//On définit qu'il est visible par tout le monde
$niveau_visibilite_avatar = 3;
//On vérifie si ce niveau de visibilité a été personalisé par l'utilisateur
$adresse_fichier = relativeUserDataFolder("avatars/adresse_avatars/limit_view_".$id.".txt");
if(file_exists($adresse_fichier))
{
//Récupération du contenu du fichier
$content_file = file_get_contents($adresse_fichier);
//Contrôle du contenu du fichier (on ne prendra en compte sa valeur que si elle ne présente un intérêt
if( $content_file == 1 OR $content_file == 2 )
$niveau_visibilite_avatar = $content_file; //On enregistre la nouvelle valeur
}
//Renvoi du résultat
return $niveau_visibilite_avatar;
}
//Fonction de modification du niveau de visibilité de l'avatar
function modifie_niveau_visibilite_avatar($id_personne, $nouveau_niveau, $urlsite = "./")
{
//Définition de l'adresse du fichier
$adresse_fichier = relativeUserDataFolder("avatars/adresse_avatars/limit_view_".$id_personne.".txt");
//Contrôle du nouveau niveau
if($nouveau_niveau == 3)
{
//Niveau égal à trois -> Suppression du fichier
if(file_exists($adresse_fichier))
//Suppression du message
return unlink($adresse_fichier);
else
//Rien à faire, retour positif
return true;
}
elseif($nouveau_niveau == 2 OR $nouveau_niveau == 1)
{
//Edition du fichier et retour (positif ou négatif suivant la réponse)
return file_put_contents($adresse_fichier, $nouveau_niveau);
}
else
//Erreur
return false;
}
//Fonction d'ajout de texte
function ajouttexte($idpersonne, $texte, $bdd, $niveau_visibilite = 2, $type="texte", $path = "", $annee_fin = 0, $mois_fin = 0, $jour_fin = 0, $url_page="", $titre_page = "", $description_page = "", $image_page = "")
{
$sql = 'INSERT INTO texte (ID_personne, date_envoi, texte, niveau_visibilite, type, path, annee_fin, mois_fin, jour_fin, url_page, titre_page, description_page, image_page) VALUES (?, NOW(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ';
//Exécution de la requete
$insertion = $bdd->prepare($sql);
$insertion->execute(array($idpersonne, corrige_echapement($texte), $niveau_visibilite, $type, $path, $annee_fin, $mois_fin, $jour_fin, $url_page, $titre_page, $description_page, $image_page));
//Et la notification (uniquement si nécessaire => Si le post n'a pas un niveau égal à 3)
if(!visibilite_privee($niveau_visibilite))
sendnotification($_SESSION['ID'], "a ajouté un texte sur sa page.", $bdd, "page:".$_SESSION['ID']);
else
sendnotification($_SESSION['ID'], "a ajouté un texte sur sa page.", $bdd, "page:".$_SESSION['ID'], "", "texte", list_personnes_groupes($niveau_visibilite, $bdd));
}
//Fonction d'ajout de texte sur la page d'un amis
//Paramètres de la fonction
//$idpersonne : la personne qui ENVOI le texte
//$idamis la personne à qui est DESTINE le texte
//-----------------------------------------
//DB SQL
//ID_personne : la personne à qui est DESTINE le texte
//ID_amis : la personne qui ENVOI le texte
function ajouttexte_amis($idpersonne, $idamis, $texte, $bdd, $niveau_visibilite = 2, $type = "texte", $path = "", $annee_fin = 0, $mois_fin = 0, $jour_fin = 0, $url_page="", $titre_page = "", $description_page = "", $image_page = "")
{
$sql = 'INSERT INTO texte (ID_personne, ID_amis, date_envoi, texte, niveau_visibilite, type, path, annee_fin, mois_fin, jour_fin, url_page, titre_page, description_page, image_page) VALUES (?, ?, NOW(), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ';
//Exécution de la requete
$insertion = $bdd->prepare($sql);
$insertion->execute(array($idamis, $idpersonne, corrige_echapement($texte), $niveau_visibilite, $type, $path, $annee_fin, $mois_fin, $jour_fin, $url_page, $titre_page, $description_page, $image_page));
//La notification UNIQUEMENT SI LE POST EST OUVERT AUX AMIS
if(!visibilite_privee($niveau_visibilite))
{
//And the notification
$infopersonne = cherchenomprenom($idamis, $bdd);
sendnotification($_SESSION['ID'], "a ajouté un texte sur la page de ".$infopersonne['prenom'].' '.$infopersonne['nom'].".", $bdd, "page:".$infopersonne['ID'], $idamis);
}
else
{
//And the notification
$infopersonne = cherchenomprenom($idamis, $bdd);
sendnotification($_SESSION['ID'], "a ajouté un texte sur la page de ".$infopersonne['prenom'].' '.$infopersonne['nom'].".", $bdd, "page:".$infopersonne['ID'], $idamis, "texte", list_personnes_groupes($niveau_visibilite, $bdd));
}
//Inclusion de la configuration
include('inc/config/config.php');
$info_destinataire = cherchenomprenom($idamis, $bdd);
//Vérification de l'autorisation d'envoi de mails
if($active_envoi_mail == "oui" && $info_destinataire['autorise_mail'] == 1)
{
//Envoi d'un message au demandé
$info_amis = cherchenomprenom($idpersonne, $bdd);
$send_mail = true;
$sujet = "Nouveau texte sur votre page";
$description_rapide = "Un de vos amis a posté un texte sur votre page.";
$nom_destinataire = $info_destinataire['prenom']." ".$info_destinataire['nom'];
$adresse_mail_destinataire = $info_amis['mail'];
$texte_message = "
Un de vos amis a posté un texte sur votre page.
Voici le texte:
".avatar($idamis, $urlsite)." |
".$info_amis['prenom']." ".$info_amis['nom']." |
".$texte." |
Connectez-vous pour accéder à toute les notifications de Comunic.
"; //Envoi du message include('inc/envoi_mail.php'); } } //Fonction de demande en amis //Fonction nécessaire : liste_amis function demandeamis($idpersonne, $iddemandeur, $bdd) { //On vérifie si une demande n'a pas déjà été postée $liste_verification = liste_amis($idpersonne, $bdd, 0); //On vérifie foreach($liste_verification as $verifier) { if($verifier == $iddemandeur) { //On affiche un message d'erreur echo ""; //On bloque le tout $bloque = 1; } } //On vérifie si un bloquage a été effectué if(!isset($bloque)) { //On poste la demande $sql = "INSERT INTO amis (ID_personne, ID_amis) VALUES (?, ?)"; //Exécution de la requete $insertionamis = $bdd->prepare($sql); $insertionamis->execute(array($idpersonne, $iddemandeur)); //Inclusion de la configuration include('inc/config/config.php'); //Vérification de l'autorisation d'envoi de mails $info_destinataire_demande = cherchenomprenom($idpersonne, $bdd); if($active_envoi_mail == "oui" && $info_destinataire_demande['autorise_mail'] == 1) { //Envoi d'un message au demandé $info_demandeur = cherchenomprenom($iddemandeur, $bdd); $send_mail = true; $sujet = "Demande d'amis de ".$info_demandeur['prenom']." ".$info_demandeur['nom']; $description_rapide = "Vous avez une nouvelle demande d'amis sur Comunic"; $nom_destinataire = $info_destinataire_demande['prenom']." ".$info_destinataire_demande['nom']; $adresse_mail_destinataire = $info_destinataire_demande['mail']; $texte_message = "Une nouvelle demande d'amis a été postée sur votre compte.
Voici la personne qui vous a demandé en amis:
".avatar($iddemandeur, $urlsite)." |
".$info_demandeur['prenom']." ".$info_demandeur['nom']." |
Connectez-vous pour accéder à toute les notifications de Comunic.
"; //Envoi du message include('inc/envoi_mail.php'); } } } //Fonction permettant de vérifier si une demande à devenir ami a déjà été faite function isset_demande_amis($idpersonne, $iddemandeur, $bdd) { //On vérifie si une demande n'a pas déjà été postée $liste_verification = liste_amis($idpersonne, $bdd, 0); //On vérifie foreach($liste_verification as $verifier) { if($verifier == $iddemandeur) { return true; } } return false; } //Fonction de recherche de tous les textes function affichertextes($id, $bdd, $lignedepart = 0, $limit = 10, $niveau_visibilite = 2, $tous_texte_personne = false, $post_precis = false, $liste_groupes = array(), $type = "all") { //Complément de source pour les groupes $complement_source_groupes = ""; foreach($liste_groupes as $ajouter) { $complement_source_groupes .= " OR (niveau_visibilite LIKE '%|".$ajouter."')"; $complement_source_groupes .= " OR (niveau_visibilite LIKE '%|".$ajouter."|%')"; } //Complément de source pour les types de post $complement_source_type = ""; if($type != "all") $complement_source_type = "AND type = '".$type."' "; //Recherche des textes de la personne (en fonction de de tous ou non) if(isset($_SESSION['ID'])) { if($post_precis != false) { $sql = "SELECT * FROM texte WHERE (ID_personne = ".$id.") ".$complement_source_type." AND (((niveau_visibilite <= ?) OR (niveau_visibilite LIKE ?)) ".$complement_source_groupes.") AND ID = ".$post_precis*1; } elseif(!$tous_texte_personne) $sql = "SELECT * FROM texte WHERE (ID_personne = ".$id.") ".$complement_source_type." AND ((((niveau_visibilite <= ?) OR (niveau_visibilite LIKE ?)) ".$complement_source_groupes.") OR ID_amis = ".(isset($_SESSION['ID']) ? $_SESSION['ID'] : "'null'").") ORDER BY ID DESC LIMIT ".$lignedepart.", ".$limit; else $sql = "SELECT * FROM texte WHERE (ID_personne = ".$id.") ".$complement_source_type." AND (((niveau_visibilite <= ?) OR (niveau_visibilite LIKE ?) ".$complement_source_groupes.") OR ID_amis = ".(isset($_SESSION['ID']) ? $_SESSION['ID'] : "'null'").") ORDER BY ID DESC LIMIT ".$lignedepart.", ".$limit; } else { if($post_precis != false) { $sql = "SELECT * FROM texte WHERE ID_personne = ".$id." ".$complement_source_type." AND niveau_visibilite = 1 AND ID = ".$post_precis*1; } elseif(!$tous_texte_personne) $sql = "SELECT * FROM texte WHERE ID_personne = ".$id." ".$complement_source_type." AND niveau_visibilite = 1 ORDER BY ID DESC LIMIT ".$lignedepart.", ".$limit; else $sql = "SELECT * FROM texte WHERE ID_personne = ".$id." ".$complement_source_type." AND niveau_visibilite = 1 ORDER BY ID DESC LIMIT ".$lignedepart.", ".$limit; } //Exécution de la requete $textes = $bdd->prepare($sql); $textes->execute(array($niveau_visibilite, $niveau_visibilite."%")); //Affichage des résultats $retour = array(); while($afficherresultats = $textes->fetch()) { $retour[] = $afficherresultats; } //On renvoi les résultats return $retour; //Fermeture de la requete $textes->closeCursor(); } //Fonction qui permet d'aimer ou de ne plus aimer function aimeaimeplus($actionid, $idtextelike, $idpersonne, $bdd, $type = "texte") { //Recherche de la cause d'appel de cette fonction $sql = "SELECT * FROM aime WHERE (ID_type = ?) && (ID_personne = ?) && (type = ?)"; $requete = $bdd->prepare($sql); $requete->execute(array($idtextelike, $idpersonne, $type)); $tour = "0"; while($executionrequete = $requete->fetch()) { $tour = "1"; } if($actionid == 2) { $action = "Je n'aime plus"; } else { $action = "J'aime"; } //Fermeture de la requete de recherche $requete->closeCursor(); //Si la requete est d'aimer, ajouter une entrée dans la table aimer if($action == "J'aime") { //On vérifie avant si la personne n'aime pas déjà if($tour != 0) { //On affiche un message d'erreur: la personne aime déjà le texte echo ''; } else { //Requete d'insertion $sql = "INSERT INTO aime (ID_type, ID_personne, Date_envoi, type) VALUES (?, ?, NOW(), ?)"; $insertion = $bdd->prepare($sql); $insertion->execute(array($idtextelike, $idpersonne, $type)); } } //Si la requete est de ne plus aimer, supprimer l'entrée de la table if ($action == "Je n'aime plus") { $sql = "DELETE FROM aime WHERE (ID_type = ?) && (ID_personne = ?) && (type = ?)"; $suppression = $bdd->prepare($sql); $suppression->execute(array($idtextelike, $idpersonne, $type)); } } //Fonction de requete de recherche des aime function requeteaime($idtexte, $bdd, $type = "texte") { //On compte ensuite les j'aime pour le texte $sqlaime = ("SELECT * FROM aime WHERE ID_type = ? && type= ?"); $requeteaime = $bdd->prepare($sqlaime); $requeteaime->execute(array($idtexte, $type)); $retour['personnesaiment'] = 0; $retour['vousaimez'] = 0; if(isset($_SESSION['ID'])) { $idpourlescom = $_SESSION['ID']; } else { $idpourlescom = 'x'; } while($afficheraime = $requeteaime->fetch()) { if($afficheraime['ID_personne'] != $idpourlescom) { $retour['personnesaiment']++; } else { $retour['vousaimez'] = 1; $retour['personnesaiment']++; } } //On renvoi le résultat return $retour; //Fermeture de la requete $requeteaime->closeCursor(); } //Fonction permettant de supprimer tous les "aimes" d'un type pour un id function delete_aimes_type_id($idcontent, $type, $bdd) { //Exécution de la requête $sql = "DELETE FROM aime WHERE (ID_type = ?) && (type = ?)"; $requete = $bdd->prepare($sql); $requete->execute(array($idcontent, $type)); } //Fonction d'affichage du bouton j'aime pour un commentaire function bouton_aime_commentaire($idcommentaire, $idtexte, $bdd) { //Recherche du nombre de j'aime $nombre_aime = requeteaime($idcommentaire, $bdd, "commentaire"); //Développement uniquement //print_r($nombre_aime); echo "Type d'image incompatible avec ce service.
"); } // Redimensionnement imagecopyresized($thumb, $source, 0, 0, 0, 0, $width, $height, $infos_image[0], $infos_image[1]); //Détermination du nom de l'image $nom_img_commentaire = sha1(time().$_SESSION['ID'].sha1($commentaire).$_SERVER['REMOTE_ADDR']); //Checking user's folder path checkPersonnalFolder(relativeUserDataFolder("imgcommentaire/"), $_SESSION['ID']); //Check if an image with the same name already exists while(file_exists(relativeUserDataFolder("imgcommentaire/".$_SESSION['ID']."/".$nom_img_commentaire.".png"))) $nom_img_commentaire = crypt($nom_img_commentaire); $nom_img_commentaire = "imgcommentaire/".$_SESSION['ID']."/".$nom_img_commentaire.".png"; //Ecriture du fichier imagepng($thumb, relativeUserDataFolder($nom_img_commentaire)); //On indique où se trouve dans le fichier dans la bdd $image = "file:".$nom_img_commentaire; } } } else ob_end_clean(); } } //Contrôle de la validité du commentaire (nécessite verifie_validite_ajout) if(verifie_validite_ajout($commentaire, true) || $image != "") { //Insertion du commentaire $sql = "INSERT INTO commentaires (ID_personne, ID_texte, date_envoi, commentaire, image_commentaire) VALUES (".$idpersonne.", ".$idtexte.", NOW(), ?, ?)"; $insertion = $bdd->prepare($sql); $insertion->execute(array(corrige_echapement($commentaire), $image)); } else { //Message d'erreur echo ""; } } //Fonction de recherche des informations d'une personne function cherchenomprenom($ID, $bdd = false, $type = 'ID', $messageerreur = "Erreur! Le profil demandé n'existe pas.
") { //On vérifie si il s'agit ou non du fil d'actualité if($ID != "fil" && $bdd) { //Recherche du nom de la personne $sql = "SELECT * FROM utilisateurs WHERE ".$type." = ?"; $nompersonne = $bdd->prepare($sql); $nompersonne->execute(array($ID)); //Affichage du nom de la personne ob_start(); if(!$infos_user = $nompersonne->fetch()) { ob_end_clean(); echo $messageerreur; die(); } ob_end_clean(); //Fermeture de la requete $nompersonne->closeCursor(); } elseif($ID == "fil") { //Informations factices /* Echantillon d'exemple --- [ID] => 1 [nom] => Hubert [prenom] => Pierre [date_creation] => 2013-11-10 09:17:56 [mail] => pierrot42100@yahoo.fr [password] => dsqfqdfqsgq5 [affiche_chat] => 0 [public] => 1 [pageouverte] => 1, [bloquecommentaire] --- */ $infos_user = array( "ID" => "fil", "nom" => "d'actualite", "prenom" => "Fil", "date_creation" => "0000-00-00 00:00:00", "mail" => "no-reply@communiquons.org", "password" => "", "public" => 1, "site_web" => "", "page_verifiee" => 0, "autoriser_post_amis" => 1, "liste_amis_publique" => 0, "bloquecommentaire" => 0 ); } else { ?>Informations manquantes pour accéder à la base de données. Ce n'est pas de votre faute, cependant cette erreur implique l'arrêt du chargement de la page. Essayez d'actualiser la page pour essayer de corriger le problèm.
prepare($sql); $requeteverification->execute(array($idpersonne)); //On prépare les variables pour l'étapge suivante $autorisationspeciale = 0; //On vérifie maintenant if($verifier = $requeteverification->fetch()) { if(($verifier['public'] == 1) && ($verifier['pageouverte'] == 1)) { //On donne alors une autorisation spéciale $autorisationspeciale = 1; } //Fermeture de la requete $requeteverification->closeCursor(); } //On renvoi le résultat suivant si la page est publique ou non if($autorisationspeciale == 1) { return true; } else { return false; } } //Fonction qui permet de vérifier si une personne est un ami ou non function detectesilapersonneestamie($personneconnecte, $secondepersonne, $bdd) { //On vérifie si c'est un amis $sql = "SELECT * FROM amis WHERE (ID_personne = ?) && (ID_amis = ?) && (actif = 1)"; //Exécution de la requete $requeteamis = $bdd->prepare($sql); $requeteamis->execute(array($personneconnecte, $secondepersonne)); //On renvoi le résultat suivant si la personne est amie ou non if(!$verifieramis = $requeteamis->fetch()) { return false; } else { return true; } //Fermeture de la requete $requeteamis->closeCursor(); } /** * Fonction d'envoi d'image en ligne (nouvelle version) * * @param Int $idpersonne The ID of sender * @param String $nomimage Image description * @param Object $bdd BDD object * @param Int $idamis Optionnal - Specify the ID of a friend if it is one whom send image * @param Int $niveau_visibilite Optional - Specify if specific visibility level has been defined * @return Boolean True or false depending of the success of the operation */ function envoiimage($idpersonne, $nomimage, $bdd, $idamis = 0, $niveau_visibilite = 2) { //On vérifie si il y a eu une erreur if($_FILES['image']['error'] == 0) { //On vérifie si un dossier a été allouée à la personne, création automatique le cas échéant $folder_user = checkPersonnalFolder(relativeUserDataFolder("imgpost/"), $_SESSION['ID']); $folder_user = str_replace(relativeUserDataFolder(), "", $folder_user); //On recherche le nom de l'image $imagePath = $folder_user.(isset($_SERVER['UNIQUE_ID']) ? $_SERVER['UNIQUE_ID'] : sha1($_SERVER['HTTP_USER_AGENT'])) .$_SESSION['ID'].$_SERVER['REQUEST_TIME'].".jpg"; //Nom introuvable // On peut valider l'image de fond et la stocker définitivement if(move_uploaded_file($_FILES['image']['tmp_name'], relativeUserDataFolder($imagePath))) { //Préparation de la requete $contenu = $nomimage; //On enregistre l'image dans la base $sql = 'INSERT INTO texte (ID_personne, date_envoi, texte, ID_amis, niveau_visibilite, type, size, file_type, path) VALUES ('.$idpersonne.', NOW(), ?, ?, ?, ?, ?, ?, ?) '; //Exécution de la requete $insertion = $bdd->prepare($sql); $insertion->execute(array($contenu, $idamis, $niveau_visibilite, "image", $_FILES['image']['size'], $_FILES['image']['type'], $imagePath)); return true; } else echo "Une erreur a survenue durant l'envoi de l'image, veuillez réessayer...
"; } else { echo "Une erreur a survenue durant l'envoi de l'image.
"; } } //Fonction de vérification de l'existence d'une demande de nouveaux amis function issetdemandesamis($idpersonne, $bdd) { //On vérifie si il y a des demandes d'amis non acceptés $sql = "SELECT * FROM amis WHERE (ID_personne = ".$idpersonne.") && (actif = 0)"; //Exécution de la requete $verificationnouveauxamis = $bdd->query($sql); //Calcul du résultat if($test = $verificationnouveauxamis->fetch()) { return true; } else { return false; } //Fermeture de la requete $verificationnouveauxamis->closeCursor(); } //Fonction de correction des caractères spéciaux function corrige_caracteres_speciaux($source) { //On corrige les caractères spéciaux $source = str_replace("è", "è", $source); $source = str_replace("é", "é", $source); $source = str_replace("ê", "ê", $source); $source = str_replace("ë", "ë", $source); $source = str_replace("î", "î", $source); $source = str_replace("à", "à", $source); $source = str_replace('ç', 'ç', $source); $source = str_replace('ù', 'ù', $source); $source = str_replace('â', 'â', $source); $source = str_replace('ô', 'ô', $source); $source = str_replace('û', 'û', $source); $source = str_replace('’', '’', $source); //On renvoi le résultat return $source; } //Fonction de décorrection des caractères spéciaux function decorrige_caracteres_speciaux($source) { //On corrige les caractères spéciaux $source = str_replace("è", "è",$source); $source = str_replace("é", "e", $source); $source = str_replace("ê", "ê", $source); $source = str_replace("ë", "ë", $source); $source = str_replace("î", "î", $source); $source = str_replace("à", "à", $source); $source = str_replace('ç', 'ç', $source); $source = str_replace('ù', 'ù', $source); $source = str_replace('â', 'â', $source); $source = str_replace('ô', 'ô', $source); $source = str_replace('û', 'û', $source); $source = str_replace('’', '’', $source); //On renvoi le résultat return $source; } //Fonction d'enregistrement de post de chat function postchat($idpersonne, $message, $bdd) { //On enregistre le chat $query = $bdd->prepare("INSERT INTO chat(message, ID_personne, Date_envoi) VALUES(?, ?, NOW())"); $query->execute(array($message, $idpersonne)); } //Fonction de récupération du contenu du chat function recuperecontenuchat($bdd, $nbpost = 10) { $sql = "SELECT * FROM chat ORDER BY ID DESC LIMIT 0,".$nbpost; $requetechat = $bdd->query($sql); //Enregistrement des résultats $retour = array(); while($afficherchat = $requetechat->fetch()) { $retour[] = $afficherchat; } //Renvoi du résultat return $retour; } //Fonction permettant de vérifier si le chat doit être automatiquement ouvert function verifierouvertureautomatiquechat($idpersonne, $bdd) { //On vérifie si le chat doit être automatiquement ouvert $sql = "SELECT * FROM utilisateurs WHERE ID = ".$idpersonne; //Exécution de la requete $verifierchat = $bdd->query($sql); //On vérifie et on affiche la source javascript en fonction des parametres $verfier = $verifierchat->fetch(); if($verfier['affiche_chat'] == 1) { return true; } else { return false; } //Fermeture de la requete $verifierchat->closeCursor(); } //Fonction permettant de connecter l'utilisateur function connnecteruser($mail, $motdepasse, $bdd, $cryptage_necessaire = true, $active_login = true, $return_infos_user = false) { if($cryptage_necessaire) { //Hachage du mot de passe $motdepasse = sha1($motdepasse); $motdepasse = crypt($motdepasse, $motdepasse); } //Préparation de la requete $sql = "SELECT * FROM utilisateurs WHERE (mail = ?) && (password = ?) "; //Execution de la requete $requete = $bdd->prepare($sql); $requete->execute(array($mail, $motdepasse)); if($traiter = $requete->fetch()) { //On connecte alors l'utilisateur if($active_login) //Ouverture de la session $_SESSION['ID'] = $traiter['ID']; //On vérifie si il faut retourner les informations de l'utilisateur if(!$return_infos_user) return true; else return $traiter; } else { return false; } //Fermeture de la requete $requete->closeCursor(); } //Fonction permettant de voir si l'utilisateur est connecté function verifieconnnexionutilisateur() { //On cache les erreurs ob_start(); //session_start(); ob_end_clean(); //Si l'utilisateur est connecté, on renvoi true sinon on renvoi false if(isset($_SESSION['ID'])) { return true; } else { return false; } } //Fonction qui adapte les textes pour afficher les images function adaptetexteimage($texte, $basesite = './') { $texte = str_replace('endofimgcomunicpostbyuser', '.jpg" />', $texte); $texte = str_replace('imgcomunicpostbyuser', 'Bonjour, ce message vous a été adressé suite à une erreur fatale dans un script PHP. L'erreur PHP est la suivante : ".$nom_erreur."
La raison de l'erreur est la suivante: ".$raison."
Les informations complémentaires sont les suivantes :
$"."_POST | |
".$nom." : | ".$valeur." |
$"."_GET | |
".$nom." : | ".$valeur." |
$"."_SERVER | |
".$nom." : | ".$valeur." |
$"."_SESSION | |
".$nom." : | ".$valeur." |
$"."details | |
".$nom." : | ".$valeur." |
Erreur : ".$erreur."
"; } //Récupération d'un sondage par l'ID du texte correspondant function get_sondage_by_text_id($id_texte, $bdd) { //Récupération des informations sur le sondage $infos_sondage = select_sql("sondage", "ID_texte = ?", $bdd, array($id_texte)); //Si il n'y a pas de sondage => Erreur if(count($infos_sondage) == 0) { //Rapport d'erreur report_error('', 'Un sondage devrait être affiché, mais celui-ci est introuvable dans la BDD. Erreur dans le fichier view_textes.php (inc).'); //On casse la chaîne après erreur affiche_message_erreur("Une erreur a survenue lors de récupération d'informations relatives au post (Err Get Info Sond0.). Passage au texte suivant"); echo "Une erreur fatale a survenue (checkPersonnalFolder in creating personnal folder). Veuillez réessayer...
"; exit(); } } //On vérifie l'existence d'un fichier index.php de sécurité if(!file_exists($path."index.html")) { $file_content = "Une erreur fatale a survenue (checkPersonnalFolder in creating security file). Veuillez réessayer...
"; exit(); } } //Renvoi du chemin du dossier return $path; } //End Of File //Merci d'utiliser le Service Pierre avec Comunic ! :)