diff --git a/classes/notification.php b/classes/notification.php index 762bbd7..d39dd88 100644 --- a/classes/notification.php +++ b/classes/notification.php @@ -60,6 +60,11 @@ class Notification $sql = "SELECT DISTINCT subscriberIDFK FROM services_subscriber WHERE serviceIDFK IN (" . $this->serviceids . ")"; $query = $mysqli->query($sql); + if (0 === $query->num_rows) { + // skip processing if no one needs to be notified + return; + } + // Create the queue tasks for email/telegram notifications $queue = new Queue(); $queue->status = $queue->all_status['populating']; diff --git a/classes/queue.php b/classes/queue.php index dd8187c..a1836b3 100644 --- a/classes/queue.php +++ b/classes/queue.php @@ -114,7 +114,7 @@ class Queue } // TODO: Fix max attempts for notifications - public function process_queue(){ + public static function process_queue(){ global $mysqli; $stmt = $mysqli->query("SELECT qn.id, qn.task_id, qn.status, qn.subscriber_id, qn.retries, sub.firstname, sub.userID, sub.token FROM queue_notify AS qn INNER JOIN subscribers AS sub ON qn.subscriber_id = sub.subscriberID WHERE qn.status NOT LIKE 2 AND sub.active=1"); while ( $result = $stmt->fetch_assoc() ) { diff --git a/classes/service-group.php b/classes/service-group.php index 933571a..f94fc72 100644 --- a/classes/service-group.php +++ b/classes/service-group.php @@ -153,7 +153,7 @@ class ServiceGroup * Get list of services groups. * @return array $groups */ - public function get_groups() { + public static function get_groups() { global $mysqli; $stmt = $mysqli->query("SELECT id, name FROM services_groups ORDER by name ASC");