function raspberrypi_controller()
{
    global $mysqli, $session, $route, $user;
    include "Modules/raspberrypi/raspberrypi_model.php";
    $raspberrypi = new RaspberryPI($mysqli);
    $result = false;
    // html views
    if ($route->format == 'html') {
        if ($route->action == "config" && $session['write']) {
            $result = view("Modules/raspberrypi/raspberrypi_view.php", array('settings' => $raspberrypi->get()));
        }
        if ($route->action == "api" && $session['write']) {
            $result = view("Modules/raspberrypi/raspberrypi_apipage.php", array());
        }
    }
    // JSON api
    if ($route->format == 'json') {
        if ($route->action == "set" && $session['write']) {
            $result = $raspberrypi->set($session['userid'], $user->get_apikey_write($session['userid']), get('fields'));
        }
        if ($route->action == "get" && ($session['read'] || $_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR'])) {
            $result = $raspberrypi->get();
        }
        if ($route->action == "setrunning" && ($session['write'] || $_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR'])) {
            $result = $raspberrypi->set_running();
        }
        if ($route->action == "getrunning" && $session['read']) {
            $result = $raspberrypi->get_running();
        }
    }
    return array('content' => $result);
}
Esempio n. 2
0
    echo "Already running\n";
    die;
}
$basedir = str_replace("/Modules/raspberrypi", "", dirname(__FILE__));
chdir($basedir);
// 1) Load settings and core scripts
require "process_settings.php";
// 2) Database
$mysqli = new mysqli($server, $username, $password, $database);
$redis = new Redis();
$redis->connect("127.0.0.1");
// 3) User sessions
require "Modules/user/user_model.php";
$user = new User($mysqli, $redis, null);
include "Modules/raspberrypi/raspberrypi_model.php";
$raspberrypi = new RaspberryPI($mysqli);
include "Modules/packetgen/packetgen_model.php";
$packetgen = new PacketGen($mysqli, $redis);
$raspberrypi->set_running();
$settings = $raspberrypi->get();
$apikey = $settings->apikey;
if (!$settings->userid) {
    $settings->userid = 1;
}
$session = array();
$session['userid'] = $settings->userid;
$group = $settings->sgroup;
$frequency = $settings->frequency;
$baseid = $settings->baseid;
// Create a stream context that configures the serial port
// And enables canonical input.