39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
class pages {
|
|
|
|
public static function add(array $data): bool {
|
|
$db = DB();
|
|
$data['ts'] = time();
|
|
$data['html'] = markup::markdownToHtml($data['md']);
|
|
if (!$db->insert('pages', $data))
|
|
return false;
|
|
return true;
|
|
}
|
|
|
|
public static function delete(Page $page): void {
|
|
DB()->query("DELETE FROM pages WHERE short_name=?", $page->shortName);
|
|
previous_texts::delete(PreviousText::TYPE_PAGE, $page->get_id());
|
|
}
|
|
|
|
public static function getById(int $id): ?Page {
|
|
$db = DB();
|
|
$q = $db->query("SELECT * FROM pages WHERE id=?", $id);
|
|
return $db->numRows($q) ? new Page($db->fetch($q)) : null;
|
|
}
|
|
|
|
public static function getByName(string $short_name): ?Page {
|
|
$db = DB();
|
|
$q = $db->query("SELECT * FROM pages WHERE short_name=?", $short_name);
|
|
return $db->numRows($q) ? new Page($db->fetch($q)) : null;
|
|
}
|
|
|
|
/**
|
|
* @return Page[]
|
|
*/
|
|
public static function getAll(): array {
|
|
$db = DB();
|
|
return array_map('Page::create_instance', $db->fetchAll($db->query("SELECT * FROM pages")));
|
|
}
|
|
|
|
} |