View sourcecode

The following files exists in this folder. Click to view.

profile.php

118 lines UTF-8 Unix (LF)
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
<?php
require_once("databaseconnection.php");
include(
"check_session.php");

if(!isset(
$_GET["mess"])){
    
header("location:home.php?mess=error");
    exit;
}

$sql "SELECT `displayName` FROM users WHERE `userId` = :userId";
$stm $pdo->prepare($sql);
$stm->execute(['userId' => $_GET["mess"]]);
$profileName $stm->fetch(PDO::FETCH_ASSOC);

$sql "SELECT `blogId` FROM manage WHERE `userId` = :userId";
$stm $pdo->prepare($sql);
$stm->execute(['userId' => $_GET["mess"]]);
$blogIdArray $stm->fetchAll(PDO::FETCH_COLUMN); #Hämta alla Id på bloggar skapade utav användaren med id:t i GET_mess

if (!empty($blogIdArray)){ #stoppar nedanstående SQL från att köras om användaren inte har några bloggar. (stoppar error)

    
$placeholders implode(','array_fill(0count($blogIdArray), '?')); 

    
$sql "SELECT `name` FROM blog WHERE `blogId` IN ($placeholders)"#tar alla namn på bloggar som användaren har tillgång till.
    
$stm $pdo->prepare($sql);
    
$stm->execute($blogIdArray);
    
$dbOutput $stm->fetchAll(PDO::FETCH_COLUMN);

    
$authorId $_GET["mess"];

    
$sql "SELECT `headline`, `postId` FROM post WHERE `blogId` IN ($placeholders) AND `authorId` = ? ORDER BY `postId` DESC LIMIT 5"#plockar info om de 5 senaste blogginläggen
    
$params array_merge($blogIdArray, [$authorId]);
    
$stm $pdo->prepare($sql);
    
$stm->execute($params);
    
$postInfo $stm->fetchAll(PDO::FETCH_ASSOC);
}

?>


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?php $outputName htmlspecialchars($profileName["displayName"]); echo"$outputName"?>'s Profile</title>
    <link rel="stylesheet" href="/spectre/spectre-master/dist/spectre.css">
    <script src="https://kit.fontawesome.com/0b0c9a8dc7.js" crossorigin="anonymous"></script>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Special+Gothic+Expanded+One&family=Special+Gothic:wght@400..700&display=swap" rel="stylesheet">
    <style>
        #navTop{
            font-family: "Special Gothic Expanded One", Helvetica;
        }
    </style>
</head>
<body style="text-align:center;">
    <header class="navbar">
        <section class="navbar-section">
            <a href="settings.php" class="btn btn-link">Settings</a>
            <a href="home.php" class="btn btn-link">Home</a>
        </section>
        <section class="navbar-center">
            <h3 id="navTop">PHiNTERNET</h3>
        </section>
        <section class="navbar-section">
            <a href="newpost.php" class="btn btn-link">Create Post</a>
            <a href="#" class="btn btn-link">Profile</a>
        </section>
    </header>
    <?php 
    
echo"<h1>{$outputName}'s profile</h1>";
    if(
$_GET["mess"]==$_SESSION["userId"]){
        echo
"<p>this is your profile</p>";
    }
    else{
        
$sql "SELECT 1 FROM `following` WHERE `userId` = :userId AND `followedUserId` = :followedUserId LIMIT 1";
        
$stm $pdo->prepare($sql);
        
$stm->execute([
            
':userId' => $_SESSION["userId"],
            
':followedUserId' => $_GET["mess"]
        ]);
        if(
$stm->fetch()){
        echo
"<p>you follow this person</p><a href=\"search.php?mess=u|{$_GET["mess"]}\" class=\"btn\">unfollow</a>";
        }
        else{
            echo
"<p>you do not follow this person</p><a href=\"search.php?mess=f|{$_GET["mess"]}\" class=\"btn btn-primary\">follow</a>";
        }
    }
    
    echo
"<hr><h3>Blogs:</h3>";
    if (isset(
$dbOutput)){
        for (
$i=0$i<= count($dbOutput)-1$i++){
            
$outputBlogName=htmlspecialchars($dbOutput[$i]);
            echo
"<a style=\"margin:0.2rem;\" class=\"btn\" href=\"blogpostdisplay.php?mess=$blogIdArray[$i]\">{$outputBlogName}</a>"#skriv ut alla bloggar som knappar
        
}
    }
    else{
        echo
"<p>user has no blogs</p>";
    };
    echo
"<hr><h3>Latest Posts:</h3>";
    if (isset(
$postInfo[0])){
        for (
$i=0$i<=4$i++){
            
            if (isset(
$postInfo[$i])){
                
$outputPostName=htmlspecialchars($postInfo[$i]["headline"]);
                echo
"<a style=\"margin:0.2rem;\" class=\"h3\" href=\"blogwatcher.php?mess={$postInfo[$i]["postId"]}\">{$outputPostName}</a><br>"#skriv ut alla posts som länkar i storlek h3
            
}
        }
    }
    else{
        echo
"<p>user has no posts</p>";
    };
    
?>
    
</body>
</html>