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,103 @@
<?php
/**
* Add a post
*/
isset($_SESSION['ID']) OR exit('addPost requires login !');
//Check requirements
if(!isset($_GET['id']) AND !isset($id))
die("Invalid call!");
if(!isset($id))
//Définition de l'ID (avec sécurité)
$idPersonn = $_GET['id']*1;
else
$idPersonn = $id;
//If it is the actuality, we have to change the ID to the main ID
if($idPersonn == 0)
$idPersonn = $_SESSION['ID'];
//Récupération des informations de la personne
$afficher = cherchenomprenom($idPersonn, $bdd);
//Adaptation des variables serveur
$_SERVER['PHP_SELF'] = str_replace('action.php', 'index.php', $_SERVER['PHP_SELF']);
//Si ce n'est pas la page de la personne on vérifie si elle est amie et autorisée à ajouter un post
if($_SESSION['ID'] != $idPersonn)
{
//Including file
include('controllers/checkFriendAllowance.inc.php');
}
if($_SESSION['ID'] == $idPersonn || isset($allowcreatepost))
{
//Initialisation du niveau de visibilité
$niveau_visibilite = (isset($_POST['niveau_visibilite']) ? $_POST['niveau_visibilite']*1 : 2);
//On complète, si nécessaire, le niveau de visibilité
if($niveau_visibilite == 3 AND isset($_POST['liste_groupes']))
{
//Intégration des groupes dans le niveau de visibilité
foreach($_POST['liste_groupes'] as $lister=>$value)
{
$niveau_visibilite .= "|".$lister;
}
}
//Vérification de l'envoi d'un texte ou d'une image
if(isset($_POST['texte']))
{
//Including file
include('controllers/postTextImage.inc.php');
}
//If a YouTube video has been posted...
if(isset($_POST['youtube']) && isset($_POST['commentyoutube']))
{
//Including file
include('controllers/postYouTube.inc.php');
}
//Vérification de l'existence de l'envoi d'une vidéo
if(isset($_POST['idvideo']) && isset($_POST['commentaire_video']) && isset($_POST['niveau_visibilite']))
{
//Including file
include('controllers/postVideo.inc.php');
}
//Vérification de l'envoi d'un événement
if(isset($_POST['date']) AND isset($_POST['nom_evenement']))
{
//Including file
include('controllers/postEvent.inc.php');
}
//Vérification de l'envoi d'un lien vers une page web
if(isset($_POST['adresse_page']) AND isset($_POST['texte_lien_page']))
{
//Including file
include('controllers/postWebLink.inc.php');
}
//Vérification de l'envoi d'un fichier PDF
if(isset($_POST['texte_post_with_pdf']))
{
//Including file
include('controllers/postPDF.inc.php');
}
//On vérifie si il faut ajouter un sondage
if(isset($_POST['reponses_sondage']) AND isset($_POST['question_sondage']) AND isset($_POST['commentaire_sondage']))
{
//Including file
include('controllers/postSurvey.inc.php');
}
//Add text form
//Including file
include('views/v_addPost.inc.php');
}

View File

