Bitte so nicht verwenden. Erklärung hier: https://www.symcon.de/forum/threads/41717-Notification-Control-Push-Notification-Queue?p=427791#post427791
Ich hab mal auf die Schnelle was zusammengebastelt, falls jemand das auch brauchen kann und es die Funktion nicht nativ geben wird.
PushNotification (Script)
<?php
// InstanzID ID des WebFront Konfigurators
// Titel Titel der Meldung (maximal 32 Zeichen). Kann auch leer sein.
// Text Text der Meldung (maximal 256 Zeichen).
// Sound Wird in den Apps ab Version 3.0.6 ausgewertet
// TargetID Es kann beim Öffnen der Push Nachricht direkt zu einem Objekt gesprungen werden. (ab Version 5.0)
function PushNotification($InstanzID, $Titel, $Text, $Sound, $TargetID){
$result = WFC_PushNotification($InstanzID, $Titel, $Text, $Sound, $TargetID);
if ($result == false){
$queue = IPS_GetChildrenIDs($GLOBALS['PushNotificationID']);
$queuecount = count($queue);
$varID = IPS_CreateVariable (3);
IPS_SetParent($varID,$GLOBALS['PushNotificationID']);
IPS_SetName ($varID, $queuecount);
setvalue($varID,$InstanzID.",".$Titel.",".$Text.",".$Sound.",".$TargetID);
}
}
?>
Check-Queue (Script wird zyklisch aufgerufen)
<?php
$queue = IPS_GetChildrenIDs(ips_getparent($_IPS['SELF']));
foreach ($queue as &$value) {
if ($value != $_IPS['SELF']){
$string = GetValueString($value);
$data = explode(',',$string);
$InstanzID = $data['0'];
$Titel = $data['1'];
$Text = $data['2'];
$Sound = $data['3'];
$TargetID = $data['4'];
$result = WFC_PushNotification($InstanzID, $Titel, $Text, $Sound, $TargetID);
if ($result == true){
IPS_DeleteVariable ($value);
}
}
}
?>
Benutzung:
<?php
include('31693 /*[Include\PushNotification]*/.ips.php');
$GLOBALS['PushNotificationID'] = 31693 /*[Include\PushNotification]*/;
PushNotification(123456 /*[WebFront]*/, 'Info', 'Queue Test', '', 0);
?>
Werden die Zeile include und GLOBALS in die __autoload.php eingetragen, so ist die Funktion als Befehl PushNotification genau gleich wie WFC_PushNotification einsetzbar. Oder man trägt die zwei Zeilen nur in die Scripte ein, in denen es auch verwendet wird um den Overhead zu reduzieren.
Struktur der Scripte:
Grüße
Stefan