die _autoinclude.inc.php ist vorhanden, sollte inhaltlich auch ok sein, habs aber nur überflogen… bin aber auch bald durch mit den Änderungen, ist ein gutes Fingertraining
@axel wie hast du das:
IPS_SetInfo($vid, „this variable was created by script #$IPS_SELF“);
gelöst? außer die global Zeile weg…
Ähmm.
Hallo!
Habe mal das Script von RWN erweitert, da ja bei den Ereignissen teilweise auch Scripte hinterlegt sind:
<?
$search = Array('$IPS_SENDER', '$IPS_SELF', '$IPS_VALUE', '$IPS_VARIABLE', '$IPS_INSTANCE',
'$IPS_EVENT', '$IPS_TRIGGER', '$IPS_OLDVALUE', '$IPS_TARGET', '$IPS_LINK',
'$IPS_REMOTE_ADDR', '$IPS_DIRECTION', '$IPS_DURATION', '$IPS_COMPONENT',
'$IPS_REMOTE_HOST', '$IPS_STATUS', '$IPS_STATUSTEXT' );
$eventIDs = IPS_GetEventList();
$found = false;
$anzahl = 0;
foreach($eventIDs as $id)
{
if($id != $IPS_SELF)
{
$event = IPS_GetEvent($id);
$data = $event['EventScript'];
foreach($search as $befehl)
{
if(!(strpos($data, $befehl) === false))
{
$found = true;
$anzahl++;
echo "Event: ".IPS_GetName($id)." #".$id.", Systemvariable: ".$befehl.", gefunden.
";
}
}
}
}
echo "\rEs sind noch ".$anzahl." Änderungen bei den Events zu machen!
";
$scriptIDs = IPS_GetScriptList();
$found = false;
$anzahl = 0;
foreach($scriptIDs as $id)
{
if($id != $IPS_SELF)
{
$script = IPS_GetScript($id);
$data = file_get_contents(IPS_GetKernelDir()."/scripts/".$script['ScriptFile']);
foreach($search as $befehl)
{
if(!(strpos($data, $befehl) === false))
{
$found = true;
$anzahl++;
echo "Script: ".IPS_GetName($id)." #".$id.", Systemvariable: ".$befehl.", gefunden.
";
}
}
}
}
echo "\rEs sind noch ".$anzahl." Änderungen bei den Scripts zu machen!
";
?>
Gruß,
Christian.
hatte wieder mal Tomaten auf den Augen, hatte das " übersehen, muss auch versetzt werden. war wohl etwas zuviel copy and paste heute :rolleyes:
Bin jetzt bei 0 Änderungen
danke nochmal
Falls bei euch die $IPS_* Variablen nicht korrekt emuliert werden. Hier die Lösung: http://www.ip-symcon.de/forum/f18/falls-ips_sender-andere-ips_-undefiniert-16718/#post145408
paresy
IPS_GetVariableID
Scheint schon in der Version 2.5 nicht mehr verfügbar zu sein, habe sie ersetzten müssen…
Das ist korrekt. Altlasten aus Version 1.0…
paresy
Hallo
Eine Frage für was sind diese Scripten den gut???
Ich verstehe da nur Bahnhof!
Mfg
Es gibt Änderungen an verschiedenen Befehlen und Schreibweisen der Befehle. Die Scripte helfen die betroffenen Teile zu finden.
Gruß
Bruno
Hallo
Heist das dann wenn ich was steuern möchte zbs ein oder ausschalten dann brauche ich einen Script??
und wenn ich da dann einen Fehler machen dann helfen die den fehler zufinden??
Mfg
Wenn du noch keine Skripte geschrieben hast, dann ist das hier quasi ziemlich unwichtig für dich
paresy
Ok ja da hast recht habe keine geschrieben!
Muss ich den für meine Anliegen welche schreiben!
hier der Link!
Beitrag 46!
Hoffe doch nicht oder??
Hallo,
das ist nicht der Beitrag 28 sondern Beitrag 46.
Die Zahl 28 steht für deine geposteten Beiträge hier im Forum.
Upps Danke dir!
…und was ist eigentlich mit den low level Befehlen?
Gibt es auch dort Änderungsbedarf, also wegfallende / ersetzte Befehle per V2.5 mit oder ohne Karrenzzeit bis zur V3.0?
Wie sieht es denn nach dem Wegfall von $IPS_* mit den Globals aus?
$_SERVER
$argv
$_GET
usw?
jwka
Ähm,
wenn $IPS_* wegfällt. Wäre es schön, wenn die Codevorlagen bei Ereignisserstellung auch das neue Array ausspucken würden.
Ich hab seit 2.5 zig Ereignisse angelegt, die ich jetzt alle konvertieren muss.
cu…
Ich habe mir eine ips_preprocessor.php geschrieben, die mir die Rückwärtskompatibilität sichert.
Einerseits bekomme ich so auch schon in den Versionen vor 2.5 ein eigenes Array in den superglobalen $_SERVER / $_ENV zur Verfügung gestellt (und dort rein wird später schlicht $IPS kopiert) und andereseits werden alle $IPS* weiterhin anlegt und stehen wie früher zur Verfügung. Das ganze kann parametergesteuert noch feinjustiert werden.
Binde ich per autoprepend bzw. per include Zeile in alle alten Scripte ein.
Damit werde ich auch die weggefallenen IPS_xxx() Funktionen zur Verfügung stellen.
Neue Scripte kann ich so nach neuen Regeln proggen, aber alte Scripte muss ich nicht (an vielen Stellen) anfassen.
Bei Interesse kann ich das Script zuschicken.
jwka
Das ist ein Fehler. Fix im nächsten Update.
paresy
hi jwka
ich habe ähnliche Probleme mit massig Scripten. Der Ersatz ist nicht einfach der Austausch der Befehle. Ich kann z. B. nicht einfach eine parentID generieren, das ist recht aufwändig… Die Vars sind da schon einfacher. Hier empfehle ich z. B. TextCrawler. (Suche+Ersetzen in allen Scripten auf einen Rutsch).
Das wäre eine gute Idee. Stell es doch einfach in diesen Thread als Script oder Anhang.
Grüße
Fabian