@@ -0,0 +1,35 @@
<?php
/**
* If two personns are friend, this file check
* the second one has right to make posts on
* the first one page.
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
if($afficher['autoriser_post_amis'] == 1 and detectesilapersonneestamie($_SESSION['ID'], $idPersonn, $bdd))
{
//Requête de recherche (en fait, on regarde la ligne "ami" du point de vue de l'autre personne...)
$sql = "SELECT * FROM amis WHERE (ID_personne = ?) && (ID_amis = ?) && (actif = 1)";
//Exécution de la requête
$requeteamis = $bdd->prepare($sql);
$requeteamis->execute(array($idPersonn, $_SESSION['ID']));
//On renvoi le résultat suivant si la personne est amie ou non
if(!$verifierautorisation = $requeteamis->fetch())
{
//On ne possède pas de droit
}
else
{
//On vérifie si l'on a le droit
if($verifierautorisation['autoriser_post_page'] == 1)
$allowcreatepost = 1; //On l'a!
}
//Fermeture de la requete
$requeteamis->closeCursor();
}

View File

@@ -0,0 +1,48 @@
<?php
/**
* Post an event
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
//Exemple d'envoi :
// [date] => 16.04.2015
// [heure] => 4
// [minute] => 4
// [nom_evenement] => test
// [niveau_visibilite] => 2
$date = $_POST['date'];
//$heure = $_POST['heure']*1;
//$minute = $_POST['minute']*1;
$nom_evenement = $_POST['nom_evenement'];
if($date == "")
{
echo affiche_message_erreur("L'&eacute;v&eacute;nement n'a pas de date !"); //L'événement doit avoir une date
}
else
{
//Décomposition de la date
$array_date = explode('|', str_replace('.', '|', $date));
if(count($array_date) != 3)
echo affiche_message_erreur("La date sp&eacute;cifi&eacute;e est incorrecte."); //La date donnée est invalide
elseif($array_date[1] > 31 OR $array_date[1] < 1)
echo affiche_message_erreur("Le jour sp&eacute;cifi&eacute; est incorrect."); //Le jour donné est invalide
elseif($array_date[2] < date("Y", time()))
echo affiche_message_erreur("L'ann&eacute;e donn&eacute;e est pass&eacute;e."); //L'année donnée est invalide
else
{
//Ajout du texte
if($_SESSION['ID'] == $idPersonn)
ajouttexte($_SESSION['ID'], $nom_evenement, $bdd, $niveau_visibilite, "count_down", "", $array_date[2], $array_date[1], $array_date[0]);
else //Si c'est un amis
ajouttexte_amis($_SESSION['ID'], $idPersonn, $nom_evenement, $bdd, $niveau_visibilite, "count_down", "", $array_date[2], $array_date[1], $array_date[0]);
//Message de succès
echo "<p><img src='".path_img_asset('succes.png')."' title='Succ&egrave;s' alt='V' /> L'&eacute;v&eacute;nement a bien &eacute;t&eacute; ajout&eacute;.</p>";
}
}

View File

@@ -0,0 +1,72 @@
<?php
/**
* Post a PDF file
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
//Enregistrement du texte dans une variable
$texte = $_POST['texte_post_with_pdf'];
if(isset($_FILES['fichier_pdf']))
{
//Enregistrement des informations du PDF dans une variable
$infos_pdf = $_FILES['fichier_pdf'];
//Contrôle de la présence d'une erreur
if($infos_pdf['error'] != 0)
{
//Une erreur a survenue lors de l'envoi
$erreur_ajout_pdf = "Une erreur a survenue lors de l'envoi du PDF. Merci de r&eacute;ssayer.";
}
elseif($infos_pdf['type'] != "application/pdf")
{
//Le fichier choisi n'est pas un PDF
$erreur_ajout_pdf = "Le fichier envoy&eacute; n'est pas un PDF.";
}
else
{
//Détermination du nom du pdf
$nom_pdf = sha1(time().$_SESSION['ID'].$texte.$_SERVER['REMOTE_ADDR']);
while(file_exists(relativeUserDataFolder("post_pdf/".$nom_pdf.".pdf")))
{
$nom_pdf = crypt($nom_pdf);
}
//On vérifie si un dossier a été allouée à la personne, création automatique le cas échéant
checkPersonnalFolder(relativeUserDataFolder("post_pdf/"), $_SESSION['ID']);
$folder_user_pdf = "post_pdf/".$_SESSION['ID']."/";
//On finit le nom du PDF
$nom_pdf = $folder_user_pdf.$nom_pdf.".pdf";
//Copie du PDF
if(move_uploaded_file($infos_pdf['tmp_name'], relativeUserDataFolder($nom_pdf)))
{
//Ajout du texte
if($_SESSION['ID'] == $idPersonn)
ajouttexte($_SESSION['ID'], $texte, $bdd, $niveau_visibilite, "pdf", $nom_pdf);
else //Si c'est un amis
ajouttexte_amis($_SESSION['ID'], $idPersonn, $texte, $bdd, $niveau_visibilite, "pdf", $nom_pdf);
}
else
{
//Il y a une erreur lors de la copie
$erreur_ajout_pdf = "Une erreur a survenue lors de la copie du PDF vers son emplacement d&eacute;finitif. Merci de r&eacute;ssayer.";
}
}
//Si il y a une erreur, on l'affiche
if(isset($erreur_ajout_pdf))
{
?><script>affiche_notification_erreur("<?php echo $erreur_ajout_pdf; ?>");</script><?php
}
else
{
//Sinon on affiche un message de succès
?><script>affiche_notification_succes("Le PDF a bien &eacute;t&eacute; enregistr&eacute;.");</script><?php
}
}

View File

@@ -0,0 +1,87 @@
<?php
/**
* Post a survey
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
//Enregistrement des variables
$reponses_sondage = bloquebalise($_POST['reponses_sondage']);
$question_sondage = bloquebalise($_POST['question_sondage']);
$commentaire_sondage = $_POST['commentaire_sondage'];
//Choix par défaut pour les réponses au sondage si il n'y en a aucune
if(str_replace("\n", "", $reponses_sondage) == "")
$reponses_sondage = "None";
//On commence par enregistrer le texte dans la bdd
if($_SESSION['ID'] == $idPersonn)
ajouttexte($_SESSION['ID'], $commentaire_sondage, $bdd, $niveau_visibilite, "sondage");
else //Si c'est un amis
ajouttexte_amis($_SESSION['ID'], $idPersonn, $commentaire_sondage, $bdd, $niveau_visibilite, "sondage");
//Récupération des informations sur le texte précédemment posté
$infos_texte = select_sql("texte", "texte = ? AND (ID_personne = ? OR ID_amis = ?) AND niveau_visibilite = ? ORDER BY ID DESC", $bdd, array(
$commentaire_sondage,
$_SESSION['ID'],
$_SESSION['ID'],
$niveau_visibilite
));
//On vérifie que l'on a bien notre texte
if(count($infos_texte) == 0)
{
//Rapport d'erreur à l'administration
report_error('if(count($infos_texte) == 0)', 'La variable $infos_texte ne compte aucune entr&eacute;e, alors qu\'elle devrait en contenir au moins une (permet l\'ajout de sondages) dans addpost.php (inc).');
//Affichage d'un message d'erreur
affiche_message_erreur("Nous avons rencontr&eacute; une erreur en interne. (Err Sondage Inser 1) L'administration a &eacute;t&eacute; inform&eacute;e de cette erreur. Nous ferons en sorte de la r&eacute;parer au plus vite, veuillez r&eacute;ssayer d'envoyer votre sondage.");
}
else
{
//Poursuite
//Récupération de l'ID du sondage
$idPersonn_texte = $infos_texte[0]['ID'];
//Création du sondage
insert_sql("sondage", "ID_utilisateurs, ID_texte, date_creation, question", "?, ?, NOW(), ?", $bdd, array($_SESSION['ID'], $idPersonn_texte, $question_sondage));
$infos_sondage = select_sql("sondage", "ID_utilisateurs = ? AND ID_texte = ? AND question = ? ORDER BY ID DESC", $bdd, array(
$_SESSION['ID'],
$idPersonn_texte,
$question_sondage
));
if(count($infos_sondage) == 0)
{
//Rapport d'erreur à l'administration
report_error('if(count($infos_sondage) == 0)', 'La variable $infos_sondage ne compte aucune entr&eacute;e, alors qu\'elle devrait en contenir au moins une (permet l\'ajout de sondages) dans addpost.php (inc).');
//Affichage d'un message d'erreur
affiche_message_erreur("Nous avons rencontr&eacute; une erreur en interne. (Err Sondage Inser 2) L'administration a &eacute;t&eacute; inform&eacute;e de cette erreur. Nous ferons en sorte de la r&eacute;parer au plus vite, veuillez r&eacute;ssayer d'envoyer votre sondage.");
exit();
}
//Récupération de l'ID du sondage
$idPersonn_sondage = $infos_sondage[0]['ID'];
//Ajout des réponses au sondage
$array_reponses = explode("\n", $reponses_sondage);
foreach($array_reponses as $traiter)
{
//Vérification de la réponse
if($traiter != "" AND $traiter != " ")
{
//Ajout du choix à la BDD
insert_sql("sondage_choix", "ID_sondage, date_creation, choix", "?, NOW(), ?", $bdd, array($idPersonn_sondage, $traiter));
}
}
//Message de succès
?><script>affiche_notification_succes("Le sondage a bien &eacute;t&eacute; enregistr&eacute;.");</script><?php
}

View File

@@ -0,0 +1,48 @@
<?php
/**
* Post a text or an image
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
//An image does not require a valid text
if((isset($_FILES['image'])) AND ($_FILES['image']['error'] == 0))
$image = true;
else
$image = false;
//On vérifie si le texte n'est pas vide
if($_POST['texte'] != "" OR $image)
{
//Vérification de la validité du post
if(verifie_validite_ajout($_POST['texte']) OR $image)
{
//On vérifie si une image est incorporée au post
if((isset($_FILES['image'])) AND ($_FILES['image']['error'] == 0))
{
//Envoi de l'image en ligne
envoiimage(($_SESSION['ID'] == $idPersonn ? $_SESSION['ID'] : $idPersonn) , $_POST['texte'], $bdd, ($_SESSION['ID'] == $idPersonn ? 0 : $_SESSION['ID']), $niveau_visibilite);
}
else
{
//Ajout du texte
if($_SESSION['ID'] == $idPersonn)
ajouttexte($_SESSION['ID'], $_POST['texte'], $bdd, $niveau_visibilite);
else //Si c'est un amis
ajouttexte_amis($_SESSION['ID'], $idPersonn, $_POST['texte'], $bdd, $niveau_visibilite);
}
}
else
{
//On affiche un message d'erreur
?><script type='text/javascript'>affiche_notification_erreur("Votre texte est invalide : pas assez de caract&egrave;res diff&eacute;rents (au minimum 3).", "Erreur", 10);</script><?php
}
}
else
{
//On affiche un message d'erreur
?><script type='text/javascript'>affiche_notification_erreur("L'ajout de textes vides est interdit !", "Erreur", 10);</script><?php
}

View File

@@ -0,0 +1,35 @@
<?php
/**
* Post a personnal video
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
if($_POST['idvideo'] != "" && $_POST['niveau_visibilite'] != "")
{
//On vérifie si il faut prendre la dernière vidéo disponible
if($_POST['idvideo'] == "last_one")
$_POST['idvideo'] = id_video_plus_recente($_SESSION['ID'], $bdd); //Récupération de l'ID de la vidéo la plus récente
if(isset_video($_POST['idvideo'], $_SESSION['ID'], $bdd))
{
if($_POST['niveau_visibilite'] <= 3)
{
//Ajout de la vidéo
if($_SESSION['ID'] == $idPersonn)
add_movie($_SESSION['ID'], $_POST['commentaire_video'], $_POST['idvideo'], $bdd, $_POST['niveau_visibilite']);
else //Si c'est un amis
add_movie($idPersonn, $_POST['commentaire_video'], $_POST['idvideo'], $bdd, $_POST['niveau_visibilite'], $_SESSION['ID']);
}
else
{
?><script>affiche_notification_erreur("Il y a une erreur dans votre requ&ecirc;te.");</script><?php //Vidéo indisponible
}
}
else
{
?><script>affiche_notification_erreur("La vid&eacute;o dmand&eacute;e n'est pas disponible.");</script><?php //Vidéo indisponible
}
}

View File

@@ -0,0 +1,54 @@
<?php
/**
* Post a web link
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
//Enregistrement de l'URL
$url = $_POST['adresse_page'];
$description = ($_POST['texte_lien_page'] != "" ? "<p>".$_POST['texte_lien_page']."</p>" : "");
//Inclusion de la fonction d'analyse
require_once(relativePath_3rdparty('analysing_page/analyser_fr.php'));
//Contrôle de l'URL
if(!preg_match('<http://>', $url) AND !preg_match('<https://>', $url))
{
echo affiche_message_erreur("L'URL saisie est invalide !"); //L'URL donnée est invalide
}
else
{
//On commence par récupérer le code source de l'URL
ob_start();
$source = file_get_contents($url);
ob_end_clean();
//Contrôle de la source
if($source == "")
{
echo affiche_message_erreur("La page demand&eacute;e n'a pas &eacute;t&eacute; trouv&eacute;e !"); //Page non trouvée (404)
}
else
{
//On peut tenter d'extraire les informations
$infos_page = analyse_source_page_extrait_description($source);
//On prépare l'enregistrement de la page
$infos_page['titre'] = ($infos_page['titre'] == null ? "default" : $infos_page['titre']);
$infos_page['description'] = ($infos_page['description'] == null ? "default" : $infos_page['description']);
$infos_page['image'] = ($infos_page['image'] == null ? "default" : $infos_page['image']);
//On enregistre la page
//Ajout du texte
if($_SESSION['ID'] == $idPersonn)
ajouttexte($_SESSION['ID'], $description, $bdd, $niveau_visibilite, "webpage_link", "", 0, 0, 0, $url, $infos_page['titre'], $infos_page['description'], $infos_page['image']);
else //Si c'est un amis
ajouttexte_amis($_SESSION['ID'], $idPersonn, $description, $bdd, $niveau_visibilite, "webpage_link", "", 0, 0, 0, $url, $infos_page['titre'], $infos_page['description'], $infos_page['image']);
//Message de succès
echo "<p><img src='".path_img_asset('succes.png')."' title='Succ&egrave;s' alt='V' /> Le lien vers la page a bien &eacute;t&eacute; ajout&eacute;.</p>";
}
}

View File

@@ -0,0 +1,53 @@
<?php
/**
* Post a YouTube video
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
if($_POST['youtube'] != "")
{
//Exemple d'URL YouTube :
// https://www.youtube.com/watch?v=1MBU0yRgBTw
if(strpbrk($_POST['youtube'], "<https://www.youtube.com/watch?v=>") != false OR strpbrk($_POST['youtube'], "<http://www.youtube.com/watch?v=>") != false)
{
$adresse = strstr($_POST['youtube'], "watch?v=");
$adresse = str_replace("watch?v=", "", $adresse);
if($adresse != "")
{
//Définition du texte de la vidéo
$source = "";
if($_POST['commentyoutube'] != "")
{
if(!preg_match('/endof/', $_POST['commentyoutube']))
{
$source .= $_POST['commentyoutube'];
}
}
//Enregistrement de la vidéo
//Ajout du texte
if($_SESSION['ID'] == $idPersonn)
ajouttexte($_SESSION['ID'], $source, $bdd, $niveau_visibilite, "youtube", $adresse);
else //Si c'est un amis
ajouttexte_amis($_SESSION['ID'], $idPersonn, $source, $bdd, $niveau_visibilite, "youtube", $adresse);
//Message de succès
?><script>affiche_notification_succes("La vid&eacute;o a bien &eacute;t&eacute; enregistr&eacute;e.");</script><?php
}
else
{
?><script>affiche_notification_erreur("L'adresse de la vid&eacute;o YouTube est incorrecte.");</script><?php
}
}
else
{
?><script>affiche_notification_erreur("L'adresse de la vid&eacute;o YouTube est incorrecte. Le nom de domaine ou l'URL est incorrecte.");</script><?php
}
}

View File

@@ -0,0 +1,225 @@
<?php
/**
* Add post main view
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call - '.$_SERVER['PHP_SELF']);
?><font class="metro">
<div class="tab-control" data-role="tab-control" id="tabs_form_add">
<ul class="tabs" onmouseover="$('#tabs_form_add').tabcontrol();">
<li class="active"><a href="#_page_1">Texte / <i class="icon-pictures"></i></a></li>
<li><a href="#_youtube_add"><img src="<?php echo path_img_asset('logo-youtube.png'); ?>" height="16px"></a></li>
<li id='tab_add_a_movie'><a href="#_movie_add"><i class="icon-film"></i></a></li>
<li><a href="#_webpage_add"><i class="icon-link"></i></a></li>
<li id="tab_add_a_pdf"><a href="#_post_with_pdf_add"><i class="icon-file-pdf"></i></a></li>
<li><a href="#_count_down_add" onClick='$("#datepicker").datepicker();'><i class="icon-alarm-clock"></i></a></li>
<li><a href="#_sondage_add" ><i class="icon-pie"></i></a></li>
</ul>
<div class="frames">
<div class="frame" id="_page_1">
<div class="ajout_post">
<div id="button_form_ajout_simple">
<button class="command-button info" onClick="document.getElementById('button_form_ajout_simple').style.display = 'none'; document.getElementById('form_ajout_simple').style.display = 'block';">
<i class="icon-plus on-left"></i>
Ajouter un post
<small>Cliquez ici afin d'ajouter un post</small>
</button>
</div>
<div id="form_ajout_simple" style="display: none; height: 316px;">
<!-- Ajout simple -->
<form action='<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $idPersonn; ?>' method='post' enctype='multipart/form-data'>
<p>Image (optionelle) : <input type='file' class='filenouvimage' name='image' /></p>
<textarea name='texte' id='ajoutsimple'></textarea><br />
<!-- Niveau de visibilité -->
<?php choisir_niveau_visibilite(); ?>
<!-- Fin de: Niveau de visibilité -->
<!-- Boutons de validation -->
<input type='submit' value='<?php echo $lang[32]; ?>' />
<!-- Fin de: Boutons de validation -->
<!-- TinyMCE -->
<?php echo code_inc_js(path_js_asset('ajoutsimple.js')); ?>
<!-- /TinyMCE -->
</form>
<!-- Fin de: ajout simple -->
</div>
</div>
</div>
<div class="frame" id="_youtube_add">
Ajout d'une vid&eacute;o Youtube
<p>Pour ajouter une vid&eacute;o YouTube sur votre page, veuillez copier son adresse web puis la coller dans le champs ci-dessous.</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $idPersonn; ?>" method="post">
<input type="text" name="youtube" />
<p>Vous pouvez &eacute;galement ajouter un petit commentaire pour vos amis....</p>
<input type="text" name="commentyoutube" />
<p>Une fois que vous &ecirc;tes pr&ecirc;t, cliquez sur Ajouter.</p>
<!-- Niveau de visibilité -->
<?php choisir_niveau_visibilite(); ?>
<!-- Fin de: Niveau de visibilité -->
<!-- Bouton de validation -->
<p><input type="submit" value="Ajouter" /></p>
<!-- Fin de : Bouton de validation -->
</form>
</div>
<div class="frame" id="_movie_add">
<form action='<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $idPersonn; ?>' method='post' name="Envoi d'une video">
Envoi d'une vid&eacute;o personnelle
<div style="text-align: center;" class="metro"><input type="button" value="Envoi d'une vid&eacute;o" onclick="ouvre_fenetre_upload_video();" /></div>
<?php
//Listing de toute les vidéos disponibles
//Listage de l'ensemble des vidéos
$liste_video = liste_videos_user($_SESSION['ID'], $bdd);
//Affichage de la liste
echo "<div class='list_choix_video'>";
echo "<input type='radio' name='idvideo' checked value='last_one' /> La plus r&eacute;cente <br />"; //Proposition de lecture de la vidéo la plus récente
foreach($liste_video as $view)
{
echo "<input type='radio' name='idvideo' value='".$view['ID']."' /> ".corrige_caracteres_speciaux(corrige_accent_javascript($view['nom_video']))."<br />";
}
echo "</div>";
?>
<textarea name="commentaire_video" placeholder="Commentaire sur la vid&eacute;o..."></textarea>
<!-- Niveau de visibilité -->
<?php choisir_niveau_visibilite(); ?>
<!-- Fin de: Niveau de visibilité -->
<!-- Bouton de validation -->
<p><input type="submit" value="Ajouter" /></p>
<!-- Fin de : Bouton de validation -->
<p>Note : Lorsque vous envoyez une vid&eacute;o, vous prenez la responsabilit&eacute; du contenu envoy&eacute;. En cas de violation de droit d'auteur, vous serez d&eacute;sign&eacute; responsable du vol. Veillez donc &agrave; ne pas envoyer de vid&eacute;os susceptibles d'&ecirc;tre prot&eacute;g&eacute;e par droit d'auteur. <a href="http://192.168.1.5/divers/comunic/about.php?cgu" target="_blank"> R&eacute;f&eacute;rez-vous au conditions d'utilisation pour de plus amples informations. </a></p>
<p>Si vous n'arrivez pas &agrave; envoyer une vid&eacute;o &agrave; cause de son poids trop &eacute;lev&eacute;, nous vous recommandons de la poster sur YouTube puis de l'int&eacute;grer &agrave; Comunic.</a></p>
</form>
</div>
<div class="frame" id="_webpage_add">
<p>Ajout d'un lien vers une page web</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $idPersonn; ?>" method="post" name="Envoi d'un lien vers une URL">
<div class="input-control text size4">
<input type="text" name="adresse_page" value="" placeholder="URL de la page"/>
</div>
<div class="input-control text size4">
<input type="text" name="texte_lien_page" value="" placeholder="Commentaire personnel"/>
</div>
<!-- Niveau de visibilité -->
<?php choisir_niveau_visibilite(); ?>
<!-- Fin de: Niveau de visibilité -->
<!-- Bouton de validation -->
<p><input type="submit" value="Ajouter" /></p>
<!-- Fin de : Bouton de validation -->
<!-- Propostion d'ajout aux favoris -->
<p>
Vous pouvez &eacute;galement ajouter ce lien dans vos favoris en le glissant sur votre liste de favoris afin de pouvoir partager plus facilement des pages web : <br />
<a href="javascript:(function(){%20window.open('<?php echo $urlsite; ?>share.php?address=referer',%20'share_comunic',%20'width=600px,height=520px');%20})();" title="Partager sur Comunic">Partager sur Comunic</a>
</p>
<!-- Fin de: Propostion d'ajout aux favoris -->
</form>
</div>
<div class="frame" id="_post_with_pdf_add">
<p>Envoi d'un pdf</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $idPersonn; ?>" method="post" name="Envoi d'un post avec un PDF" enctype="multipart/form-data">
<input type="file" name="fichier_pdf" value="Choix du fichier PDF"/>
<div class="input-control text size4">
<input type="text" name="texte_post_with_pdf" value="" placeholder="Commentaire personnel"/>
</div>
<!-- Niveau de visibilité -->
<?php choisir_niveau_visibilite(); ?>
<!-- Fin de: Niveau de visibilité -->
<!-- Bouton de validation -->
<p><input type="submit" value="Envoyer" /></p>
<!-- Fin de : Bouton de validation -->
<!-- Rappel sur les copyright -->
<p>
<u>Note :</u> Vous &ecirc;tes responsables des contenus que vous envoyez sur Comunic. Ceux-ci ne doivent pas &ecirc;tre prot&eacute;g&eacute;s par droits d'auteur.
</p>
<!-- Fin de: Rappel sur les copyright -->
</form>
</div>
<div class="frame" id="_count_down_add">
<form action='<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $idPersonn; ?>' method='post' name="Envoi d'un evenement">
Ajout d'un &eacute;v&eacute;nement avec un compteur &agrave; rebours
<div style="text-align: center;" class="metro">
<!-- Choix de la date -->
<div class="input-control text size3" id="datepicker">
<input name="date" type="text" required placeholder="Cliquez ici pour choisir la date...">
</div>
<!-- Fin de: Choix de la date -->
<!-- Nom de l'événement -->
<br /><div class="input-control text size4">
<input type="text" name="nom_evenement" value="" placeholder="Nom de l'&eacute;v&eacute;nement"/>
</div>
<!-- Fin de: Nom de l'événement -->
<!-- Niveau de visibilité -->
<?php choisir_niveau_visibilite(); ?>
<!-- Fin de: Niveau de visibilité -->
<!-- Bouton de validation -->
<p><input type="submit" value="Ajouter" /></p>
<!-- Fin de : Bouton de validation -->
</div>
</form>
</div>
<!-- Création d'un sondage -->
<div class="frame metro" id="_sondage_add">
<form action='<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $idPersonn; ?>' method='post' name="Envoi d'un sondage">
Cr&eacute;ation d'un sondage
<!-- Question du sondage -->
<br /><div class="input-control text size3">
<input type="text" name="question_sondage" value="" placeholder="Question du sondage"/>
</div>
<!-- Fin de: Question du sondage -->
<!-- Réponses au sondage -->
<p>Choix du sondage</p>
<div class="input-control textarea">
<textarea name="reponses_sondage"><?php
//Réponses au sondage par défaut
echo "Choix 1\nChoix 2";
?></textarea>
</div>
<p>Veuillez effectuer un retour &agrave; la ligne &agrave; chaque nouvelle r&eacute;ponse</p>
<!-- Fin de: Réponses au sondage -->
<!-- Commentaire du sondage -->
<p>Commentaire du sondage (optionnel)</p>
<div class="input-control textarea">
<textarea name="commentaire_sondage"></textarea>
</div>
<!-- Fin de: Commentaire au sondage -->
<!-- Niveau de visibilité -->
<?php choisir_niveau_visibilite(); ?>
<!-- Fin de: Niveau de visibilité -->
<!-- Bouton de validation -->
<p><input type="submit" value="Cr&eacute;er le sondage" /></p>
<!-- Fin de : Bouton de validation -->
</form>
</div>
<!-- Fin de: Création d'un sondage -->
</div>
</div>
</font>

View File

@@ -0,0 +1,158 @@
<?php
/**
* Text editing page
*
* @author Pierre HUBERT
*/
//Security
include(websiteRelativePath('securite.php'));
//On v<>rifie si il y a une demande d'<27>dit de post
if(!isset($_GET['id']))
{
//Redirection vers la page d'acceuil
header('location: index.php');
//On quitte la page
exit();
}
//Getting post ID
$id_texte = $_GET['id']*1;
?><!DOCTYPE html>
<html>
<head>
<title>Edition du post</title>
<?php include(pagesRelativePath('common/head.php')); ?>
</head>
<body class="metro">
<?php include(pagesRelativePath('common/pageTop.php')); ?>
<h1 class="titre">Edition d'un post</h1>
<?php
//On recherche le post
$sql = "SELECT * FROM texte WHERE ID = ? AND (ID_personne = ? || ID_amis = ?)";
//SQL -> ex<65>cution de la requ<71>te
$requete = $bdd->prepare($sql);
$requete->execute(array($id_texte, $_SESSION['ID'], $_SESSION['ID']));
//On v<>rifie si la demande est correcte
ob_start();
if(!$afficher_texte = $requete->fetch())
{
//Fin de l'interruption de l'envoi des donn<6E>es
ob_end_clean();
//On affiche un message d'erreur
?><table><tr><td><img src="img/erreur.png" title="Erreur"></td><td>Le message demand&eacute; ne peut pas &ecirc;tre &eacute;dit&eacute;. Causes les plus probables : vous ne disposez pas des autorisations n&eacute;cessaires ou le message n'existe plus. <a href="contact.php">Contactez-nous</a> pour plus d'informations.</td></tr></table><?php
//On arr<72>te le chargement de la page
exit();
}
ob_end_clean();
if(preg_match('/endof/', $afficher_texte['texte']))
{
?><script>alert("Les images qui ont <20>t<EFBFBD> post<73>es ne peuvent pas <20>tre modifi<66>es.");</script><?php
?><input type="button" onClick="javascript:history.back(1)" value="Retour <20> la page pr<70>c<EFBFBD>dente" /><?php
//On quitte le script courant
exit();
}
//On v<>rifie si la demande a d<>j<EFBFBD> <20>t<EFBFBD> post<73>e
if(isset($_POST['message']))
{
if($_POST['message'] != "")
{
if(preg_match('/endof/', $_POST['message']))
{
?><script>alert("Votre demande de modification n'a pas pu <20>tre re<72>ue car elle pr<70>sente un important probl<62>me de s<>curit<69>.");</script><?php
}
else
{
echo "<p>Application de la modification</p>";
//SQL -> requ<71>te de modification
$sql = "UPDATE texte SET texte = ? WHERE ( ID = ? AND (ID_personne = ? || ID_amis = ?))";
//SQL-> ex<65>cution de la requ<71>te
$update = $bdd->prepare($sql);
$update->execute(array($_POST['message'], $id_texte, $_SESSION['ID'], $_SESSION['ID']));
//Si il y a un sondage dans le texte
if(isset($_POST['question_sondage']))
{
$question_sondage = $_POST['question_sondage'];
//Si il y a une requ<71>te de modification de la question du sondage
if($question_sondage != "")
{
//Mise <20> jour de la question du sondage
update_sql("sondage", "question = ?", "ID_utilisateurs = ? AND ID_texte = ?", $bdd, array($question_sondage, $_SESSION['ID'], $id_texte));
}
}
//Messsage de succ<63>s
echo "<p>Application de la modification termin&eacute;e.</p>";
echo "<p><a href='index.php'>Retour &agrave; votre page d'acceuil</a></p>";
//On v<>rifie si une redirection automatique est possible
if(isset($_GET['iduser']))
{
echo "<p>Redirection automatique en cours...</p>";
?><meta http-equiv="refresh" content="0;URL=index.php?id=<?php echo $_GET['iduser'].(isset($_GET['page']) ? "&page=".$_GET['page'] : "" ); ?>"><?php
}
//Fermeture du script courant
exit();
}
}
}
//Inclusion de TinyMce
include(relativePath_assets('html/tinymce.html'));
//Affichage de l'<27>diton du message
echo "<form action='editpost.php?id=".$afficher_texte['ID'].(isset($_GET['iduser']) ? "&iduser=".$_GET['iduser'] : "" ).(isset($_GET['page']) ? "&page=".$_GET['page'] : "" )."' method='post'>";
echo "<table style='text-align: center; margin: auto;'>";
echo "<tr><td>";
echo "<textarea name='message' id='textarea'>".$afficher_texte['texte']."</textarea>";
//echo "<p>L'<27>dition ne peut temporairement pas aboutir. Veuillez nous excuser du d<>sagr<67>ment encouru.</p>"; //Bug ou d<>veloppement SELEUMENT, ce message peut pertuber l'utilisateur final.
echo "</td></tr>";
if($afficher_texte['type'] == "sondage")
{
//On r<>cup<75>re les informations sur le sondage
$infos_sondage = get_sondage_by_text_id($afficher_texte['ID'], $bdd);
if(!$infos_sondage)
echo "<p><b>Une erreur temporaire emp&ecirc;che de modifier le sondage rattach&eacute; au texte.</b></p>";
else
{
?><tr>
<td>
<label>Question du sondage : </label>
<div class="input-control text">
<input type="text" name="question_sondage" value="<?php echo $infos_sondage[0]['question']; ?>" />
</div>
</td>
</tr><?php
}
}
echo "<tr><td>";
echo "<input type='submit' value='Modifier' />";
echo "</td></tr>";
echo "</table>";
echo "</form>";
?>
<hr /><?php
//Pieds de page
include(pagesRelativePath('common/pageBottom.php'));
?>
</body>
</html>

