Version 0.9.1
<?php
include_once('_ajax_head.php');
$OUT = new JSON();
$OUT->devices = [];
$file = "$shdir/synonyms";
$fc = file_get_contents($file);
$t = extstr($fc, 'case "$device" in', 'esac');
#echo $t;
$de = explode(';;',$t);
$dev = new stdClass;
foreach($de as $d) {
$d = trim($d);
while ($s = strpos($d,"#") !== false) {
$e = strpos($d,"\n", $s);
#echo "s: $s | e: $e | \n0: ". substr($d,0,$s-1) ."\n1: ". substr($d, $e) ."\n";
$d = trim(substr($d, 0, $s-1) . substr($d, $e));
};
#echo $d ."\n";
$d = str_replace("'",'"',$d);
if(substr($d, 0, 2) == '*)') continue; #skip 'any' case
#echo $d ."\n";
$s = strpos($d,'"');
$e = strpos($d,'"',$s+1);
$id = substr($d, $s+1, $e - $s -1);
$s = strpos($d,'type=');
$s2 = strpos($d,'"',$s);
$e = strpos($d,'"',$s2+1);
$type = substr($d, $s2+1, $e - $s2 -1);
$s = strpos($d,'valueOn=');
$s2 = strpos($d,'"',$s);
$e = strpos($d,'"',$s2+1);
$valueOn = substr($d, $s2+1, $e - $s2 -1);
$s = strpos($d,'valueOff=');
$s2 = strpos($d,'"',$s);
$e = strpos($d,'"',$s2+1);
$valueOff = substr($d, $s2+1, $e - $s2 -1);
$s = strpos($d,'desc=');
$s2 = strpos($d,'"',$s);
$e = strpos($d,'"',$s2+1);
$desc = substr($d, $s2+1, $e - $s2 -1);
$dev->id = $id;
$dev->type = $type;
$dev->valueOn = $valueOn;
$dev->valueOff = $valueOff;
$dev->desc = $desc;
if($id != "0") $OUT->devices[] = clone $dev;
}
exit($OUT);
?>