public function createAnnouncement(array $post) : bool
{
$this->db->beginTransaction();
// We want a unique ID (collision chance 50% at 2^132)
$query = 'SELECT count(*) FROM bridge_announcements WHERE uniqueid = ?';
do {
$unique = \Airship\uniqueId(33);
} while ($this->db->exists($query, $unique));
$this->db->insert('bridge_announcements', ['uniqueid' => $unique, 'title' => $post['title'] ?? '', 'contents' => $post['contents'] ?? '', 'format' => $post['format'] ?? 'HTML', 'only_admins' => !empty($post['only_admins'])]);
return $this->db->commit();
}