View File

@@ -0,0 +1,149 @@
<?php
/**
* User's home
*
* @author Pierre HUBERT
*/
isset($_SESSION) OR exit('Invalid call! - homeUser.inc.php');
//En-tête autorisé par défaut
$allow_entete = true;
//Vérification de l'existence de la demande d'un autre profil
if(isset($_GET['id']))
{
$id = $_GET['id']*1; //Sécurité
}
else
{
//Sinon on prend la page de la personne
//$id = $_SESSION['ID'];
//Fil d'actualité
$id = "fil";
//Désactivation de l'en-tête
$allow_entete = false;
$page_fil = true;
if($afficher['vu_message_info_fil'] == 0)
{
?><script type="text/javascript">
$.Dialog({
overlay: true,
shadow: true,
draggable: true,
flat: true,
icon: '<span class="icon-newspaper"></span>',
title: 'Voici le fil d\'actualit&eacute;',
content: '<p>Avec le fil d\'actualit&eacute;, vous pouvez voir les derni&egrave;res publications auxquelles vous avez acc&egrave;s.</p> <br /><br /><br />' +
'<div style="text-align: right; margin-right: 5px;"><button class="button primary" type="button" onclick="$.Dialog.close(); ajax_rapide(\'action.php?actionid=35\');">C\'est parti !</button></div>',
});
</script><?php
}
}
//Correction de l'erreur de certains scripts appelés
$_GET['id'] = $id;
//Récupération des informations sur la personne
$afficher = cherchenomprenom($id, $bdd);
//Définition de la variable de stockage des informations sur les utilisateurs
$info_users = array();
$info_users[$id]['table_utilisateurs'] = $afficher;
$info_users[$id]['avatar_32_32'] = avatar($id, "./", 32, 32);
//Modification du titre de la page au nom de la personne
?><script type="text/javascript">
//Changement du titre de la page au nom de la personne
document.title = "<?php echo $afficher['prenom']." ".$afficher['nom']; ?> - Comunic";
</script>
<?php
?>
<div class='contenupage'>
<div id="header_contenu" contextmenu="header_page">
<?php
//En-tête si autorisé
if($allow_entete)
{
//Récupération du statut de l'abonnement à la personne
$header_page_ok = true;
include('inc/header_page.php');
?><script type="text/javascript">get_abonnement(<?php echo $id; ?>, 0);</script><?php
}
?></div>
<?php
//La suite ne s'affiche que si c'est un amis
if(isset($non_amis))
{
//On vérifie si la page est non publique
if ($afficher['public'] == 0)
{
//On bloque le reste du chargment de la page
echo '<div id="add_form_texte"></div><p>'.$afficher['prenom']." ".$afficher['nom']." refuse que vous voyez sa page sans etre son amis.</p> <p>Vous pouvez lui envoyer une demande pour devenir son ami ci-dessus.</p></table></div></body></html>";
echo '<hr />';
include(pagesRelativePath('common/pageBottom.php'));
die();
}
}
?>
<?php
//Inclusion du script pour l'ajout de posts
echo "<div id='add_form_texte'>";
if(!isset($_GET['post']) AND isset($_SESSION['ID']))
include('inc/pages/homeUser/addPost/addpost.inc.php');
echo "</div>";
?>
<table align='center' class='corpstextes' id="corpstexte">
<?php
//On vérifie si il s'agit d'une page supérieur à la page 1
if(isset($_GET['page']))
{
if($_GET['page'] > 0)
{
echo "<tr><td></td><td>";
if($_GET['page'] !== '1')
{
$pageprecedent = $_GET['page'] - 1;
echo "<a href='index.php?id=".$id."&page=".$pageprecedent."'><input class='retourpageprincipale' type='button' value=\"".$lang[53]."\" /></a>";
}
echo "<a href='index.php?id=".$id."'><input class='retourpageprincipale' type='button' value=\"".$lang[52]."\" /></a>";
$page = $_GET['page']*1;
echo "</td></tr>";
}
else
{
$page = 0;
}
}
else
{
$page = 0;
}
//Définition de la requête AJAX de recherche de textes
$ok_textes_check = "source:index.php";
$_GET['id'] = $id;
$_GET['page'] = $page;
$no_view_more = true;
include('viewTexts/viewTexts.inc.php');
if(!isset($_GET['post']))
echo '<tr class="metro"><td colspan="2"><input value="Afficher plus de textes" onclick="get_show_textes('.$id.', \'corpstexte\', '.($page+1).', 0); this.parentNode.parentNode.style.display = \'none\'" type="button"></td></tr>';
//Fermeture du tableau
?></table><?php
//Fermeture de la balise <div>
echo "</div>";
//Inclusion du pied de page
include(pagesRelativePath('common/pageBottom.php'));

