jilo-web/app/classes/component.php

57 lines
1.3 KiB
PHP
Raw Normal View History

2024-07-08 09:17:35 +00:00
<?php
class Component {
private $db;
public function __construct($database) {
$this->db = $database->getConnection();
}
// list of component events
2024-09-15 18:49:20 +00:00
public function jitsiComponents($jitsi_component, $component_id, $from_time, $until_time, $offset=0, $items_per_page='') {
2024-07-08 09:17:35 +00:00
// time period drill-down
// FIXME make it similar to the bash version
if (empty($from_time)) {
$from_time = '0000-01-01';
}
if (empty($until_time)) {
$until_time = '9999-12-31';
}
$from_time = htmlspecialchars(strip_tags($from_time));
$until_time = htmlspecialchars(strip_tags($until_time));
2024-08-21 19:11:28 +00:00
// list of jitsi component events
$sql = "
SELECT
jitsi_component, loglevel, time, component_id, event_type, event_param
FROM
jitsi_components
WHERE
jitsi_component = %s
AND
component_id = %s
AND
(time >= '%s 00:00:00' AND time <= '%s 23:59:59')
ORDER BY
time";
2024-09-15 18:49:20 +00:00
if ($items_per_page) {
$items_per_page = (int)$items_per_page;
$sql .= ' LIMIT ' . $offset . ',' . $items_per_page;
}
2024-08-22 08:59:48 +00:00
$sql = sprintf($sql, $jitsi_component, $component_id, $from_time, $until_time);
2024-07-08 09:17:35 +00:00
$query = $this->db->prepare($sql);
2024-08-22 08:59:48 +00:00
$query->execute();
2024-07-08 09:17:35 +00:00
return $query->fetchAll(PDO::FETCH_ASSOC);
}
}
?>