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
|
<?php
namespace Database;
use PDO;
class ArchiveList extends Table {
public $LID;
public $AuthorUID;
public $Name;
public $Description;
static function create(int $AuthorUID, string $Name, string $Description) : int {
return Table::_create(
'ArchiveLists',
'(AuthorUID, Name, Description)',
"(\"$AuthorUID\", \"$Name\", \"$Description\")"
);
}
static function fromDB(int $LID) : ArchiveList {
return Table::_fromDB(
"SELECT * FROM ArchiveLists WHERE LID = \"$LID\"",
'Database\ArchiveList'
);
}
function addItem(int $WID) {
Table::_create(
'ArchiveListsWebpages',
'(WID, LID, Position)',
"(\"$WID\", \"$this->LID\", \"0\")"
);
}
function allItems() : array {
return Table::_get_all(
'Webpages',
'Database\Webpage',
"INNER JOIN ArchiveListsWebpages ON Webpages.WID = ArchiveListsWebpages.WID
WHERE ArchiveListsWebpages.LID = $this->LID
ORDER BY ArchiveListsWebpages.Position ASC",
'Webpages.*'
);
}
function update(string $newName, string $newDescription) {
Table::_update(
'ArchiveLists',
"Name = \"$newName\", Description = \"$newDescription\"",
"LID = \"$this->LID\""
);
}
function delete() {
Table::_delete(
'ArchiveLists',
"LID = \"$this->LID\""
);
}
}
|