View File

@@ -0,0 +1,717 @@
<?php
isset($_SESSION) OR exit("Invalid call - viewTexts.inc.php");
//Vérification de la présence des variables requises
if(!isset($_GET['id']))
die("Missing arguments !");
// Si c'est un appel AJAX pour le fil d'actualité
if($_GET['id'] == "0")
{
$_GET['id'] = "fil";
$id = 0;
}
else
//Getting personn's ID
$id = $_GET['id']*1;
//Définition du numéro de page
$numero_page = (isset($_GET['page']) ? $_GET['page']*1 : 0);
//On vérifie si la personne est autorisée à visualiser la page
$niveau_visibilite_autorise = is_allowed_to_view_page($id, $bdd);
//On vérifie si la liste des smiley a bien été chargée
if(!isset($liste_smiley))
{
//Inclusion de la liste des smiley
include('liste_smile.php');
}
//On vérifie si la personne est autorisée à visualiser la page
if(!$niveau_visibilite_autorise)
{
//On vérifie si l'utilisateur est connecté
if(isset($_SESSION['ID']))
{
die('<p>'.corrige_caracteres_speciaux(return_nom_prenom_user($id, $bdd))." refuse que vous voyez sa page sans &ecirc;tre son amis.</p> <p>Vous pouvez lui envoyer une demande pour devenir son ami ci-dessus.</p>");
}
else
die("Vous n'&ecirc;tes pas autoris&eacute;s &agrave; voir le contenu de cette page.");
}
//Si il s'agit du fil, on restreint au niveau des amis
if($_GET['id'] == "fil")
{
$niveau_visibilite_autorise = 2; //Niveau arbitraire
}
//On vérifie si l'utilisateur appartient à un des groupes du propriétaire de la page
$liste_groupes = (isset($_SESSION['ID']) ? search_appartenance_groupes($id, $_SESSION['ID'], $bdd) : array());
//Détermination des informations de la personne
$afficher = cherchenomprenom($id, $bdd);
//Définition de la variable de stockage des informations sur les utilisateurs
$info_users = array();
$info_users[$id]['table_utilisateurs'] = $afficher;
$info_users[$id]['avatar_32_32'] = avatar($id, "./", 32, 32);
//Définition de l'id de la personne de recherche
$id_personne_recherche = $id;
//On vérifie si il s'agit du fil d'actualité
if($_GET['id'] == "fil")
{
//On vérifie si l'utilisateur est connecté
if(!isset($_SESSION['ID']))
die("Le fil d'actualit&eacute; n'est pas encore accessible aux personnes non connect&eacute;es.");
//Récupération de la liste des amis
$liste_amis = liste_amis($_SESSION['ID'], $bdd);
$complement_personnes = " OR ID_Personne = ".implode($liste_amis, " OR ID_Personne = ");
$id_personne_recherche = $_SESSION['ID']." ".$complement_personnes;
}
//On vérifie si il faut recharger tous les textes ultérieurs ou non ainsi que si il faut chercher un post précis
if(isset($_GET['post']))
{
//Contrôle de sécurité
$num_post = $_GET['post']*1;
if($num_post <= 0)
{
die('valeur incorrecte');
}
//Recherche du texte précis
$textes = affichertextes($id_personne_recherche, $bdd, false, false, $niveau_visibilite_autorise, false, $num_post, $liste_groupes);
//On compte le nombre de textes dont dispose l'utilisateur
$sql = "SELECT COUNT(*) AS nb_textes FROM texte WHERE ID_personne = ? AND niveau_visibilite <= ? AND ID >= ?";
//Exécution de la requête
$requete = $bdd->prepare($sql);
$requete->execute(array($id_personne_recherche, $niveau_visibilite_autorise, $num_post));
//On enregistre le résultat
if(!$enregistrer = $requete->fetch())
$fatal_error = true;
//Fermeture de la requête
$requete->closeCursor();
//On vérifie si il y a une erreur
if(isset($fatal_error))
die("Une erreur a survenue, merci de r&eacute;essayer ult&eacute;rieurement.");
//On divise la valeur par 10
$nb_pages = floor($enregistrer['nb_textes']/10);
if($enregistrer['nb_textes'] == $nb_pages*10)
$nb_pages--;
$numero_page = $nb_pages;
$_GET['page'] = $nb_pages;
echo "<tr><td><a class='a' onClick='open_page_ameliore(".$id.");'>Retour &agrave la page principale</a></td></tr>";
}
elseif(!isset($_GET['reload']))
{
//Recherche des textes demandés
$textes = affichertextes($id_personne_recherche, $bdd, $numero_page*10, 10, $niveau_visibilite_autorise, false, false, $liste_groupes);
}
else
{
//Recherche de tous les textes de la personne (jusqu'à la page actuelle)
$textes = affichertextes($id_personne_recherche, $bdd, 0, $numero_page*10 + 10, $niveau_visibilite_autorise, false, false, $liste_groupes);
}
if(count($textes) == 0)
{
if($numero_page != 0)
{
echo "<p>Il n'y a plus de texte &agrave; afficher.</p>";
}
elseif(isset($_SESSION['ID']))
{
if($id != $_SESSION['ID'] OR isset($_GET['reload']) OR isset($_GET['post']))
{
echo "<tr><td><img src='img/erreur.png' title='Avertissement' /></td><td><p>".$lang[51]."</p></td></tr></table>";
echo "</div>";
if($ok_textes_check != "source:index.php")
die();
}
else
{
?><tr><td><div class="no_texte">
<?php echo code_inc_img(path_img_asset('add_text.gif')); ?>
<span class="titre_no_texte">Bienvenue dans Comunic !</span><br />
<p>Vous n'avez pas encore ajout&eacute; de texte sur votre page. Vous pouvez, si vous souhaitez vous manifester d&egrave;s maintenant, en ajouter depuis le formulaire ci-dessus. Par quoi allez-vous commencer ? Un texte simple, une image, une vid&eacute;o de votre cru ou de Youtube ou encore un compteur &agrave; rebours ? Vous avez le choix ! N'oubliez pas, apr&egrave;s cela, de rechercher vos amis qui se sont d&eacute;j&agrave; inscrit sur le site ! Bonne route dans Comunic, le nouveau moyen de communication !</p>
</div></td></tr><?php
if($ok_textes_check != "source:index.php")
die();
}
}
else
{
if($ok_textes_check != "source:index.php")
die();
}
}
//On prépare l'affichage des résultats
$afficherfond = 1;
//Affichage des résultats
for($i = 0; isset($textes[$i]); $i++)
{
$afficherresultats = $textes[$i];
if($afficherresultats['ID_amis'] != 0)
{
//C'est l'ami qui a mis le post
$id_posteur = $afficherresultats['ID_amis'];
//On vérifie si on connait les informations sur cette personne
if(!isset($info_users[$id_posteur]['table_utilisateurs']))
{
$info_users[$id_posteur]['table_utilisateurs'] = cherchenomprenom($afficherresultats['ID_amis'], $bdd);
$info_users[$id_posteur]['avatar_32_32'] = avatar($id_posteur, "./", 32, 32);
}
//C'est un amis qui a posté le texte
$infoami = $info_users[$afficherresultats['ID_amis']]['table_utilisateurs'];
}
else
{
$id_posteur = $afficherresultats['ID_personne']; //C'est le possesseur de la page qui a posté le texte
//On vérifie si on connait les informations sur cette personne
if(!isset($info_users[$id_posteur]['table_utilisateurs']))
{
$info_users[$id_posteur]['table_utilisateurs'] = cherchenomprenom($id_posteur, $bdd);
$info_users[$id_posteur]['avatar_32_32'] = avatar($id_posteur, "./", 32, 32);
}
}
if($_GET['id'] == "fil")
{
//C'est un amis qui a posté le texte
$infoami = $info_users[$id_posteur]['table_utilisateurs'];
}
?>
<tr class="separateur_texte"><td>&nbsp;</td></tr>
<tr class='post <?php if($afficherfond == 1) {echo "texte_bg_grey"; } ?>'>
<td class="td_left">
<?php
//Recherche de l'avatar de la personne
echo $info_users[$id_posteur]['avatar_32_32'];
echo corrige_caracteres_speciaux((isset($infoami) ? "<span onClick='change_page_personne(".$infoami['ID'].");'>".$infoami['prenom']." ".$infoami['nom']."</span>" : $afficher['prenom']." ".$afficher['nom']));
//Uniquement si l'utilisateur est connecté
if (isset($_SESSION['ID']))
{
//On vérifie si l'utilisateur est autorisé à supprimer le texte
if($id == $_SESSION['ID'] || (isset($infoami['ID']) ? ($infoami['ID'] == $_SESSION['ID'] ? true : false) : false) )
{
//On vérifie d'abord l'existence d'une demande de suppression de texte
if(isset($_GET['suppidtxt']))
{
if($afficherresultats['ID'] == $_GET['suppidtxt'])
{
//On supprime le texte
deletetexte($afficherresultats['ID'], $afficherresultats['texte'], $bdd, $afficherresultats);
//On redirige vers la meme page pour éviter les collisions
echo "Suppression termin&eacutee, redirection en cours....<br />";
echo '<meta http-equiv="refresh" content="0;URL=index.php?id='.$id.'">';
die();
}
}
//La personne est autorisée à supprimer ou modifier le texte (la modification du texte doit être réservée uniquement à celui qui a posté le texte)
echo " <a onClick='confirmaction(\"action.php?actionid=29&id=".$id;
echo "&page=".$numero_page;
echo "&suppidtxt=".$afficherresultats['ID']."\", \"".$lang[49]."\");'>";
echo code_inc_img(path_img_asset('supp.png'), "Supprimer le texte", "16", "16");
echo "</a>";
//On affiche le lien d'édition de post uniquement si l'utilisateur est le posteur du texte
if($afficherresultats['ID_amis'] != 0 ? ($_SESSION['ID'] == $afficherresultats['ID_amis'] ? true : false) : true)
echo "<a href='editpost.php?id=".$afficherresultats['ID']."&iduser=".$id."&page=".$numero_page."'>";
echo code_inc_img(path_img_asset('edit.png'), "Editer le texte", "16", "16");
echo "</a>";
}
}
?>
</td>
<td>
<?php echo adapte_date($afficherresultats['date_envoi']); ?>
<?php
$droit_modification_niveau_visibilite = false;
if(isset($_SESSION['ID'])) //L'utilisateur doit être connecté
{
if($id == $_SESSION['ID'] || (isset($infoami['ID']) ? ($infoami['ID'] == $_SESSION['ID'] ? true : false) : false)) //Réservé au propriétaire du post.
$droit_modification_niveau_visibilite = true;
}
affiche_menu_change_niveau_visibilite($afficherresultats['niveau_visibilite'], $afficherresultats['ID'], $droit_modification_niveau_visibilite);
?>
</td>
</tr>
<tr class='post <?php if($afficherfond == 1) {echo "texte_bg_grey"; } ?>'>
<td colspan="2"><?php
//On vérifie si il y a une vidéo intégrée
if($afficherresultats['type'] == "video")
{
//Récupération des informations de la vidéo
$info_video = get_info_video($afficherresultats['idvideo'], $bdd);
//Préparation de l'affichage des vidéos
echo "<div class='video_contener'>";
//Affichage de la vidéo
affiche_video(array(array($info_video['URL'], $info_video['file_type'])), "metadata", "640", "264", "none", "controls", true, sha1($info_video['URL'].$info_video['file_type'].time().$_SERVER['REQUEST_URI']));
//Fermeture de l'affichage de la vidéo
echo "</div>";
}
//On adapte le texte au cas où il y aurait une image intégrée
if($afficherresultats['type'] == "image" || $afficherresultats['type'] == "web_image")
{
//Affichage de l'image
echo '<a class="fancybox" rel="group" href="';
echo webUserDataFolder($afficherresultats['path']);
echo '" title="'.str_replace('"', "'", affiche_smile(corrige_caracteres_speciaux(bloque_javascript_css(afficher_lien($afficherresultats['texte']))), $urlsite, $liste_smiley));
echo ' <a href=\'index.php?id='.$id.'&post='.$afficherresultats['ID'].'\'> Voir plus </a>"><img class="img_from_upload" alt="Image envoy&eacute;e par l\'utilisateur" src="';
echo webUserDataFolder($afficherresultats['path']);
echo '" alt="" /></a> <br />';
}
//On adapte l'affichage au cas où il y aurait un compte à rebours
if($afficherresultats['type'] == "count_down")
{
//Affichage du compte à rebours
affiche_compte_rebours($afficherresultats);
}
//On adapte l'affichage au cas où il y aurait un lien vers une page web
if($afficherresultats['type'] == "webpage_link")
{
//Affichage du compte à rebours
affiche_lien_webpage($afficherresultats);
}
//On adapte l'affichage au cas où il y aurait un pdf
if($afficherresultats['type'] == "pdf")
{
//Affichage du compte à rebours
affiche_lien_pdf($afficherresultats);
}
//On adapte le texte au cas où il y aurait une vidéos YouTube
if($afficherresultats['type'] == "youtube")
{
//Affichage de l'image
echo code_video_youtube($afficherresultats['path']);
}
//On adapte le texte si un sondage est présent dans le post
if($afficherresultats['type'] == "sondage")
{
//Affichage du sondage
//Récupération des informations sur le sondage
$infos_sondage = get_sondage_by_text_id($afficherresultats['ID'], $bdd);
if(!$infos_sondage)
continue;
//Ouverture du sondage
?><div class="metro sondage"><?php
//On simplifie la variable $infos_sondage pour la suite du script
$infos_sondage = $infos_sondage[0];
//Affichage de la question du sondage
echo "<div class='question_sondage'>".corrige_caracteres_speciaux($infos_sondage['question'])."</div>";
//Récupération des choix du sondage
$choix_sondage = select_sql("sondage_choix", "ID_sondage = ?", $bdd, array($infos_sondage['ID']));
//On vérifie si la personne est autorisée à prendre part au sondage
if(isset($_SESSION['ID']))
$allow_participation = 1;
else
$allow_participation = 0;
//On propose le vote si celui-ci est possible
if($allow_participation == 1)
{
$reponse_user_sondage = vote_personne_sondage($_SESSION['ID'], $infos_sondage['ID'], $bdd);
if(!$reponse_user_sondage)
{
//Affichage du formulaire de vote
?><div class="reponse_sondage" id="reponse_sondage_<?php echo $infos_sondage['ID']; ?>_contener">
<?php
//Parcours des options de vote
echo '<div class="input-control select">';
echo "<select id='reponse_sondage_".$infos_sondage['ID']."' >";
foreach($choix_sondage as $afficher_choix)
{
?><option value="<?php echo $afficher_choix['ID']; ?>"><?php echo $afficher_choix['Choix'];
}
echo "</select>";
echo "</div>";
?>
<!-- Bouton de vote -->
<input type="button" class="primary" value="Voter" onClick="voteSondage(<?php echo $infos_sondage['ID']; ?>, <?php echo $infos_sondage['ID_utilisateurs']; ?>);" />
<!-- Fin de: Bouton de vote -->
</div><?php
}
else
{
?>Votre r&eacute;ponse au sondage : <?php
foreach($choix_sondage as $afficher_choix)
{
if($afficher_choix['ID'] == $reponse_user_sondage)
{
echo $afficher_choix['Choix'];
}
}
?> <span class="a" onClick="if(confirm('Voulez-vous annuler votre vote ?')) { ajax_rapide('<?php echo $urlsite; ?>action.php?actionid=37&type=cancel_vote&id_choix=<?php echo $reponse_user_sondage; ?>&id_sondage=<?php echo $infos_sondage['ID']; ?>'); this.innerHTML = 'Annul&eacute;'; this.style.color='black'; }">Annuler</span><?php
}
}
//On affiche les réponses au sondage
$reponse_sondages = select_sql("sondage_reponse", "ID_sondage = ?", $bdd, array($infos_sondage['ID']));
//On vérifie si il y a des réponses au sonde
if(count($reponse_sondages) == 0)
{
echo "<p>Personne n'a r&eacute;pondu pour le moment au sondage.</p>";
}
else
{
//Retour à la ligne
echo "<br />";
//Préparation à la comptabilité
$liste_reponses = array();
//Traitement des choix proposés
foreach($choix_sondage as $traiter_choix)
{
$liste_reponses[$traiter_choix['ID']] = array('hit' => 0, 'nom' => $traiter_choix['Choix']);
}
//Traitement des réponses
foreach($reponse_sondages as $traiter_reponse)
{
//On vérifie si la réponse proposée existe
if(isset($liste_reponses[$traiter_reponse['ID_sondage_choix']]))
//On incrémente le nombre de réponses
$liste_reponses[$traiter_reponse['ID_sondage_choix']]['hit']++;
}
//Définition des ID d'affichage
$id_tableau_valeurs = "sondage_tableau_resultat_".$infos_sondage['ID']."_".time();
$id_canvas_camembert = "sondage_tableau_resultat_".$infos_sondage['ID']."_".time()."_canvas";
echo "<div class='main_resultat_sondage_contener'>"; // class="grid" enlevé
//echo "<div class='row'>";
//echo "<div class='span2'>";
//Tableau de valeurs
echo "<table id='".$id_tableau_valeurs."'>";
echo "<tr><th>Choix</th><th>Total</th></tr>";
//Traitement des résultat
foreach($liste_reponses as $afficher_reponse)
{
echo "<tr><td>".$afficher_reponse['nom']."</td><td>".$afficher_reponse['hit']."</td></tr>";
}
echo "</table>";
//echo "</div><div class='span4'>";
//Affichage du tableau des résultats
//Canvas de destination du camembert
echo '<canvas id="'.$id_canvas_camembert.'" width="300" height="300"></canvas>';
//echo "</div>";
//echo "</div>";
echo "</div>";
//On indique qu'il faut afficher le sondage au chargement de la page
echo "<sondage_result>".$id_tableau_valeurs."|".$id_canvas_camembert."</sondage_result>";
echo "<script>draw_camembert('".$id_tableau_valeurs."', '".$id_canvas_camembert."');</script>";
}
?></div><?php
}
//Showing text
$texte = $afficherresultats['texte'];
echo affiche_smile(corrige_caracteres_speciaux(bloque_javascript_css(afficher_lien($texte))), $urlsite, $liste_smiley)."<!-- '\" -->";
//Recherche des j'aimes
//On vérifie déja si il faut modifier un j'aime - uniquement si l'utilisateur est connecté
if(isset($_SESSION['ID']))
{
if((isset($_GET['like'])) && (isset($_GET['aime'])) && (isset($_GET['typeaime_commentaire'])))
{
if($_GET['like'] == $afficherresultats['ID'])
{
aimeaimeplus($_GET['aime'], $_GET['like'], $_SESSION['ID'], $bdd);
}
}
}
//Ouverture du conteneur des j'aime
echo "<span class='aime_contener' id='aime_texte_".$afficherresultats['ID']."'>";
//Requete des j'aimes
$retour = requeteaime($afficherresultats['ID'], $bdd);
$vousaimez = $retour['vousaimez'];
$personnesaiment = $retour['personnesaiment'];
if(isset($_SESSION['ID']))
{
if($vousaimez == 0)
{
echo "<span class='aime' ><a onClick='like_text_page(".$afficherresultats['ID'].", \"texte\", 0);' >";
echo code_inc_img(path_img_asset('aime.png'));
echo " ".$lang[33]."</a> </span> ";
}
else
{
echo "<span class='aime' ><a onClick='like_text_page(".$afficherresultats['ID'].", \"texte\", 1);' >";
echo code_inc_img(path_img_asset('aimeplus.png'));
echo " ".$lang[34]."</a> </span> ";
}
}
if ($personnesaiment == 1)
{
echo " Une personne aime &ccedil;a.";
}
elseif ($personnesaiment != 0)
{
echo " ".$personnesaiment." ".$lang[61];
}
//Fermeture du conteneur des j'aime
echo "</span>";
?></td>
</tr>
<?php
$ok_commentaire = true;
if(isset($infoami)) { if($infoami['bloquecommentaire'] == 1) $ok_commentaire = false; }
if($afficher['bloquecommentaire'] == 0 AND $ok_commentaire == true)
{
?>
<tr class='commentaires <?php if($afficherfond == 1) {echo "texte_bg_grey"; $afficherfond = 1;} else $afficherfond=1; ?>'>
<!--<td class="td_left"><?php echo $lang[35]; ?></td>-->
<td colspan="2">
<table id="tablecommentaire<?php echo $afficherresultats['ID']; ?>" class="tablecommentaire">
<?php
//Vérification de l'existence du post d'un commentaire
if ((isset($_POST['commentaire'])) && (isset($_POST['idtexte'])))
{
if($_POST['idtexte'] == $afficherresultats['ID'])
{
//On vérifie si le commentaire n'est pas vide
if($_POST['commentaire'] != "" || isset($_FILES['image']))
{
//Insertion du commentaire
ajoutcommentaire($_SESSION['ID'], $afficherresultats['ID'], corrige_accent_javascript($_POST['commentaire']), $bdd);
//Texte de la notification
if($afficher['ID'] == $_SESSION['ID'])
$texte_notification = "a ajout&eacute; un commentaire sur sa page.";
else
$texte_notification = "a ajout&eacute; un commentaire sur la page de ".$afficher['prenom']." ".$afficher['nom'];
//And the notification
if(!visibilite_privee($afficherresultats["niveau_visibilite"]))
{
sendnotification($_SESSION['ID'], $texte_notification, $bdd, "page:".$afficher['ID']."post:".$afficherresultats['ID'], $afficher['ID'], "commentaire");
}
else
{
//Envoi de la notification aux personnes autorisées uniquemement
sendnotification($_SESSION['ID'], $texte_notification, $bdd, "page:".$afficher['ID']."post:".$afficherresultats['ID'], $afficher['ID'], "commentaire", list_personnes_groupes($afficherresultats["niveau_visibilite"], $bdd));
}
}
else
{
//On affiche un message d'erreur
?><script type='text/javascript'>alert("L'ajout de commentaires vides est interdit!");</script><?php
}
//On ne quitte pas le script
echo("<!-- Add comment -->");
}
}
//Affichage des commentaires
$commentaires = affichecommentaire($afficherresultats['ID'], $bdd);
//Affichage des commentaires
foreach($commentaires as $affichercommentaires)
{
//Affichage du commentaire
?>
<tr>
<td class="commentaire"><?php
//Recherche de l'avatar et du nom de la personne (si nécessaire
$id_posteur_commentaire = $affichercommentaires['ID_personne'];
if(!isset($info_users[$id_posteur_commentaire]['table_utilisateurs']))
{
$info_users[$id_posteur_commentaire]['table_utilisateurs'] = cherchenomprenom($id_posteur_commentaire, $bdd);
$info_users[$id_posteur_commentaire]['avatar_32_32'] = avatar($id_posteur_commentaire, "./", 32, 32);
}
echo $info_users[$id_posteur_commentaire]['avatar_32_32'];
$infopersonne = $info_users[$id_posteur_commentaire]['table_utilisateurs'];
echo corrige_caracteres_speciaux($infopersonne['prenom']." ".$infopersonne['nom']);
?>
<?php
//Affichage de l'image du commentaire(si il y en a une)
if($affichercommentaires['image_commentaire'] != "")
{
// Ancienne version
// echo "<img src='data:image/png;base64,".$affichercommentaires['image_commentaire']."' />";
//Adresse de l'image
$adresse_image = $urlsite."imgcommentaire.php/".base64_encode($affichercommentaires['ID'])."/".sha1($affichercommentaires['commentaire']);
echo "<a style='cursor: pointer' onClick='$.fancybox.open({href :\"".$adresse_image."\", type : \"image\"});'><img src='".$adresse_image."' height='100' /></a> ";
}
//Affichage du commentaire
if($ok_textes_check != "source:index.php")
echo afficher_lien(corrige_caracteres_speciaux(decorrige_accent_javascript(affiche_smile(bloquebalise($affichercommentaires['commentaire'], "commentaire"), $urlsite, $liste_smiley))));
else
echo afficher_lien(corrige_caracteres_speciaux(corrige_accent_javascript(affiche_smile(bloquebalise($affichercommentaires['commentaire'], "commentaire"), $urlsite, $liste_smiley))));
//Bouton du j'aime pour commentaire
bouton_aime_commentaire($affichercommentaires['ID'], $afficherresultats['ID'], $bdd);
echo "<span>";
//Uniquement si l'utilisateur est connecté
if(isset($_SESSION['ID']))
{
//Bouton de suppression de commentaire, si c'est autorisé...
if(($_SESSION['ID'] == $id) || ($affichercommentaires['ID_personne'] == $_SESSION['ID']))
{
//On vérifie d'abord l'existence d'une demande de suppression de commentaire
if(isset($_GET['suppidcom']))
{
if($affichercommentaires['ID'] == $_GET['suppidcom'])
{
//On supprime le commentaire
echo suppcom($affichercommentaires['ID'], $bdd);
die();
}
}
//La personne est autorisée à supprimer le commentaire
echo "<a onClick='delete_comment(\"".$affichercommentaires['ID']."\", \"".$afficherresultats['ID']."\", \"".$id."\", \"".(isset($_GET['page']) ? $_GET['page'] : 0)."\")";
echo "'>";
echo code_inc_img(path_img_asset('supp.png'), "Supprimer le commentaire");
echo "</a>";
//On vérifie si la personne est bien celle qui est l'auteur du commentaire pour pouvoir le modifier
if($_SESSION['ID'] == $affichercommentaires['ID_personne'])
{
echo "<a onClick='editcommentaire(\"".$affichercommentaires['ID']."\", \"".$afficherresultats['ID']."\", \"".$id."\", \"".(isset($_GET['page']) ? $_GET['page'] : 0)."\");'>";
echo code_inc_img(path_img_asset('edit.png'), "Modifier le commentaire", "16", "16");
echo "</a>";
}
}
}
?>
<?php echo adapte_date($affichercommentaires['date_envoi']); ?></span>
</td>
</tr>
<?php
}
//Formulaire d'envoi de nouveau commentaire - uniquement si l'utilisateur est connecté
if(isset($_SESSION['ID']))
{
//On vérifie que l'avatar de l'utilisateur connecté est disponible
if(!isset($info_users[$_SESSION['ID']]['avatar_32_32']) OR !isset($info_users[$_SESSION['ID']]['table_utilisateurs']))
{
$info_users[$_SESSION['ID']]['avatar_32_32'] = avatar($_SESSION['ID'], "./", 32, 32);
$info_users[$_SESSION['ID']]['table_utilisateurs'] = cherchenomprenom($_SESSION['ID'], $bdd);
}
/**
* Add a comment
*/
?>
<tr class="add_comment">
<td colspan="2">
<form id="addcommentaire_<?php echo $afficherresultats['ID']; ?>" enctype="multipart/form-data" method="post">
<!-- Avatar -->
<?php echo $info_users[$_SESSION['ID']]['avatar_32_32']; ?>
<!-- Text comment -->
<input type='text' placeholder="Ajout d'un commentaire..." name='commentaire' id="addcommentaire<?php echo $afficherresultats['ID']; ?>" /><?php echo source_ajout_smiley($afficherresultats['ID']); ?>
<!-- ID of text -->
<input type='hidden' name='idtexte' value='<?php echo $afficherresultats['ID']; ?>' />
<!-- Optionnal: image -->
<label class="input_commentaire_image">
<?php echo code_inc_img(path_img_asset('small/image.png'), "Optionnel: ajout d'une image"); ?>
<input type="file" id="image_<?php echo $afficherresultats['ID']; ?>" name="image" />
</label>
<!-- Submit comment -->
<input onClick="submitCommentaire('action.php?actionid=29&id=<?php echo $id; if(isset($_GET['page'])) echo "&page=".$_GET['page']; ?>', 'addcommentaire<?php echo $afficherresultats['ID']; ?>', 'tablecommentaire<?php echo $afficherresultats['ID']; ?>', <?php echo $afficherresultats['ID']; ?>, <?php if(isset($_GET['page'])) echo $_GET['page']; else echo 0; ?>, <?php echo $id; ?> );" type='button' value='<?php echo $lang[32]; ?>' />
</form>
</td>
</tr>
<?php
}
?>
</table>
</td>
</tr>
<?php
}
//On supprime l'ID du posteur pour le prochain affichage
unset($id_posteur);
//On supprime l'ID de l'ami si il existe pour le prochain post
if(isset($infoami))
unset($infoami);
}
//Création de l'ID du bouton "Afficher plus"
//$id_bouton_afficher_plus = "view_more_".time();
if(!isset($no_view_more))
{
?><tr id="view_more"><?php echo $id; ?>|<?php echo $numero_page+1; ?><tr><?php
}
//Fin de fichier
//die();