41 lines
1.2 KiB
PHP
41 lines
1.2 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
require_once 'Notification.php';
|
|
|
|
class NotificationGroup
|
|
{
|
|
protected $notifications;
|
|
protected $realCount;
|
|
|
|
public function __construct(array $notifications, $count)
|
|
{
|
|
$this->notifications = $notifications;
|
|
$this->realCount = $count;
|
|
}
|
|
|
|
public function message() {
|
|
if($this->realCount == 1) {
|
|
return $this->notifications[0]->messageForNotification($this->notifications[0]);
|
|
}
|
|
return $this->notifications[0]->messageForNotifications($this->notifications, $this->realCount);
|
|
}
|
|
|
|
public function __get($attribute)
|
|
{
|
|
if($attribute == 'unread') {
|
|
foreach ($this->notifications as $notification) {
|
|
if($notification->unread)
|
|
return TRUE;
|
|
}
|
|
RETURN FALSE;
|
|
}
|
|
return !empty($this->notifications) ? $this->notifications[0]->{$attribute} : null;
|
|
}
|
|
|
|
public function __call($name, $arguments)
|
|
{
|
|
return call_user_func_array([$this->notifications[0], $name], $arguments);
|
|
}
|
|
}
|