-
Notifications
You must be signed in to change notification settings - Fork 0
/
PostManager.php
104 lines (73 loc) · 2.42 KB
/
PostManager.php
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
<?php
class PostManager {
public function save(Post $post) {
$database = Database::connectDatabase();
$sql = "INSERT INTO post (title, content, username, email, published, dateCreated, dateModified)
VALUES(:title, :content, :username, :email, 1, NOW(), NOW())";
$stmt = $database->prepare($sql);
$stmt->bindValue(':title', $post->getTitle());
$stmt->bindValue(':content', $post->getContent());
$stmt->bindValue(':username', $post->getUsername());
$stmt->bindValue(':email', $post->getEmail());
//$stmt->bindValue(':published', $post->getPublished());
return $stmt->execute();
}
public function delete(Post $post) {
$database = Database::connectDatabase();
$sql = "DELETE post
WHERE id = :id";
$stmt = $database->prepare($sql);
$stmt->bindValue(':id', $post->getId());
return $stmt->execute();
}
public function findAll() {
$database = Database::connectDatabase();
$sql = "SELECT * FROM post";
$stmt = $database->prepare($sql);
$tab = $stmt->execute();
$posts = $stmt->fetchAll(PDO::FETCH_CLASS, 'Post');
return $posts;
}
public function findLatest() {
$database = Database::connectDatabase();
$sql = "SELECT * FROM post
WHERE published = 1
ORDER BY dateCreated DESC
LIMIT 10";
$stmt = $database->prepare($sql);
$stmt->execute();
$posts = $stmt->fetchAll(PDO::FETCH_CLASS, 'Post');
return $posts;
}
public function findPostById($id) {
$database = Database::connectDatabase();
$sql = "SELECT * FROM post
WHERE id = :id";
$stmt = $database->prepare($sql);
$stmt->bindValue(':id', $id);
/*$stmt->setFetchMode(PDO::FETCH_CLASS, 'Post');*/
$stmt->execute();
$post = $stmt->fetchObject('Post');
return $post;
}
public function update(Post $post) {
$database = Database::connectDatabase();
$sql = "UPDATE post
SET title = :title,
content = :content,
username = :username,
email = :email,
published = :published,
dateModified = NOW()
WHERE id = :id";
$stmt = $database->prepare($sql);
$stmt->bindValue(':id', $post->getId());
$stmt->bindValue(':title', $post->getTitle());
$stmt->bindValue(':content', $post->getContent());
$stmt->bindValue(':username', $post->getUsername());
$stmt->bindValue(':email', $post->getEmail());
$stmt->bindValue(':published', $post->getPublished());
return $stmt->execute();
}
}
?>