| | |
| | | <?php |
| | | namespace JVBase\managers; |
| | | |
| | | use JVBase\Instance; |
| | | use JVBase\managers\Notifications\Content; |
| | | use JVBase\managers\Notifications\EmailDigests; |
| | | use JVBase\managers\Notifications\Notifications; |
| | | use JVBase\managers\Notifications\Preferences; |
| | | use JVBase\rest\Rest; |
| | | use JVBase\rest\routes\NotificationsRoutes; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; // Exit if accessed directly |
| | |
| | | */ |
| | | class NotificationManager |
| | | { |
| | | use Instance; |
| | | protected Notifications $notifications; |
| | | protected Content $content; |
| | | protected EmailDigests $digest; |
| | | protected Preferences $preferences; |
| | | |
| | | public function __construct() |
| | | protected Rest $route; |
| | | private function __construct() |
| | | { |
| | | $this->route = NotificationsRoutes::getInstance(); |
| | | |
| | | $this->notifications = new Notifications(); |
| | | $this->content = new Content(); |
| | | $this->digest = new EmailDigests(); |
| | |
| | | return $this->notifications->markActioned($userID, $notification_id, $result); |
| | | } |
| | | |
| | | public function getNotificationTypes(bool $all = false):array |
| | | { |
| | | return $this->notifications->getNotificationTypes($all); |
| | | } |
| | | |
| | | /************************************************ |
| | | * CONTENT NOTIFICATIONS |
| | | * These are pooled notifications of new content for: |