Version 0.9.1

Datei 'www/ajax/change_device.php' Zurück zur Übersicht
<?php
#error_reporting(E_ALL);
#ini_set("display_errors", 1); 
include_once('_ajax_head.php');

$dev = aGET('device');
$p = aGET('p');
$v = aGET('val');

$OUT = new JSON();

$file = "$shdir/synonyms";
$fc = file_get_contents($file);

$t = extstr($fc, 'case "$device" in', 'esac');

$onHold = false;
$found = false;
$exp = explode("\n",$fc);

for($i = 0; $i < count($exp); $i++) {
	#lese jede Zeile einzeln ein
	$d = $exp[$i];
	
	$s = strpos($d,"#");
	if($s !== false) $d = trim(substr($d, 0, $s-1));
	#echo "($s) => $d\n";
	#continue;
	$s1 = stripos($d, '"'. $dev .'"');
	$s2 = stripos($d, ')', $s1);
	if($onHold) {
		$s3 = stripos($d, ';;');
		$s4 = stripos($d, $p .'=');
		
		#echo "$d\n";
		#echo "$i: $s4";
		
		if($s4 !== false) {
			$found = true;
			$exp[$i] = "\t". $p .'="'. $v .'"';
			break;
		}
		
		if($s3 !== false) $onHold = false;
	} elseif($s1 !== false && $s2 !== false) {
		echo "line: $i\n";
		$onHold = true;
	} else {
		#echo "#$i: $s1 | $s2\n";
	}
}

if($found == true) {
	$OUT->found = "true";
	copy($file, "$shdir/.synonyms-". time()); #Sicherung erstellen
	
	$o = "";
	foreach($exp as $e) {
		$o .= $e ."\n";
	}
	
	$file = fopen("$file", "w");
	fwrite($file, $o);
	fclose($file);
} else {
	$OUT->found = "true";
}

/*
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 == $device->val) {
		#copy($file, "$shdir/.synonyms-". time()); #Sicherung erstellen
		
		changeParam($param->val, $value->val);
		$OUT->device[] = clone $dev;
	}
	
	
}
*/
exit($OUT);
?>