1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
session_start();
include_once("config/database.php");
include_once("includes/functions.php");
include_once("includes/constants.php");
if(!empty($_GET['id'])){
$user = find_user_by_id($_GET['id']);
//si on ne trouve pas l'utilisateur, le visiteur est redirigé vers la page index.php.
if (!$user){
redirect("index.php");
}
//si l'utilisateur est trouvé, on récupère ses publications en affichant de la plus récente à la plus ancienne :
else{
//if(!isset($_GET['id'])){
//echo 'toto';
$elem = $db->prepare("SELECT user_id_one, user_id_two, status, action_user_id
FROM relationships
WHERE action_user_id = :user_id_one");
$elem->execute([
'user_id_one'=> get_session('id_user')
]);
$elemFound= $elem -> fetchAll();
$nbrElemFounded = count($elemFound);
$elementfounded = array();
for($var_user=0;$var_user<$nbrElemFounded;$var_user++){
$elementfounded[$var_user]=$elemFound[$var_user]['user_id_two'];
}
$user_to_hide = implode(', ',$elementfounded );
$nbrElemHidden = count($elementfounded);
if($nbrElemHidden >= 1){
// requete hidden users :
// var_dump("--bloc A ---");
//Enlever l'utilisateur de la liste dans la liste des flux
$query = $db->prepare("SELECT u.id_user, u.name_user,u.avatar_user,u.email_user, p.id_posts,p.content_posts,
p.shared_id, p.posts_id, p.user_id, p.like_posts_count, p.mark_posts, p.created_at
FROM posts p, user u
WHERE p.user_id = u.id_user
and p.user_id
IN (SELECT id_following FROM followers WHERE id_followers = :id_followers
UNION SELECT distinct(id_following) FROM followers
WHERE id_following
IN (SELECT id_followers FROM followers WHERE id_followers = :id_followers) )
AND u.id_user NOT IN (".$user_to_hide.") ORDER BY created_at DESC");
$query->execute(array(
'id_followers'=> get_session('id_user')
));
$flux= $query -> fetchAll(PDO::FETCH_OBJ);
} else {
// requete user blocked :
//var_dump("--bloc B ---");
$query = $db->prepare("SELECT u.id_user, u.name_user,u.avatar_user,u.email_user, p.id_posts,p.content_posts,p.shared_id, p.posts_id,p.user_id, p.like_posts_count, p.created_at
FROM posts p, user u
WHERE p.user_id = u.id_user and p.user_id
IN (SELECT id_following FROM followers WHERE id_followers = :id_followers
UNION SELECT distinct(id_following) FROM followers
WHERE id_following
IN (SELECT id_followers FROM followers WHERE id_followers = :id_followers)) AND u.id_user
ORDER BY created_at DESC");
$query->execute(array(
// 'id_followers'=> get_session('id_user')
'id_followers'=> get_session('id_user')
));
//Rajouter une autre requête qui permet de filtrer chaque post avec son user
$flux= $query -> fetchAll(PDO::FETCH_OBJ);
}
/*var_dump($elemFound[0]->user_id_two);
var_dump(count($elemFound));
die();*/
// }
}
}
include("views/flux.view.php"); |
Partager