Panikanzeige im Webfront

Hallo,

in der Version 2.6 hatte ich hier mittels des Forums eine Panikanzeige per Webfront gebastelt. Jetzt habe ich Version 3 und das Ding geht nciht mehr. Ich bekomme es aber ncht mehr zusammen, wie es funktioniert. In den HTML-Codes steht etwas von „dojo“. Ich kann mich erinnern, dass ich damals sehr lange gebraucht habe, um es ans Rennen zu bekommen.

Hat einer noch dieses Gimmick? Wo kann ich es finden? Gibt es eine andere Möglichkeit, einen Button oder Grafik anzukiclen, die dann eine Aktion im IPS ausführt? Ich habe auch mehrer Browser getestet - bei allen passiert nichts beim Klicken auf die Button oder die Grafiken, wobei hier die Grafiken aktiv sind.

<?

/*
* Kategorie nach Wahl anlegen und
* dieses Skript in der anlegten Kategorie erstellen, Name egal
* Variable (string) mit Profil ~HTMLBox in der Kategorie anlegen und ID in $id_var_panik eintragen
* ID des WebfrontConfigurators in die $id_wfc eintragen, wird nur benötigt für die Demoausgabe in diesem Skript
*
* Das beiliegende Skript panik.php in  /webfront/user kopieren
* Die beiden beiliegenden Grafiken in /webfront/user/icons/fixed kopieren
*
* 1x Ausführen klicken damit Variable mit Content befüllt wird.
*/

$id_var_panik_grafik		= 53418 /*[Scripte\Panikanzeige im Webfront\html - grafiken]*/ ; // ID der Content-Panikvariable
$id_var_panik_button		= 30386 /*[Scripte\Panikanzeige im Webfront\html - button]*/ ; // ID der Content-Panikvariable
$id_wfc 						= 43803 /*[Home]*/ ; // ID des entsprechenden WFC
$do1        			   = 'grafik1';
$do2        			   = 'grafik2';
//$do3        			   = 'button1';
$do3        			   = 'button1';
//$do4        			   = 'button2';
$do4        			   = 'button2';


IPS_SetHidden($_IPS['SELF'], true);

switch ($_IPS['SENDER'])
{
	case 'WebFront':
		// Dummy für Aktualisierung Webfront -> wird hier nicht benötigt
	  	SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
	break;

   case 'RunScript':
			// Rückmeldung auswerten von den beiden Userskripten panik1.php und panik2.php
			SetValue(55689 /*[Scripte\Panikanzeige im Webfront\action]*/ , $action);
        switch ($action)
        {
				case 'panik1':
					// Hier die Aktionen für Panik-Knopf 1
					WFC_SendNotification($id_wfc, "PANIK", $action, "Information", 5);
				break;
				case 'panik2':
					// Hier die Aktionen für Panik-Knopf 1
					WFC_SendNotification($id_wfc, "PANIK", $action, "Information", 5);
				break;
			}
			WFC_SendNotification($id_wfc, "PANIK", $action, "Information", 5);
	break;
	
	case 'Execute':
		// Füllen bei Klick auf ausführen
		$ausgabe = "";
		$ausgabe = '<table style="width: 100%;" cellspacing=0 cellpadding=2><tbody>';
		$ausgabe .=
			'<tr><td align="center" width=50% style="line-height:25px; border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:#3B3B4D;"><div onclick="dojo.xhrGet({ url: \'user/Panik.php?ts=\' + (new Date()).getTime() + \'&ScriptID='.$IPS_SELF.'&do='.$do1.'\' });"><img src="/user/icons/fixed/check_big.png"></img></div></td>
			 <td align="center" width=50% style="border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:#3B3B4D;"><div onclick="dojo.xhrGet({ url: \'user/Panik.php?ts=\' + (new Date()).getTime() + \'&ScriptID='.$IPS_SELF.'&do='.$do2.'\' });"><img src="/user/icons/fixed/check_off_big.png"></img></div></td></tr>';
		$ausgabe .= '</tbody></table>';
		SetValue($id_var_panik_grafik, $ausgabe);
		
		
		// Füllen bei Klick auf ausführen
		$ausgabe = "";
$str = "<table width='90%' align='center'>";
$str .= '<tr>';

$str .= '<td align="center">';
$str .= '<input type="button" name="aktiv" value="Button1" <div onclick="dojo.xhrGet({ url: \'user/Panik.php?ts=\' + (new Date()).getTime() + \'&ScriptID='.$IPS_SELF.'&do='.$do3.'\' });"/>';

//$str .= '<input type="button" name="aktiv" value="EIN" onclick="dojo.xhrGet({ url: \'user/dojo/setvalue.php?id='.$id.'&wert='.$wert.'\' });"/>';

$str .= '<td align="center">';
$str .= '<input type="button" name="aktiv" value="Button2" <div onclick="dojo.xhrGet({ url: \'user/Panik.php?ts=\' + (new Date()).getTime() + \'&ScriptID='.$IPS_SELF.'&do='.$do4.'\' });"/>';
$str .= '</td>';
$str .= '</tr>';


$str .= '</table>';



		SetValue($id_var_panik_button, $str);

	break;
}





?>

Die Panic.php sieht so aus:

<?php

$ScriptID = $_GET['ScriptID'];
$Action   = $_GET['do'];

if ($ScriptID > 0)
{
    IPS_RunScriptWaitEx((int)$ScriptID, array('action' => $Action) );
}
?> 

dojo.xhrGet kann durch folgenden Quellcode ersetzt werden: window.xhrGet=function xhrGet(o) {var HTTP = new XMLHttpRequest();HTTP.open(‚GET‘,o.url,true);HTTP. send();};window.xhrGet

Musst du seit der 3.0 anders machen. Der alte Trick mit dojo geht nicht mehr.

paresy

Hallo paresy,

Der alte Trick mit dojo geht nicht mehr.

Ok. Dann bin ich ja zunächst etwas beruhigt, dass ich nicht zu blöd dafür bin.

Musst du seit der 3.0 anders machen.

Wie muss es denn jetzt gehen? Gibt es dafür Ansätze und technische Voraussetzungen? Fehlt noch externes Handwerkzeug?

Steht in meinem Zitat oben.

paresy

Danke. Hat dennoch nicht gleich geklappt. Nach einigem Probierens mussten noch die beiden ’ vor dem GET noch per \ in meinem Script maskiert werden.

Also

dojo.xhrGet

durch

window.xhrGet=function xhrGet(o) {var HTTP = new XMLHttpRequest();HTTP.open(\'GET\',o.url,true);HTTP. send();};window.xhrGet

ersetzen.