Initial commit

This commit is contained in:
Ivan Petrov
2025-12-24 19:19:01 +03:00
commit a7097c6178
19493 changed files with 94306 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
<?php
// Работа с уведомлениями
defined('ROOT_DIR') || exit;
trait Alerts {
// Получить список уведомлений
public function alerts_get_list($group = "main")
{
$session_name = $this->session_get_name();
$alerts = $this->db_query("SELECT * FROM `bive_alerts` WHERE `session` = ? AND `is_read` = 0 AND `group` = ?", array($session_name, $group), false);
if (!count($alerts)) return false;
$this->alerts_read_all($group);
return $alerts;
}
// Добавить уведомление
public function alerts_add($message, $type = "notice", $group = "main")
{
$session_name = $this->session_get_name();
$this->db_query("INSERT INTO `bive_alerts`(`session`, `message`, `type`, `group`) VALUES (?, ?, ?, ?)", array($session_name, $message, $type, $group), true);
}
// Пометить все уведомления как прочитанные
public function alerts_read_all($group = "main")
{
$session_name = $this->session_get_name();
$this->db_query("UPDATE `bive_alerts` SET `is_read` = 1 WHERE `session` = ? AND `is_read` = 0 AND `group` = ?", array($session_name, $group), true);
}
public function alerts_view($group = "main"): bool
{
$alerts = $this->alerts_get_list($group);
if(!$alerts) return false;
$alerts_dom = new DOM("div");
$alerts_dom->setAttribute("class", "b_alerts");
foreach ($alerts as $key => $alert) {
$alert_dom = new DOM("div");
$alert_dom->setAttribute("class", "b_alert " . $alert["type"]);
$alert_dom->prepend($alert["message"]);
$alerts_dom->prepend($alert_dom);
}
$alerts_dom->view();
return true;
}
}