-
Notifications
You must be signed in to change notification settings - Fork 33
Doku Entwickler Meldungen UserPanel
Inhaltsverzeichnis
-
Schnittstelle für Meldungen/Benachrichtigungen im User Panel
- Mapper
- Models
- Hinzufügen einer Meldung
- Aktualisieren einer Meldung
- Abfragen der Meldungen eines Moduls
- Löschen von Meldungen
- Prüfen ob ein Modul noch die Erlaubnis hat Meldungen einzutragen
- Prüfen ob ein NotificationModel gültig ist
- Auflistung aller Funktionen der Mapper
- Auflistung der Eigenschaften der Models
Auf der Startseite im Benutzer-Panel werden Meldungen angezeigt, die über diese Schnittstelle eingetragen wurden. Die Benutzer können hier die Meldungen löschen oder dem Modul die Erlaubnis zum Eintragen von Meldungen entziehen.
Modules\User\Mappers\Notifications
Modules\User\Mappers\NotificationPermission
Modules\User\Models\Notification
Modules\User\Models\NotificationPermission
Es können wie folgt Meldungen eingetragen werden:
$notification = new AdminNotificationModel();
$adminNotificationsMapper = new AdminNotificationsMapper();
$notification->setModule('away');
$notification->setMessage('Testmessage3');
$notification->setURL('http://www.google.de');
$notification->setType('awayAdminNewEntry');
$adminNotificationsMapper->addNotification($notification);
Der Funktion addNotification() wird ein NotificationModel übergeben, in dem Werte für "Module", "Message", "URL" und "Type" gesetzt wurden. "Module" dient der Zuordnung einer Meldung zu einem Modul. "URL" bietet sich an um z.B. eine bestimmten Seite des Moduls zu verlinken. "Type" kann genutzt werden um die Meldung als eine eines bestimmten Typs kenntlich zu machen. Beim erstmaligen Aufruf von addNotification() bekommt das Modul automatisch die Erlaubnis Meldungen einzutragen.
Meldungen können aktualisiert werden. Jedoch bleibt der ursprüngliche Zeitstempel bestehen.
$notificationsMapper = new NotificationsMapper();
$notificationModel = new NotificationModel();
$notificationModel->setId(2);
$notificationModel->setModule('awards');
$notificationModel->setMessage('Testmessage3');
$notificationModel->setURL('http://www.google.de');
$notificationsMapper->updateNotificationById($notificationModel);
Der Funktion updateNotificationById wird ein NotificationModel übergeben, in dem der Wert für "Id" gesetzt wurde, sowie "Module", "Message", "URL" und "Type", falls diese aktualisiert werden sollen.
Es gibt verschiedene Funktionen zum Abfragen der Meldungen. Hier einige Beispiele:
$notificationsMapper = new NotificationsMapper();
$notification = $notificationsMapper->getNotificationsSortedByDateType($this->getUser()->getId())
$notification = $notificationsMapper->getNotificationById(1);
$notifications = $notificationsMapper->getNotificationByModule('article', $this->getUser()->getId());
$notifications = $notificationsMapper->getNotifications($this->getUser()->getId())
$notifications = $notificationsMapper->getNotificationsByType('newArticle', $this->getUser()->getId())
$notificationsMapper = new NotificationsMapper();
$notificationsMapper->deleteNotificationById(1, $this->getUser()->getId())
$notificationsMapper->deleteNotificationsByModule('article', $this->getUser()->getId())
$notificationsMapper->deleteNotificationsByType('article', 'newArticle', $this->getUser()->getId())
$notificationPermissionMapper = new NotificationPermissionMapper();
$notificationPermissionMapper->getPermissionOfModule('article');
Die Funktion isValidNotification() prüft die Werte "Module", "Message" und "URL".
$notificationsMapper = new NotificationsMapper();
$notificationModel = new NotificationModel();
$notificationModel->setModule('article');
$notificationModel->setMessage('Testmessage1');
$notificationModel->setURL('http://www.google.de');
if ($notificationsMapper->isValidNotification($notificationModel)) {
// gültig
}
Es gibt noch weitere Funktionen, welche allerdings nicht von einem Modul aufgerufen werden sollten.
Modules\User\Mappers\Notifications
https://github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/user/mappers/Notifications.php
public function getNotificationById(int $id)
public function getNotifications(int $userId)
public function getNotificationsSortedByDateType(int $userId)
public function getNotificationsByModule(string $module, int $userId)
public function getNotificationsByType(string $type, int $userId)
public function isValidNotification(NotificationModel $notification)
public function addNotification(NotificationModel $notification)
public function addNotifications(array $notifications)
public function updateNotificationById(NotificationModel $notification)
public function deleteNotificationById(int $id, int $userId)
public function deleteNotificationsByModule(string $module, int $userId)
public function deleteNotificationsByType(string $module, string $type, int $userId)
Modules\User\Mappers\NotificationPermission
https://github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/user/mappers/NotificationPermission.php
public function getPermissionById(int $id)
public function getPermissions()
public function getPermissionsNotGranted()
public function getPermissionsOfModule(string $module, int $userId)
public function updatePermissionGrantedOfModule(string $module, int $userId, bool $granted)
public function updatePermissionGrantedOfModuleType(string $module, string $type, int $userId, bool $granted)
public function updatePermissionGrantedById(array $ids, int $userId, bool $granted)
public function addPermissionForModule(NotificationPermissionModel $permissionModel)
public function addPermissions(array $permissionModels)
public function deletePermissionOfModule(string $module, int $userId)
public function deletePermissionForType(string $module, string $type, int $userId)
public function deletePermissionsById(array $ids, int $userId)
public function deleteOtherPermissionsOfModule(int $id)
Modules\User\Models\Notification
https://github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/user/models/Notification.php
- Id
- Timestamp
- UserId
- Module
- Message
- URL
- Type
Modules\User\Models\NotificationPermission
https://github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/user/models/NotificationPermission.php
- Id
- UserId
- Module
- Type
- Granted
Dokumentation für ilch 2 | Content-Management-System | Copyright © 2004-2024 by ilch.de
-
Inhaltsverzeichnis
Hier findet man u.a. die Installationsanleitung, sowie Fehler- und Problem-behebungen
-
Inhaltsverzeichnis
Hier findet man Informationen zum Script, Konzept und dem Programmierstil
-
Inhaltsverzeichnis
Hier findet man Informationen über den Aufbau und Anpassung von Layouts und Modulen
-
Inhaltsverzeichnis
Hier findet man einige Video-Tutorials um und mit unserem CMS