diff --git a/app/classes/component.php b/app/classes/component.php index 9682336..341f4d8 100644 --- a/app/classes/component.php +++ b/app/classes/component.php @@ -2,11 +2,9 @@ class Component { private $db; - private $queries; public function __construct($database) { $this->db = $database->getConnection(); -// $this->queries = include('queries.php'); } @@ -25,17 +23,20 @@ class Component { $until_time = htmlspecialchars(strip_tags($until_time)); // 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"; + $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"; + $sql = sprintf($sql, $jitsi_component, $component_id, $from_time, $until_time); $query = $this->db->prepare($sql); diff --git a/app/classes/conference.php b/app/classes/conference.php index c87fb34..4a5813e 100644 --- a/app/classes/conference.php +++ b/app/classes/conference.php @@ -2,11 +2,9 @@ class Conference { private $db; - private $queries; public function __construct($database) { $this->db = $database->getConnection(); - $this->queries = include('queries.php'); } @@ -25,7 +23,52 @@ class Conference { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['conference_by_id']; + + // search for a conference by its ID for a time period (if given) + $sql = " +SELECT + pe.time, + c.conference_id, + c.conference_name, + c.conference_host, + pe.loglevel, + pe.event_type, + p.endpoint_id AS participant_id, + pe.event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +LEFT JOIN + participants p ON c.conference_id = p.conference_id +LEFT JOIN + participant_events pe ON p.endpoint_id = pe.participant_id +WHERE + c.conference_id = '%s' +AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') + +UNION + +SELECT + ce.time AS event_time, + c.conference_id, + c.conference_name, + c.conference_host, + ce.loglevel, + ce.conference_event AS event_type, + NULL AS participant_id, + ce.conference_param AS event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +WHERE + c.conference_id = '%s' +AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') + +ORDER BY + pe.time"; + $sql = sprintf($sql, $conference_id, $from_time, $until_time, $conference_id, $from_time, $until_time); $query = $this->db->prepare($sql); @@ -50,7 +93,52 @@ class Conference { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['conference_by_name']; + + // search for a conference by its name for a time period (if given) + $sql = " +SELECT + pe.time, + c.conference_id, + c.conference_name, + c.conference_host, + pe.loglevel, + pe.event_type, + p.endpoint_id AS participant_id, + pe.event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +LEFT JOIN + participants p ON c.conference_id = p.conference_id +LEFT JOIN + participant_events pe ON p.endpoint_id = pe.participant_id +WHERE + c.conference_name = '%s' +AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') + +UNION + +SELECT + ce.time AS event_time, + c.conference_id, + c.conference_name, + c.conference_host, + ce.loglevel, + ce.conference_event AS event_type, + NULL AS participant_id, + ce.conference_param AS event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +WHERE + c.conference_name = '%s' +AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') + +ORDER BY + pe.time"; + $sql = sprintf($sql, $conference_name, $from_time, $until_time, $conference_name, $from_time, $until_time); $query = $this->db->prepare($sql); @@ -75,7 +163,77 @@ class Conference { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['conferences_all_formatted']; + + // list of conferences for time period (if given) + // fields: component, duration, conference ID, conference name, number of participants, name count (the conf name is found), conference host + $sql = " +SELECT DISTINCT + c.jitsi_component, + (SELECT COALESCE + ( + (SELECT ce.time + FROM conference_events ce + WHERE + ce.conference_id = c.conference_id + AND + ce.conference_event = 'conference created' + ), + (SELECT ce.time + FROM conference_events ce + WHERE + ce.conference_id = c.conference_id + AND + ce.conference_event = 'bridge selected' + ) + ) + ) + AS start, + (SELECT COALESCE + ( + (SELECT ce.time + FROM conference_events ce + WHERE + ce.conference_id = c.conference_id + AND + (ce.conference_event = 'conference expired' OR ce.conference_event = 'conference stopped') + ), + (SELECT pe.time + FROM participant_events pe + WHERE + pe.event_param = c.conference_id + ORDER BY pe.time DESC + LIMIT 1 + ) + ) + ) + AS end, + c.conference_id, + c.conference_name, + (SELECT COUNT(pe.participant_id) + FROM participant_events pe + WHERE + pe.event_type = 'participant joining' + AND + pe.event_param = c.conference_id) AS participants, + name_counts.name_count, + c.conference_host +FROM + conferences c +JOIN ( + SELECT + conference_name, + COUNT(*) AS name_count + FROM + conferences + GROUP BY + conference_name +) AS name_counts ON c.conference_name = name_counts.conference_name +JOIN + conference_events ce ON c.conference_id = ce.conference_id +WHERE (ce.time >= '%s 00:00:00' AND ce.time <= '%s 23:59:59') +ORDER BY + c.id"; + $sql = sprintf($sql, $from_time, $until_time); $query = $this->db->prepare($sql); @@ -99,7 +257,28 @@ class Conference { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['conference_number']; + + // number of conferences for time period (if given) + // NB we need to cross check with first occurrence of "bridge selected" + // as in Jicofo logs there is no way to get the time for conference ID creation + $sql = " +SELECT COUNT(c.conference_id) as conferences +FROM + conferences c +LEFT JOIN ( + SELECT ce.conference_id, MIN(ce.time) as first_event_time + FROM conference_events ce + WHERE ce.conference_event = 'bridge selected' + GROUP BY ce.conference_id +) AS first_event ON c.conference_id = first_event.conference_id +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +WHERE + (ce.time >= '%s 00:00:00' AND ce.time <= '%s 23:59:59') +AND (ce.conference_event = 'conference created' + OR (ce.conference_event = 'bridge selected' AND ce.time = first_event.first_event_time) +)"; + $sql = sprintf($sql, $from_time, $until_time); $query = $this->db->prepare($sql); diff --git a/app/classes/participant.php b/app/classes/participant.php index f23e2b5..373ca31 100644 --- a/app/classes/participant.php +++ b/app/classes/participant.php @@ -2,11 +2,9 @@ class Participant { private $db; - private $queries; public function __construct($database) { $this->db = $database->getConnection(); - $this->queries = include('queries.php'); } @@ -25,7 +23,52 @@ class Participant { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['conference_by_participant_id']; + + // list conferences where participant ID (endpoint_id) is found + $sql = " +SELECT + pe.time, + c.conference_id, + c.conference_name, + c.conference_host, + pe.loglevel, + pe.event_type, + p.endpoint_id AS participant_id, + pe.event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +LEFT JOIN + participants p ON c.conference_id = p.conference_id +LEFT JOIN + participant_events pe ON p.endpoint_id = pe.participant_id +WHERE + p.endpoint_id = '%s' +AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') + +UNION + +SELECT + ce.time AS event_time, + c.conference_id, + c.conference_name, + c.conference_host, + ce.loglevel, + ce.conference_event AS event_type, + NULL AS participant_id, + ce.conference_param AS event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +WHERE + participant_id = '%s' +AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') + +ORDER BY + pe.time"; + $sql = sprintf($sql, $participant_id, $from_time, $until_time, $participant_id, $from_time, $until_time); $query = $this->db->prepare($sql); @@ -50,7 +93,52 @@ class Participant { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['participant_by_stats_id']; + + // list conferences where participant name (stats_id) is found + $sql = " +SELECT + pe.time, + c.conference_id, + c.conference_name, + c.conference_host, + pe.loglevel, + pe.event_type, + p.endpoint_id AS participant_id, + pe.event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +LEFT JOIN + participants p ON c.conference_id = p.conference_id +LEFT JOIN + participant_events pe ON p.endpoint_id = pe.participant_id +WHERE + pe.event_type = 'stats_id' AND pe.event_param LIKE '%%%s%%' +AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') + +UNION + +SELECT + ce.time AS event_time, + c.conference_id, + c.conference_name, + c.conference_host, + ce.loglevel, + ce.conference_event AS event_type, + NULL AS participant_id, + ce.conference_param AS event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +WHERE + event_type = 'stats_id' AND event_param LIKE '%%%s%%' +AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') + +ORDER BY + pe.time"; + $sql = sprintf($sql, $participant_name, $from_time, $until_time, $participant_name, $from_time, $until_time); $query = $this->db->prepare($sql); @@ -75,7 +163,52 @@ class Participant { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['participant_by_ip']; + + // list conferences where participant IP is found + $sql = " +SELECT + pe.time, + c.conference_id, + c.conference_name, + c.conference_host, + pe.loglevel, + pe.event_type, + p.endpoint_id AS participant_id, + pe.event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +LEFT JOIN + participants p ON c.conference_id = p.conference_id +LEFT JOIN + participant_events pe ON p.endpoint_id = pe.participant_id +WHERE + pe.event_type = 'pair selected' AND pe.event_param = '%s' +AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') + +UNION + +SELECT + ce.time AS event_time, + c.conference_id, + c.conference_name, + c.conference_host, + ce.loglevel, + ce.conference_event AS event_type, + NULL AS participant_id, + ce.conference_param AS event_param +FROM + conferences c +LEFT JOIN + conference_events ce ON c.conference_id = ce.conference_id +WHERE + event_type = 'pair selected' AND event_param = '%s' +AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') + +ORDER BY + pe.time"; + $sql = sprintf($sql, $participant_ip, $from_time, $until_time, $participant_ip, $from_time, $until_time); $query = $this->db->prepare($sql); @@ -85,7 +218,7 @@ class Participant { } - // list of all conferences + // list of all participants public function participantsAll($from_time, $until_time) { // time period drill-down @@ -100,7 +233,19 @@ class Participant { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['participants_all']; + + // list all participants + $sql = " +SELECT DISTINCT + p.jitsi_component, p.endpoint_id, p.conference_id +FROM + participants p +JOIN + participant_events pe ON p.endpoint_id = pe.participant_id +WHERE + pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59' +ORDER BY p.id"; + $sql = sprintf($sql, $from_time, $until_time); $query = $this->db->prepare($sql); @@ -109,7 +254,7 @@ class Participant { return $query->fetchAll(PDO::FETCH_ASSOC); } - // number of conferences + // number of participants public function participantNumber($from_time, $until_time) { // time period drill-down @@ -124,7 +269,18 @@ class Participant { // this is needed for compatibility with the bash version, so we use '%s' placeholders $from_time = htmlspecialchars(strip_tags($from_time)); $until_time = htmlspecialchars(strip_tags($until_time)); - $sql = $this->queries['participant_number']; + + // number of participants for time period (if given) + $sql = " +SELECT COUNT(DISTINCT p.endpoint_id) as participants +FROM + participants p +LEFT JOIN + participant_events pe ON p.endpoint_id = pe.participant_id +WHERE + (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') +AND pe.event_type = 'participant joining'"; + $sql = sprintf($sql, $from_time, $until_time); $query = $this->db->prepare($sql); diff --git a/app/classes/queries.php b/app/classes/queries.php deleted file mode 100644 index 74c2af3..0000000 --- a/app/classes/queries.php +++ /dev/null @@ -1,402 +0,0 @@ - " -SELECT COUNT(c.conference_id) as conferences -FROM - conferences c -LEFT JOIN ( - SELECT ce.conference_id, MIN(ce.time) as first_event_time - FROM conference_events ce - WHERE ce.conference_event = 'bridge selected' - GROUP BY ce.conference_id -) AS first_event ON c.conference_id = first_event.conference_id -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -WHERE - (ce.time >= '%s 00:00:00' AND ce.time <= '%s 23:59:59') -AND (ce.conference_event = 'conference created' - OR (ce.conference_event = 'bridge selected' AND ce.time = first_event.first_event_time) -)", - - - // search for a conference by its ID for a time period (if given) - 'conference_by_id' => " -SELECT - pe.time, - c.conference_id, - c.conference_name, - c.conference_host, - pe.loglevel, - pe.event_type, - p.endpoint_id AS participant_id, - pe.event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -LEFT JOIN - participants p ON c.conference_id = p.conference_id -LEFT JOIN - participant_events pe ON p.endpoint_id = pe.participant_id -WHERE - c.conference_id = '%s' -AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') - -UNION - -SELECT - ce.time AS event_time, - c.conference_id, - c.conference_name, - c.conference_host, - ce.loglevel, - ce.conference_event AS event_type, - NULL AS participant_id, - ce.conference_param AS event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -WHERE - c.conference_id = '%s' -AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') - -ORDER BY - pe.time;", - - - // list of conferences for time period (if given) - // fields: component, duration, conference ID, conference name, number of participants, name count (the conf name is found), conference host - 'conferences_all_formatted' => " -SELECT DISTINCT - c.jitsi_component, - (SELECT COALESCE - ( - (SELECT ce.time - FROM conference_events ce - WHERE - ce.conference_id = c.conference_id - AND - ce.conference_event = 'conference created' - ), - (SELECT ce.time - FROM conference_events ce - WHERE - ce.conference_id = c.conference_id - AND - ce.conference_event = 'bridge selected' - ) - ) - ) - AS start, - (SELECT COALESCE - ( - (SELECT ce.time - FROM conference_events ce - WHERE - ce.conference_id = c.conference_id - AND - (ce.conference_event = 'conference expired' OR ce.conference_event = 'conference stopped') - ), - (SELECT pe.time - FROM participant_events pe - WHERE - pe.event_param = c.conference_id - ORDER BY pe.time DESC - LIMIT 1 - ) - ) - ) - AS end, - c.conference_id, - c.conference_name, - (SELECT COUNT(pe.participant_id) - FROM participant_events pe - WHERE - pe.event_type = 'participant joining' - AND - pe.event_param = c.conference_id) AS participants, - name_counts.name_count, - c.conference_host -FROM - conferences c -JOIN ( - SELECT - conference_name, - COUNT(*) AS name_count - FROM - conferences - GROUP BY - conference_name -) AS name_counts ON c.conference_name = name_counts.conference_name -JOIN - conference_events ce ON c.conference_id = ce.conference_id -WHERE (ce.time >= '%s 00:00:00' AND ce.time <= '%s 23:59:59') -ORDER BY - c.id;", - - - // search for a conference by its ID for a time period (if given) - 'conference_by_id' => " -SELECT - pe.time, - c.conference_id, - c.conference_name, - c.conference_host, - pe.loglevel, - pe.event_type, - p.endpoint_id AS participant_id, - pe.event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -LEFT JOIN - participants p ON c.conference_id = p.conference_id -LEFT JOIN - participant_events pe ON p.endpoint_id = pe.participant_id -WHERE - c.conference_id = '%s' -AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') - -UNION - -SELECT - ce.time AS event_time, - c.conference_id, - c.conference_name, - c.conference_host, - ce.loglevel, - ce.conference_event AS event_type, - NULL AS participant_id, - ce.conference_param AS event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -WHERE - c.conference_id = '%s' -AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') - -ORDER BY - pe.time;", - - - // search for a conference by its name for a time period (if given) - 'conference_by_name' => " -SELECT - pe.time, - c.conference_id, - c.conference_name, - c.conference_host, - pe.loglevel, - pe.event_type, - p.endpoint_id AS participant_id, - pe.event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -LEFT JOIN - participants p ON c.conference_id = p.conference_id -LEFT JOIN - participant_events pe ON p.endpoint_id = pe.participant_id -WHERE - c.conference_name = '%s' -AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') - -UNION - -SELECT - ce.time AS event_time, - c.conference_id, - c.conference_name, - c.conference_host, - ce.loglevel, - ce.conference_event AS event_type, - NULL AS participant_id, - ce.conference_param AS event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -WHERE - c.conference_name = '%s' -AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') - -ORDER BY - pe.time;", - - - // number of participants for time period (if given) - 'participant_number' => " -SELECT COUNT(DISTINCT p.endpoint_id) as participants -FROM - participants p -LEFT JOIN - participant_events pe ON p.endpoint_id = pe.participant_id -WHERE - (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') -AND pe.event_type = 'participant joining'", - - - // list all participants - 'participants_all' => " -SELECT DISTINCT - p.jitsi_component, p.endpoint_id, p.conference_id -FROM - participants p -JOIN - participant_events pe ON p.endpoint_id = pe.participant_id -WHERE - pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59' -ORDER BY p.id;", - - - // list conferences where participant ID (endpoint_id) is found - 'conference_by_participant_id' => " -SELECT - pe.time, - c.conference_id, - c.conference_name, - c.conference_host, - pe.loglevel, - pe.event_type, - p.endpoint_id AS participant_id, - pe.event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -LEFT JOIN - participants p ON c.conference_id = p.conference_id -LEFT JOIN - participant_events pe ON p.endpoint_id = pe.participant_id -WHERE - p.endpoint_id = '%s' -AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') - -UNION - -SELECT - ce.time AS event_time, - c.conference_id, - c.conference_name, - c.conference_host, - ce.loglevel, - ce.conference_event AS event_type, - NULL AS participant_id, - ce.conference_param AS event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -WHERE - participant_id = '%s' -AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') - -ORDER BY - pe.time;", - - - // list conferences where participant name (stats_id) is found - 'participant_by_stats_id' => " -SELECT - pe.time, - c.conference_id, - c.conference_name, - c.conference_host, - pe.loglevel, - pe.event_type, - p.endpoint_id AS participant_id, - pe.event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -LEFT JOIN - participants p ON c.conference_id = p.conference_id -LEFT JOIN - participant_events pe ON p.endpoint_id = pe.participant_id -WHERE - pe.event_type = 'stats_id' AND pe.event_param LIKE '%%%s%%' -AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') - -UNION - -SELECT - ce.time AS event_time, - c.conference_id, - c.conference_name, - c.conference_host, - ce.loglevel, - ce.conference_event AS event_type, - NULL AS participant_id, - ce.conference_param AS event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -WHERE - event_type = 'stats_id' AND event_param LIKE '%%%s%%' -AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') - -ORDER BY - pe.time;", - - - // list conferences where participant IP is found - 'participant_by_ip' => " -SELECT - pe.time, - c.conference_id, - c.conference_name, - c.conference_host, - pe.loglevel, - pe.event_type, - p.endpoint_id AS participant_id, - pe.event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -LEFT JOIN - participants p ON c.conference_id = p.conference_id -LEFT JOIN - participant_events pe ON p.endpoint_id = pe.participant_id -WHERE - pe.event_type = 'pair selected' AND pe.event_param = '%s' -AND (pe.time >= '%s 00:00:00' AND pe.time <= '%s 23:59:59') - -UNION - -SELECT - ce.time AS event_time, - c.conference_id, - c.conference_name, - c.conference_host, - ce.loglevel, - ce.conference_event AS event_type, - NULL AS participant_id, - ce.conference_param AS event_param -FROM - conferences c -LEFT JOIN - conference_events ce ON c.conference_id = ce.conference_id -WHERE - event_type = 'pair selected' AND event_param = '%s' -AND (event_time >= '%s 00:00:00' AND event_time <= '%s 23:59:59') - -ORDER BY - pe.time;", - -]; - -?>