예제 #1
0
                $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();
예제 #2
0
<?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();
}