$keys = array_keys($lamps, "1"); if (empty($keys)) { foreach ($item->lamp as $lamp) { switchlamp($lamp["channel"], 1, 50); } } else { $level = $db->querySingle("SELECT dimlevel FROM lamps WHERE id =" . reset($keys) . ";", false); if ($level <= 50) { foreach ($keys as $key => $id) { $lamp = $item->lamp[$id]; switchlamp($lamp["channel"], 1); } } else { foreach ($keys as $key => $id) { $lamp = $item->lamp[$id]; switchlamp($lamp["channel"], 0); } } } break; case "dim_onoff": break; } } else { syslog(LOG_WARNING, "Switch " . $channel . " is disabled in the XML file " . $xmlfile); } } else { syslog(LOG_WARNING, "Switch " . $channel . " was not found in the XML file " . $xmlfile); } if ($LOGGING) { closelog();
<?php $lamp = $_GET['lamp']; $state = $_GET['on']; $xmlfile = "lamps.xml"; $db = new SQLite3("lamps.db", SQLITE3_OPEN_READWRITE); $db->busyTimeout(1000); $db->exec("PRAGMA synchronous=OFF;"); $db->exec("PRAGMA journal_mode=MEMORY;"); $error = 0; if (isset($lamp)) { openlog("noolite-php", LOG_NDELAY, LOG_LOCAL0); include 'switchlamp.php'; if (isset($state)) { if (switchlamp($lamp, $state) < 0) { $error = 1; } } if ($lamp == "0") { $lamps = $db->query("SELECT id FROM lamps WHERE state=1;"); while ($lamp = $lamps->fetchArray()) { if (switchlamp($lamp[id], 0) < 0) { $error = 1; break; } } } closelog(); }